Syllabus for SI 615 sec 1 - OOP & D Using Java
Jan 7 - Chapter 1, 5.1 - Computers and how they work
Language of the computer - binary
Basic computer architecture - ALU, I/O, memory
Von Neumann model - stored program and data
Low level and high level language
Compiling vs interpreting source code
Jan 9 - Chapter 2 - Programming paradigms and programming style
Sequential
Structured
Procedural
Modular
Object Oriented
Parallel
Distributed
What is Java?
Writing programs in Java
Jan 14 - Chapter 3.1 through 3.4, 5.2 - The P in OOP - doing it in Java
Basic data types
Declaring and using variables
Java Operators
Arithmetic
Comparison
Logical
Bitwise
Assignment
Operator Precedence
Jan 16 - Chapter 3.5 through 3.8, 5.3, 5.4 - The P in OOP - doing it in Java (2)
Control structures in Java
Making choices - if, else, switch
Looping - do, while, for
Jan 21 - Chapter 4: 4.4 - The P in OOP - doing it in Java (3)
Writing methods
When do you need to write a method?
Designing methods
Parameters
pass by value
pass by reference
Returning values from methods
Jan 23 - Chapters 4 and 6.1 - The O in OOP - Objects in Java
Writing classes in Java
Encapsulation
Exploring the classes in the API
Jan 28 - Chapter 7 - Using objects - (encapsulation, inheritance,
polymorphism, and abstraction at work)
The Graphics class
Drawing shapes
Drawing images
The Color class
The Font class
Setting type, style, and size
Getting font info (FontMetrics)
Jan 30 - Chapter 8 - Inheritance
Making new classes from old ones
Polymorphism
Feb 4 - Chapter 9 - The O in OOP - Objects in Java (2)
Abstract classes and methods
Writing interfaces in Java
Creating packages in Java
Feb 6 - Java applet basics
Applets vs applications
Security and applets
The Applet class and its parent classes
Your applet and the browser
Applet tag
Methods for Milestones - init() start() stop() destroy()
Feb 11 - CRC modeling and Chapter 11 - The D in OOD
Feb 13 - CRC modeling practicum - The D in OOD (2)
Feb 18 - Java classes for building UIs - Containers and Components
java.awt.*
Feb 20 - Chapter 10.5 - 10.6 - Containers and putting stuff in them
Absolute positioning
FlowLayout
BorderLayout
CardLayout
GridLayout
GridBagLayout and GridBagConstraints
Writing your own Layout Manager
Programming assignment 8 - List the components, containers, and layout
managers you will need for your project and
draw the containment hierarchy
Feb 25 -
Feb 27 - Putting them all together
Helper classes - Insets, Cursor, MediaTracker
Designing UIs revisited
Creating UIs in Java
Three ways to add Components
Common component problems
Common layout problems
Programming assignment 9 - Create your UI
Feb 28 - Mar 8 -
Mar 11 - Chapter 10.2 - Bringing your UI to life - handling events
Types of events
Event Listener interfaces
Event Adaptor classes
Event classes
Mar 13 - Bringing your UI to life - handling events (2)
Designing UIs re-revisited
Deciding which events to handle
Deciding which component should handle the event
Implementing your design decisions
Programming assignment 10 - Add event handling to your project
Mar 18 - Images and Animation
Theory of animation
Effects of frame rate
Flicker
Clipping
Practice of animation
Drawing animation
Animation with images
Controlling animation with Threads - run()
Mar 20 - Chapter 14.2 - Using interfaces - (encapsulation, inheritance,
polymorphism, and abstraction at work again)
More on Threads
Threads and the Runnable interface
Sound and the AudioClip interface
Mar 25 - Chapter 14.1 - Exception handling - theory
What are exceptions?
Why the programmer has to handle them
Kinds of exceptions
Advantages for program design
Java's exception class hierarchy
Mar 27 - Exception handling - practice
try blocks
catch - where the event is handled
finally blocks - cleaning up after your code
Rethrowing exceptions
Throwing your own exceptions
Programming assignment 11 - Grade a classmate's program and work on
your project
Apr 1 - Strings StringBuffer and StringTokenizer classes
Exploring the String class
Creating Strings
Changing Strings to numeric values
Changing numbers to Strings
Getting input from the user in applets and applications
Methods for manipulating strings
Apr 3 - Reading and writing files
Apr 8 - Chapter 13 - Sorting and searching
Apr 10 - Communications
Thread - thread
Applet - applet
Applet - browser
Applet - web
Apr 15 -
Apr 17 -