[Home] [Syllabus] [Assignments] [Resources]
While I will do my best to update the web site according to changes, it is a student's responsibility to keep track of the problem set due dates and reading assignments. If you are not sure about due dates, please don't hesitate to ask.
Both the midterm and the final exams are open book, open notes.
Note that the date for the midterm exam is set and will not change. If you have a conflict with this date, please let me know right away.
All reading is from Stephen J. Chapman "Java for Engineers and Scientists ", Second Edition, unless specified otherwise.
Monday | Wednesday | Friday |
---|---|---|
Week 1: January 12 -- January 16 | ||
Introduction. Computer programs, compilation and interpretation. Reading: Ch. 1. |
Java applets and applications. Syntax of a program. Data representation in a computer, numbers, expressions. |
Print statements, displaying images. Compiling and running simple Java
programs (lab).
Problem set 1 posted: modifying simple Java programs. Due Friday, January 23rd |
Week 2: January 19 -- January 23 | ||
Martin Luther King Jr Holiday -- no class |
Java types, variable declarations, assignment statements. Reading: Ch. 2 except 2.3, 2.7, 2.8.2. |
Arithmetic expressions. Reading data in a Java application. Lab on
reading data. Problem set 1 due Problem set 2 posted: arithmetic calculations in Java. Due Friday, January 30th. |
Week 3: January 26 -- January 30 | ||
Java classes, objects, methods. Void methods and those
returning a value. Creating objects, using methods. Passing parameters
to methods. Reading: 2.3, Ch. 8 (up to 8.4 only). |
Java APIs and libraries. Java classes String,
StringBuffer, and Date . Data representation in
computer memory.
|
Lab on using pre-defined Java classes. Problem set 2 due Problem set 3 posted: working with pre-defined Java classes. Due Friday, Feb. 6th |
Week 4: Feb. 2 -- Feb. 6 | ||
Relational operators. Boolean type, boolean expressions. If/else
statement. Reading: 2.2.3, Ch. 3. |
Examples of if/else statements. Scope of variables in inline blocks. Switch statement. |
Lab on if/else statements. Problem set 3 due Problem set 4 posted: if/else statements. Due Friday, Feb. 13th. |
Week 5: Feb. 9 -- Feb. 13 | ||
Loops. Reading: Ch. 4. |
Examples of loops, nested loops. Debugging a program with infinite loops. |
Lab on loops. Problem set 4 due Problem set 5 posted: loops. Due Friday, Feb. 20th. |
Week 6: Feb. 16 -- Feb. 20 | ||
Arrays. Array representation. Reading: Ch. 5 (up to 5.4 only), lecture notes on vectors. |
More examples of arrays. Passing arrays to procedures and methods. |
Vectors. Problem set 5 due Problem set 6 posted: arrays and vectors. Due Friday, Feb. 27th. |
Week 7: Feb. 23 -- Feb. 27 | ||
Structure of a class. Defining your own classes, writing methods and
procedures. Reading: Ch. 6, 7 (up to 7.5). |
More on methods; recursion. |
Lab on writing methods. Problem set 6 due Problem set 7 posted: writing your own methods and procedures; recursion. Due Friday, March 19th. |
Week 8: March 1 -- March 5 | ||
Review for the midterm exam. | Midterm exam. Covers material up to Friday, Feb. 27th. |
static variables and methods. Examples.Reading: 7.11. |
March 8 -- March 12: SPRING BREAK, NO CLASSES | ||
Week 9: March 15 -- March 19 | ||
Inheritance. Access modifiers (private, protected, public).
Method overwriting. Reading: Ch. 7.6, 7.7, Ch. 9. |
Interfaces. |
Polymorphism. Generic programming. Vectors revisited.
Typecasting, dynamic
dispatch. Type wrappers for primitive types. Problem set 7 due Problem set 8 posted: inheritance, use of vectors. Due Friday, March 26th. |
Week 10: March 22 -- March 26 | ||
More on Java pre-defined classes:
Java graphics. Example: displaying a drawing on an applet. Reading: Ch. 12. |
More on understanding APIs: drawing shapes and displaying text. Lab on Java graphics. |
Graphical User Interfaces
(GUI). Java Swing package. Reading: Ch. 13. |
Week 11: March 29 -- April 2 | ||
Stages of software development. Project overview. Two-dimensional arrays. Reading: Ch. 11. Problem set 8 due Problem set 9 posted: Project, part 1; Java graphics. Due Friday, April 9th. |
More on project components: Java events, event handlers. |
More on GUIs, event handlers. |
Week 12: April 5 -- April 9 | ||
Overview of other GUI components. Reading: Ch. 14. |
Project questions and answers. |
Program control: error handling, Java exceptions. Reading: Ch. 10.1 Problem set 9 due Problem set 10 posted: Project, part 2; Java exceptions. Due Friday, April 16th. |
Week 13: April 12 -- April 16 | ||
File I/O. Reading: Ch. 2.8, 5.5, 10.2, 16.1-16.4; 8.6. |
Project questions and answers. |
Formatting input data; String tokenizers. Problem set 10 due Problem set 11 posted: Project, part 3; File I/O. Due Monday, April 26th. |
Week 14: April 19 -- April 23 | ||
"Packaging" a software product; Applets on the Web. Reading: Ch. 15, 7.9. |
Creating your own packages. |
jar utility.
|
Week 15: April 26 -- April 30 | ||
Memory allocation and management. Java garbage collection, finalizers.. Reading: 7.10. Problem set 11 due |
Comparison of Java with C, C++. | Review and wrap-up. |
Final exam: Friday, May 7th, 4-6pm |