COMS S1004

Introduction to Computer Science and Programming in Java

Summer 2007

Announcements

Solutions for the Theory part of homework #4 have been posted.

We have posted some practice questions for the exam. A list of concepts that you should know is also available.

Chris will have extra office hours from 3-5pm on Wednesday, June 27.

The Programming part of Homework #4 is due at 5:30pm Wednesday, June 27. Late submissions will not be accepted.

Teaching Staff

Instructor: Chris Murphy (cmurphy@cs.columbia.edu)
Office hours: MW 3:30-4:30pm, 608 CEPSR (or by appointment)

TA: Hila Becker (hila@cs.columbia.edu)
Office hours: TR 4-5pm, 6LE1 CEPSR

Syllabus (Tentative)

Date Topics Covered Reading Notes Assignments
May 21 Introduction to Computer Science
Algorithms
S&G 1-2 slides  
May 23 Introduction to Java
Java datatypes
L&L 1-2 slides
CUNIX notes
Calculator.java
Common Errors
 
May 28 NO CLASS - MEMORIAL DAY      
May 30 Loops
Conditionals
L&L 3, 5 slides
in-class assignments
RandomTest.java
RockPaperScissors.java
Programming #1 due
(FarmerBrown.java)
Jun 1 Computer organization
Von Neumann architecture
S&G 4-5 slides
 
Jun 4 Object-oriented programming
L&L 4, 6.1-6.4 slides
Dice.java
BankAccount.java
Theory #1 due
(Solutions)
Jun 6 Arrays
Exceptions
L&L 7 Dice.java (revised)
in-class assignments
Card.java
Deck.java
Homework #2 due
(GuessingGame.java)
(PrimeFactors.java)
(Theory Solutions)
Jun 11 Review of object-oriented programming
System software
Assembly languages
S&G 6 slides
Deck.java (revised)
 
Jun 13 Exceptions revisited
Reading and writing text files
Recursion
L&L 10.1-10.3,
11.1-11.2
TryCatch.java
TryCatch2.java
Timer.java
ReadFile.java
WriteFile.java
Fib.java
 
Jun 18 Interfaces
Polymorphism
L&L 6.5, 9.4-9.5 slides
Shape.java
Square.java
Triangle.java
ShapeDriver.java
Student.java
StudentDriver.java
Homework #3 due
(Theory Solutions)
Jun 20 Computer Networking S&G 7 slides
 
Jun 25 Java odds & ends
Exam review
  slides
Theory #4 due
(Solutions)
Jun 27 Final exam     Programming #4 due

For the readings, "S&G" means Schneider & Gersting, Invitation to Computer Science, 3rd edition. "L&L" means Lewis & Loftus, Java Software Solutions, 5th edition.

Class Policies
Exams

There will be an in-class final exam on the last day of classes. No makeup exams will be given.

 
Grading Grades will be assigned using the following guidelines:
Homework 60%
Final Exam 40%
 
Late Policy Because of the tight schedule, it is important that assignments be submitted on time. Homeworks may not be submitted after the deadline.
 
Academic Honesty Please familiarize yourself with the Computer Science Department's academic honesty policy.


cmurphy@cs.columbia.edu