COMS S1004

Introduction to Computer Science and Programming in Java

Summer 2008

Announcements

A collection of exam review questions is available here. The TAs will use this during the exam review session on Monday.

Office hours for the upcoming week are as follows:
Thurs 6/26: Aditi 7:30-8:30pm
Fri 6/27: Chris 12-2pm (TA room); Milind 2-3pm
Mon 6/30: Milind 3-5pm
Tue 7/1: Aditi 7:30-8:30pm
Wed 7/2: Milind 12-1pm

A list of concepts that you should know for the final exam is now available; the list also contains the different classes and methods you should know, too.

Homework #4 is now available. You may find it useful to look at the Java API documentation.

Please take a look at this document for a review of how to use CUNIX to do your Java assignment. Additional tutorials for using CUNIX can be found here and here.

Useful tools: PuTTY and WinSCP for Windows; Fugu for Mac.

Teaching Staff

Instructor: Chris Murphy (cmurphy@cs.columbia.edu)

TA: Aditi Rajoriya (ar2630@columbia.edu)

TA: Milind Nimesh (mn2353@columbia.edu)

Syllabus (Tentative)

Date Topics Covered Reading Notes Assignments
May 28 Introduction to Computer Science
Algorithms
S&G 1-3 slides  
May 30 Introduction to Java
Java datatypes
L&L 1-2 slides
CUNIX notes
FunWithMath.java
Calculator.java
DoubleCalculator.java
Common Errors
 
Jun 2 Loops
Conditionals
L&L 3, 5 slides
OddsEvens.java
TestRandom.java
ClosestString.java
 
Jun 4 Binary Numbers
Encoding
Boolean Circuits
S&G 4 slides
Programming #1 due
(FarmerBrown.java)
Jun 9 Object-oriented programming
L&L 4, 6.1-6.4 slides
Dice.java
SimpleDiceGame.java
BankAccount.java
BankAccountTest.java
Theory #1 due
(Solutions)
Jun 11 Von Neumann architecture
System software
Assembly languages
S&G 5-6 slides Homework #2 due
(Theory Solutions)
Jun 16 More object-oriented programming
Arrays
L&L 7 slides
ExceptionTest.java
 
Jun 18 Exceptions
Reading and writing text files
Encoding & encryption
L&L 6.5, 10.1-10.3 slides
TryCatch.java
FileReader.java
MyFileWriter.java
Homework #3 due
(Theory Solutions)
Jun 23 Interfaces & Polymorphism
Recursion
L&L 9, 11.1-11.2 slides
Fib.java
Shape.java
Rectangle.java
Triangle.java
ShapeDriver.java
Student.java
MinFinder.java
 
Jun 25 Computer Networking S&G 7 slides
 
Jun 30 Java odds & ends
Exam review
    Homework #4 due
(Solutions)
Jul 2 Final exam      

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