General | Description | Requirements | Readings | Topics | Policies | Schedule |
Time: Monday and Wednesdays, 11 AM - 12:15 PM
Location: 173 Macy, Teacher's College. Map.
Instructor: Bert Huang.
Office hours Wednesday 2-4 PM, CEPSR 624 (or by appointment)
TA: John Graham jwg2116 Office hours Sunday 1-3 PM, TA Room. Map.
TA: Lauren Pully lep2128, Office hours Friday 11 AM - 1 PM, TA Room
TA: Yipeng Huang, yh2315, Office hours Wednesday 4-6 PM, TA Room
Courseworks site (message board
etc.):
http://courseworks.columbia.edu/
Course Homepage (this page):
http://www.cs.columbia.edu/~bert/courses/1007/
From the university bulletin: The second course for majors in computer science. A rigorous treatment of object-oriented concepts using Java as an example language. Development of sound programming and design skills, problem solving and modeling of real world problems from science, engineering, and economics using the object-oriented paradigm.
(This list is not in any particular order, nor is it comprehensive. It should however provide an idea of what the course will cover.)
The course will have five homework assignments distributed throughout the semester. Each will be a combination of programming problems and written problems.
There will be a midterm exam and a final exam. Both will be closed book and closed notes.
The final grade will be a weighted sum of the following:
Homework that is submitted late without permission will be
penalized according to the following formula:
(Penalized score) = (Your raw score) * (1-0.1*(# of days past
deadline))
For example, if your raw score is 10 points and you submit two days
late, your penalized score will be 10*(1-(1-0.1*2)) = 10*(1-0.2) =
8.
This formula will apply for up to three days, after which, the homework will not be accepted and will receive a grade of zero. Avoid invoking these penalities by starting early and seeking extra help.
Read through the department's policies on academic honesty, located at http://www.cs.columbia.edu/education/honesty/, especially the section on procedures and penalties. In this course all work is to be done individually. Note that academic dishonesty is extraordinarily easy to catch in computer science.
Click here for the slides directory. And click here for some example code.
# | Date | Topics | Readings and Assignments |
---|---|---|---|
1 | Jan. 20, 2010 | Introduction | Course survey (1 point extra credit on final grade!) |
2 | Jan. 25, 2010Java review, Programming style | Horstmann Ch. 1. Cunix help | |
3 | Jan. 27, 2010Design tools (UML, CRC cards, Use cases) | Horstmann Ch. 2 | |
Feb. 1, 2010 | Class canceled; Distinguished Lecture | ||
4 | Feb. 3, 2010Designing classes, programming by contract, more examples | Homework 1 assigned. Horstmann Ch. 3 | |
5 | Feb. 8, 2010Introduction to Java graphics | Code. Horstmann Ch. 4 (4.6-4.9) | |
Feb. 10, 2010 | Horstmann Ch. 4 (4.1-4.5, 4.10) | ||
6 | Feb. 15, 2010Interfaces and Polymorphism | ||
7 | Feb. 17, 2010Introduction to programming patterns | Homework 1 due at 11 AM. Homework 2 assigned. Example menu file menuFile.txt | |
8 | Feb. 22, 2010Java GUI programming | ||
9 | Feb. 24, 2010Java GUI programming continued | Horstmann Ch. 6 | |
10 | Mar. 1, 2010Inheritance and hierachy | Horstmann 7.1-7.4 | |
11 | Mar. 3, 2010Types in Java (the hierarchy of Java) | Homework 2 due. Horstmann 7.1-7.4 | |
12 | Mar. 8, 2010Midterm review | ||
Mar. 10, 2010 | Midterm Exam | ||
Spring Break | |||
13 | Mar. 22, 2010The Object Class | Homework 3 assigned. Horstmann 7.5-7.6 | |
14 | Mar. 24, 2010Generics | Horstmann 7.6-7.7 | |
15 | Mar. 29, 2010Frameworks | Horstmann 8.1-8.3 | |
16 | Mar. 31, 2010Case study: Graph Editor Framework | Horstmann 8.4 | |
17 | Apr. 5, 2010Multithreading | Homework 3 due at 11 AM. Homework 4 assigned. Horstmann 9.1 | |
18 | Apr. 7, 2010Multithreading continued | Horstmann Ch. 9 | |
19 | Apr. 12, 2010Data Structures, the Collections Framework | ||
20 | Apr. 14, 2010More Data Structures | ||
21 | Apr. 19, 2010Leftover Design Patterns | Homework 4 due at 11 AM. Homework 5 assigned. Horstmann Ch. 10 | 22 | Apr. 21, 2010Networking |
23 | Apr. 26, 2010More Networking | ||
24 | Apr. 28, 2010Recursion, OOP and CS | ||
25 | May 3, 2010Final review | Homework 5 due at 11 AM. | |
26 | May 10, 2010Final exam. 9AM-noon |