CSC 161 Computer Science II
A second course in object-oriented programming, emphasizing design and implementation of efficient, well-constructed programs using Java. Topics include graphical user interfaces, polymorphism, exception handling, stream and file I/O, algorithms for searching and sorting, recursion, linked lists, stacks, and queues. Extensive programming required. Laboratory. Prerequisites: CSC 160 or one year H.S. programming in Java; MTH 121 or higher or appropriate placement.
My office is in Carnegie Hall 311 B. You can stop by in person, or call my office at 630-637-5174. If I am not at the office and you need immediate attention, you can call me at home at 630-759-2110. You can email me at firstname.lastname@example.org.
Course Textbook and Schedule of Topics
The class text is Tony Gaddis and Godfrey Muganda, Starting Out With Java: From Control Structures to Data Structures Addison Wesley, third edition.
The course topics will be covered more or less as shown in the following table. This is my best estimate, and this schedule will likely be adjusted as the term progresses.
|1||GUI applications, Inheritance||Chapters 10, 15|
|2||GUI applications, Inheritance||Chapters 10, 15|
|3||Recursion, Sorting, and Searching||Chapters 16, 17|
|5||Linked lists||Chapter 20|
|6||Stacks and Queues||Chapter 21|
|7||Binary Trees||Chapter 22|
|8||Exception Handling and Stream IO||Chapter 11|
Homework Assignments will be 45\% of course grade. There will be quizzes (7%), two tests (14% each) and a final exam (20%).
Tests will be in class. The tests will be at the end of week 3 and at end of week 6. The final exam will be on the last day of summer term. Quizzes will be given periodically at the end of a class session: there will be at least 2.
Policy on Late Assignments
Homework must be submitted electronically by email by midnight on the due date. Late homework is penalized at 10 %. In reality, this penalty is usually not imposed if the homework is submitted before I have completed grading homework submitted on time. Late homework will not be graded after I have completed grading the following assignment : For example, I will not grade late submissions of homework 3 if they are submitted after I am finished grading homework 2. The last assignment must be submitted on time.
Quality of Written Assignment
All work on homework will be graded for correctness first, and secondly, for quality of documentation and presentation, and efficiency. Make sure your code is readable and neatly formatted.
All work on the in-class tests must be done without any assistance from anybody, and you may not use cell phones or any electronic devices on the closed book part of the tests. On the online part of the tests, you may use lab computers, or your own laptop if you prefer. You may not email, use a cell phone, or otherwise communicate with anybody else during a test.