Title: cps261F15 Learning Units
Course: CPS 261: Advanced Java Concepts ~ DL & MM MASTER

cps261F15 Learning Units
chasselb
 |  | Add Objectives to Learning Units

Resources

JH1, JH2, ... JH7 Homework definition files
Java 8 API
Topic Web Site
Text Book Examples
Startup

Clem Hasselbach Introduction Page
Course Introduction
Syllabus (9 min)
Class Policy
How to get a good Grade
Video Features
Discussion Board/Class Participation(15m)
Asignments
You now know enough to do JH0
1 cps161 review: Interfaces, Polymorphism, Exceptions

Interfaces and Polymorphism (15 min)
The "Tools" folder at the bottom contains refresher information from cps161 on using Eclipse, Java and JING

The remainder of this section on Interfaces, Polymorphism, and Exceptions
are repeat notes/videos from cps161

The following Chess video is a nice example of polymorphism. However, if you already understand polymorphism,
this video doesnt really cover anything new and it is a bit long.
Chess Polymorphism (45 min)
Exceptions Basics (49.5 min)
Exception Heirarchy and Strategy (47.5 min)
Checked Exceptions (37 min)
Java Exceptions Optional Learning Unit
2 ArrayList/Generics (beginning Data Structures), Input/Output

Beginning ArrayList Concepts (16.5 min)
ArrayList Intro & MyArrayList(40m)
Generics(30m)
PrintStream Scanner Examples - basics
PrintStream Scanner Constructors
More complicated Scanner data
Buffering Performance (10.5 min)
You now know enough to do JH1
3 Input/Output continued

ObjectOutputStream / ObjectInputStream (26 min)
Pausable Tic Tac Toe using Serializable
File Class
Recursion using File class
Alternative to Recursion: Stack Approach
RandomAccessFile class (26 min)
Character Stream Classes (16 min)
System Properties
You now know enough to do all of JH2
4 Drawing Basics

Drawing Basics(45m)
Drawing Sizing(49m)
Drawing Images(52m)
You now know enough to the first 2 problems in JH3
5 User Inputs and Animation

User Input Mechanisms(48m)
Animation and Simple Threads(38m)
Shape Drawing(50m)
GUI Component High Level(27m)
You now know enough to do all of JH3
6 Gui Components

Gui Component Basics(44m)
GUI LayoutManagers(24m)
GUI Menus(14m)
GUI More Book Examples(27m)
Gui Additional Examples(33m)
You now know enough to do all of JH4
Midterm Procedures and Hints
Please take the Midterm ... See the schedule in Blackboard
Advanced Web Features - Very Useful, but Optional video
7 Threads & Networking

How to be a good programmer
Thread Fundamentals(22m)
Thread Synchronization(26m)
Thread Wait Notify capabilities(40.5m)
Networking: TCP/IP and Basic Sockets
Networking: Better Server Model
Networking: Sample Protocol Handlers
JH5 Help(12m)
You now know enough to do the File Server question in JH5
8: Networking continued & Networked Games

Networking Extra Odds and Ends(33m)
MVC, gameNet High Level(40m)
gameNet interfaces(26.5m)
Tic Tac Toe(31m)
Zip of Networked Game Collection
gameNet java documentation (using javaDoc)
Optional Maize and Shoot (improved) zip file
You now know enough to do all of the questions in JH5.
The last question in JH5 asks you to discuss your plans for the JH7 project.
At this point you have covered the theory. In the following section (9),
you will see several sample programs that give you more examples.
Focus on the one that seems closest to what you want to accomplish.
9: Networked Games

Rock, Paper, Scissors(26.5m)
Chess with no brains(38.5m)
Quick Click - Threaded game(26m)
Pong(28m)
Networked Drawing Program(31m)
10: Data Structures: Generics, Collection, List

Since we will be covering data structures, it would be helpful to
review the material in Section 2 on ArrayLists and Generics.
Optional Video: java.util.Array.java(42m) - skip on your first reading (i.e. won't be on the final) and is here for completeness
Collection and List Interfaces(53m)
Performance: List Interface(21m)
Performance: Algorithms(25m)
LinkedList Implementations(49m)
11 - Data Structures: Performance, LinkedList, Set

Set Basics(36.5m)
Set Examples(21m)
MyHashSet(34m)
Stack Parenthesis Checker - Help for MP6 (16.5 min)
You now know enough to do JH6
12 - Data Structures: HashSet, Maps, Summary

MyTreeSet Data Structure (37.5 min)
More Tree Theory (39.5 min)
Map - SortedMap Interfaces(52m)
Cross Reference Program (12 min)
Data Structure Summary(8m)
Final Hints
Please take the Final
13 - Fun Things, Extra Content (these extras are not on the final)

Running Java Programs outside of Eclipse
Playing Sounds in Java
JUnit Testing - Basics
JUnit Testing - Extras
Regular Expressions - String methods
Regular Expressions - Matching
Regular Expressions - Substrings
Recursion and Stacks basics(48.5m)
Recursion: Towers of Hanoi
N-Queens Recursion vs. Stack Algorithm(32m)
Maize Stack Algorithm(40.5m)
14 - Graphics2D Fun Things, Extra Content (these extras are not on the final)

Zip Project containing all of the Graphics2D programs
BasicStroke class
Animation techniques
Dashes
Shape Concepts
Shape Fill Options
Transformations using AffineTransforms
Composition
More Composition Examples
Clipping
Demo approaches: Moving Star
More Demos -- mostly a review
Tools

Jing
Development Environment
Eclipse Goodies - Eclipse features that will be useful to you
Eclipse Debugger - Become friends with the Debugger if you have had trouble getting programs to work
Optional Video: Command Line Java Development Environment