CS242
ADVANCED PROGRAMMING CONCEPTS IN JAVA
FALL 2010
Lecturer: James F. Lynch
Office: SC-381
Office hours: M 11:30–12:30 (note the change),
F 9:15AM–11:15AM, W 10:15AM–11:15AM
Telephone: 268-2374
email: jlynch@clarkson.edu
Required Text: Effective Java
by Joshua Bloch
Prentice Hall, ISBN 978-0321356680
Book Homepage
The following text is also good, but it’s not required.
Suggested Text: Ivor Horton's Beginning Java 2, JDK 5 Edition
by Ivor Horton
Wiley Publishing, Inc, ISBN 978-0764568749
Book
Homepage
The text is available online at
Books 24x7 through the Clarkson Library.
It is also available for ACM members
at the ACM Professional Development
Centre
Other sources of useful information:
Online Resources
Code Conventions
Code Examples
The following is not a text. It’s
an outstanding online tutorial for learning Java.
Java Tutorials
Lecture hours: MW 2:00PM–2:50PM, SC–348
Labs: Section 10, F 2:00PM–2:50PM,
SC–334
Section 20, F 3:00PM–3:50PM,
SC–334
Clarkson ITL Schedule
(The lab is usually open evenings and weekends, but not always. You can check by calling ext. 2346 to see if
anyone’s there.)
OBJECTIVES
The course will
teach students essential programming methodologies for designing and writing
interactive, graphics-based applications.
Topics will include object-oriented programming, graphical user
interfaces, exception handling, multithreading, and networking.
ASSESSMENT
Grading will be based on homework assignments and exams. Homework assignments will consist of programming projects that will also serve as preparation for the exams.
You may do the lab assignments individually or with a partner. You may work individually or with different partners on different assignments.
Exams will be closed book and closed notes, except that you may bring one standard 8½" × 11" paper with your notes on it.
Of course, everyone is encouraged to ask questions and discuss the lab assignments either in the lab or outside of class, but the work that you submit should be your own. (Or if you are working with a partner, the work should be yours and your partner’s, and not anyone else’s.) Plagiarism on a lab assignment or exam will result in a zero for the first infraction, and an F for the course on any succeeding infraction.
|
Programming projects |
39% |
|
Three hourly exams |
36% |
|
Final exam |
25% |
There will be 11 programming projects. Each one will be assigned on Monday and due the following Monday, except for the weeks of the fall break and Thanksgiving. The lab class on the Friday before the due date will be an opportunity to work on the lab and ask questions. All labs will be equally weighted, but your three lowest lab grades will be dropped when your course grade is computed. Late labs will not be accepted.
HOURLY EXAM DATES
|
Wednesday, September 15 |
FINAL EXAM SCHEDULE
|
Thursday, December 9, 3:15 PM, SN 177 |
PROGRAMMING PROJECTS
|
Lab |
Due Date |
|
August 30 |
|
|
September 6 |
|
|
September 20 |
|
|
September 29 |
|
|
October 11 |
|
|
October 18 |
|
|
October 25 |
|
|
November 8 |
|
|
November 22 |
|
|
December 3 |
SYLLABUS
|
|
|
|
|
|
|
Introduction, overview of course, basics of
Java |
Chapter 1 |
|
|
|
Object basics |
Chapter 2: Items 1–6 |
|
|
|
Classes |
Chapter 4: Items 18, 19 |
|
|
|
Classes |
Chapter 4: Items 13, 14 |
|
|
|
Exceptions |
Chapter 9: Items 57, 58, 59, 60, 65 |
|
|
|
Stream I/O |
||
|
|
File I/O |
||
|
|
File I/O |
|
|
|
|
Serialization |
Chapter 11:
Items 74, 75, 76 |
|
|
|
Threads |
Chapter 10: Items 66, 67 |
|
|
|
GUI Programming: Windows |
||
|
|
GUI
Programming: Event Handling |
|
|
|
|
GUI
Programming: Graphics |
|
|
|
|
GUI
Programming: Graphics |
|
|
|
|
GUI
Programming: Advanced Graphics |
|