COMS S1004

Introduction to Computer Science and Programming in Java

Summer 2009

Announcements

Statistics for homeworks #1-4 are available in the Discussion Board in CourseWorks.

If you are interested in learning more about using Eclipse and its features, please contact Swapneel. We may arrange a brief tutorial (outside of class) if there is enough interest.

Chris will have office hours Weds Jul 1 from 3-5pm in 608 CEPSR.

A list of concepts and Java API methods that you should know for the final exam are listed here. Practice questions are available here, and solutions are here.

Teaching Staff

Instructor: Chris Murphy (cmurphy@cs.columbia.edu); office hours: Weds 3-5pm, 608 CEPSR

TA: Swapneel Sheth (swapneel@cs.columbia.edu); office hours: Mon 11am-1pm, 608 CEPSR

TA: Suhas Prakash (sp2704@columbia.edu); office hours: Thu 5-7pm, 122 Mudd

Syllabus (Tentative)

Date Topics Covered Reading Notes Assignments
May 27 Introduction to Computer Science
Computing and Society
Intro to Algorithms
S&G 1-2, 15 slides  
May 29 Comparing Algorithms
Introduction to Java
Intro to object-oriented programming
S&G 3
Hor 1.1-1.4,
1.8, 2.1-2.5
slides  
Jun 1 More object-oriented programming
Java datatypes
Hor 2.6-2.7,
3.1-3.5, 4.1-4.6
slides
BankAccount.java
BankAccountTest.java
Project proposal due
Jun 3 Programming environments
Common programming mistakes
In-class programming exercise
Hor 1.5-1.7 slides
Circle.java
FarmerBrown.java
in-class assignment
(Solution: Balloon.java and BalloonTest.java)
Jun 8 Loops
Conditionals
Hor 5.1-5.4,
6.1-6.5
slides
Simulator.java
SimulatorTest.java
Homework #1 due (solutions)
Homework #2 due (solutions)
QuadraticEquation.java
QuadraticEquationSolver.java
QuadraticEquationTest.java
Jun 10 Binary numbers
Encoding
S&G 4 slides  
Jun 15 Arrays
Exceptions
File I/O
Hor 7.1-7.7
11.1, 11.4-11.5
slides
FileReaderAndAdder.java
Homework #3 due (solutions)
CreditCard.java
CreditCardVerifier.java
CreditCardTest.java
Jun 17 Von Neumann architecture
System software
S&G 5-6 slides
OS history slides
 
Jun 22 Debugging
Software testing
Java odds & ends
Hor 2.8, 3.6, 6.6 software testing slides
software engineering slides
Homework #4 due (solutions)
LetterCounter.java
FileReader.java
FrequencyAnalysis.java
FrequencyAnalysisTest.java
Jun 24 Computer networking
S&G 7 slides
Internet history slides
Project papers due
Jun 29 Exam review
  slides
Homework #5 due (solutions)
Person.java
FriendTracker.java
FriendProgram.java
Jul 1 Final exam      

For the readings, "S&G" means Schneider & Gersting, Invitation to Computer Science (Java version), 3rd edition. "Hor" means Cay Horstmann, Big Java, 3rd 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 50%
Research Project 15%
Final Exam 35%
 
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