|
|
|
Week |
Topic, Objectives and Readings |
Assignment & Materials |
|
|
|
|
| | |
1 |
- Topic: Review++: Review of basic
programming and introduction to functions
- Objective: Demonstrate proficiency with basic
programming techniques, including functions
- Contents: loops, conditionals, arithmetic and
functions. Following specs and why they are
important.
- Readings: Chapters 1 – 4 of the book
|
|
|
|
|
2 |
- Topic: Classes and Methods
- Objective:
Demonstrate understanding of objects, its basic
components and the main method
- Contents: Objects, Memory/references, classes,
member variables and methods, and the public
and private modifier.
- Readings: Chapter 5: Defining Classes and
Methods, Encapsulation, Objects.
|
- Assignment: Create
an enhanced Array object that
can provide statistics such as
sum, max, min and average.
- Assignment: Create an object
that
represents a contact and then
another object that represents
a contact book.
- Quiz: Trace a program
|
|
|
|
3 |
- Topic: Classes and Methods II
- Objective: Demonstrate
understanding of objects, how they are built and
utilized
- Contents: Objects, private, public and package
modifiers; static vs. non-static variables
- Readings: Chapter 6: Constructors, Static
Variables and Methods, Overloading, Packages.
|
- Assignment: Create classes
for three Robots that act
differently depending on how
you treat them. Have the user
interact with them until they
are happy.
- Quiz: Trace a program
|
|
|
|
|
4 |
- Topic: Searching and Sorting
- Objective: Evaluate searching and sorting
techniques; Show proficiency implementing
bubble sort and binary search.
- Contents: Bubble, insertion and selection sort.
Sequential and binary search.
- Readings: Chapter
7: Arrays, in Classes and Methods, Searching,
Sorting, MultiDimensional.
|
- Assignment: Implement a
sort algorithm comparison as
well as a search comparison.
How many comparisons are
performed on average?
- Assignment Implement an
object that is able to sort an
array.
|
|
|
|
5 |
- Topic: Two Dimensional Arrays
- Objective: Demonstrate proficiency utilizing
two dimensional arrays
- Contents: 2D arrays, checking for boundaries
and contents of cells
- Readings: Chapter 7.
|
- Assignment:
Implement Bubble sort on a
two dimensional array. This
algorithm should sort the 2d
array given a column to sort
on.
- Assignment: Implement the
minesweeper game.
- Quiz: Trace a program
|
|
|
|
6 |
- Topic: Recursion
- Objective: Demonstrate understanding of
recursion as a programming technique
- Contents: Recursion: fibbonacci, binary search,
factorial. Do the same without recursion.
- Readings: Chapter 11: Recursion Basics
|
- Assignment: TBD. (Binary
search with an array of objects
that represents a contact.
Basically enhance the search
function of your ContactBook
object)
- Midterm Quiz
|
|
|
|
7 |
- Topic: Strings and Wrapper Classes
- Objective: Demonstrate understanding of
wrapper objects (Integers, Characters, Double,
Math) and proficiency using Strings
- Contents: When to use wrapper classes; String
operations to find and parse text
- Readings:
|
- Assignment: Create an object
that given a line of an HTML
String it extracts the text and
the tag.
- Assignment: Have the user
enter an arithmetic operation
and perform the computation.
|
|
|
|
8 |
- Topic: Errors and Exception Handling
- Objective: Be able to handle exceptions
correctly when necessary.
- Contents: try,catch,finally; throws. When to
throw and when to catch.
- Readings: Chapter 9.1: Exception Handling.
|
- Assignment: Handle the
input of numbers
- Quiz.
|
|
|
|
9 |
- Topic: Input and Output
- Objective: Demonstrate understanding of input
and output and its uses
- Contents: Reading and writing text files,
reading and parsing from the web.
- Readings: Chapter
10.1-10.4: File I/O. Supplementary material I/O
from the web.
|
- Assignment: Read contacts
from a file and create an
address book.
- Assignment: Allow
the contact book to add new
contacts and delete contacts.
Then save.
- Assignment: Have an object
that reads
the songs in a playlist and also
reads their information from
MusicBrainz
|
|
|
|
10 |
- Topic: Inheritance and Polymorphism
- Objective: Demonstrate understanding of the
effects of inheritance in java objects.
- Contents: Inheritance, protected variables,
instanceof, extends.
- Readings: Chapter 8: Inheritance,
Polymorphism.
|
|
|
|
|
11 |
- Topic: Inheritance and Polymorphism II
- Objective: Demonstrate understanding of
Interfaces and Abstract classes.
- Contents: Interfaces, Abstract classes, classes
with inheritance via extends and implements.
- Readings: Chapter 8: Inheritance,
Polymorphism, Interfaces, and Abstract Classes.
|
|
|
|
|
12 |
- Topic: GUI Programming
- Objective: Demonstrate understanding of basic
GUI objects, layouts.
- Contents: Swing, AWT, JFrame, JTextArea,
JButton, JLabel.
- Readings: TBD
|
|
|
|
|
13 |
- Topic: GUI Programming II
- Objective: Show proficiency with GUI
objects and demonstrate understanding of event
handling.
- Contents: Events, Event handlers, inner classes,
file chooser. Intro to delegate pattern.
- Readings: .
|
|
|
|
|
14 |
- Topic: Linked Lists
- Objective: Show understanding of this basic
data structure: The linked list
- Contents: Linked lists: adding, removing and
moving elements in a linked list
- Readings:
|
|
|
|
|
15 |
- Topic: Advanced topics
- Objective: Demonstrate understanding of the
MVC pattern and
demonstrate basic understanding of the delegate
pattern
- Contents: Interfaces applied to GUIs, MVC and
delegate pattern in GUIs.
- Readings: Java SE Application Design with
MVC
|
|
|
|
|
|
|
|
|
|
|
|
|