ICS 80J Fall 2003
Introduction to Java for C++ Programmers
Course Schedule
Norman Jacobson, Instructor
This schedule gives, in order, the topics we will cover. We will move through the topics at a pace that covers them sufficiently in lecture before they are applied in lab assignments. If we cover the basics before quarters end, well move into more advanced topics.
Readings in Horstmann corresponding to each topic are given in braces after the topic description. A number X refers to a complete chapter X; a number of the form X.Y refers to chapter X, section Y.
- Introduction to the course [1.1-1.5]
- Compiling, linking and executing Java programs [1.6-1.10]
- Basic Java by example: averaging test scores [2; 7; 8.1-8.2]
- Objects
- Data abstraction
- Fields
- Methods
- Importing libraries
- Public v. private
- Basic parameter passing and return values
- Scope rules
- Basic testing techniques
- Details on basic types and statements[3]
- Decision statements[4]
- Loops and simple loop algorithms[6]
- Interclass communication
- Value and reference parameters[review 7.4]
- Recursion[17]
- Arrays and classic array algorithms[13]
- Static arrays
- Arrays and loops
- ArrayLists and Vectors
- Parallel and multidimensional arrays
- Using arrays as parameters and return types
- Nested data structures
- The list ADT[19.1-19.3]
- Lists as arrays or vectors
- Singly and doubly linked lists
- Designing a list class
- Iterators
- Inner classes
- Files & exception handling[14; 15]
- Inheritance and polymorphism[11]
- Access control: public, private, protected and class qualifiers
- The Object class
- Cloning
- Applets & graphics[4; 10; 12]
- Applets, the browser and HTML
- Introduction to event handling
- Introduction to GUIs
...and more advanced topics as time permits
Midterm Exam: Tuesday, November 4, 2003 (in lecture)
Final Exam: Tuesday, December 9, 4:00-6:00 pm (in the lecture room)