Department of Computer Science
Pomona College
CS 51 - Introduction to Computer Science
Spring 2010

instructor: Dave Kauchak
e-mail: [first_initial][last_name]@cs.pomona.edu
office hours: Edmunds 221
  Mon. 1:30-3pm, Tue. 2:30-4pm and Wed. 10:30am-12
  and by appointment


TAs: Aaron Fong, Sam Konowitch and Maria Zhu
office hours: Edmunds 229
  Sun. 6:30-8:30pm
  Mon. 3-5pm

time: T/Th 1:15-2:30pm
location: Millikan 134
lab: Fri 1:15-4pm
lab location: Edmunds 229
web page: http://www.cs.pomona.edu/classes/cs051/

textbook:

general information:
Computer Science 51 is an introduction to programming using the Java programming language. By the end of this course you should have a good basic understanding of how to develop (design, code, and debug) medium-sized programs in Java, and have a basic understanding of how one might analyze programs for correctness and efficiency.

We do not assume you have had any previous programming experience for this course. If you have had extensive previous experience, cs52 or cs62 might be more appropriate. Feel free to discuss this with myself or any of the other CS faculty.

administrivia


Schedule

Note: This is a tentative schedule and is subject to change
DateTopicReadingProblemsComments
1/19admin, java basics, graphics,
event handling, instance variables
   
1/21methods, parameters, numbers constantsCh. 1, 21.9.3 
1/22Lab 1 - No Clicking (pdf)  Due 11pm 1/25
1/26conditionals, random numbersCh. 3, 41.6.3, 2.7.7 
1/28booleans, colors, primitive typesCh. 54.2.2 
1/29Lab 2 - Laundry (pdf)  Due 11pm 2/1
2/2primitive types, classes, constructorsCh. 64.8.6, 5.3.1 
2/4methods, parameters, variablesCh. 7, 85.7.2, 5.7.6, 6.9.1 
2/5Lab 3 (pdf)  Due 11pm 2/8
2/9control constructs, active objectsCh. 98.6.2, 7.1.2 
2/11more active objects, more complex loops 9.10.1, 9.11.1 
2/12Lab 4 (pdf)  Due 11pm 2/15
2/16interfacesCh. 10, Ch. 11.79.11.2 
2/18keyboard input, GUIsCh. 1110.5.1, 10.5.2 
2/19Lab 5 (pdf)  Due Tuesday
11pm 2/23
2/23more GUIs 11.4.2, 11.4.3 
2/25recursionCh. 1211.9.2 
2/26Lab 6 (pdf)  Due 11pm 3/1
3/2more recursion
Sample midterm
 12.1.8, 12.1.9TP1 (pdf)
Due 6pm 3/12
3/4recursion/review 12.1.10, 12.1.13 
3/5Lab 7 (pdf)  Due 11pm 3/8
3/9midterm   
3/11No class   
3/12No lab - TP1 due at 6pm!   
3/16Spring break   
3/18Spring break   
3/19Spring break   
3/23inheritanceCh. 17  
3/25arraysCh. 1417.8.1, 17.5.1 
3/26No lab - Cesar Chavez   
3/30more arrays 14.2.2 
4/1multidimensional arraysCh. 1514.9.3 
4/2Lab 8 (pdf)  Due 11pm 4/5
4/6multidimensional arrays 15.4.4 
4/8stringsCh. 1615.4.1 
4/9Lab 9 (pdf)  Due Tuesday
11pm 4/13
4/13more strings 16.5.2TP2 (pdf)
4/15exceptionsCh. 1816.5.9 
4/16Lab 10 (pdf)  Due 11pm 4/19
4/20file I/OCh. 1918.9.3 
4/22streams 19.7.2, 19.7.3TP2 design due 1:15pm
4/23Lab 11 (pdf)   Due 11pm 4/26
4/27network
Sample Final
   
4/29sorting/asymptoticsCh. 2019.7.5 
4/30Lab 12 (pdf)  Due 11pm 5/3
5/4review  TP2 due 5pm
Final on Monday, May 10 at 2:00pm.

Resources

The following documents provide information on the standard Java libraries and additional libraries developed for this course: