CS 205 Course Materials, Fall 2020
CS 205 Course Materials
Fall 2020
General
Resources
-
java4python. This is a quick introduction to
Java for those who already know Python.
-
Think Java, 2nd edition, How to Think Like a
Computer Scientist.
-
Java, Java, Java: Object-Oriented Problem
Solving, focusing on object-oriented design principles.
-
Introduction to
Programming Using Java.
This is a free book, covering a lot of Java basics, for anyone wanting a
complete Java textbook. Chapter 6 is a nice treatment of GUI
programming.
-
Java 8 API
Specification
-
Google Java
Style, Google's coding standards for source code in Java.
- JavaDoc
Reference
- Eclipse development environment how-tos:
- Violet UML Editor:
Local
installation instructions,
Downloads,
EXE file for Windows, JAR file for other platforms. Also available on
phoenix.
Topics
Unless stated otherwise, readings refer to the Object Oriented Design
and Patterns textbook available in Canvas.
- Lab 0A: Java;
one class day, start Aug. 25, due Aug. 31
Read: Chapter 1. Also
read java4python, skipping the
following: Sections 2.3 and 3.3, all of Chapter 4, and Sections 4, 5,
and 8 of Chapter 5.
Handout: Lab 0A
Notes
Starter code: lab0aStarter.zip
- Lab 1: Object-Oriented Design; one class day, start Aug. 27, due
Sept. 2
Read: Chapter 2
Handout: Lab 1
- Lab 0B: Java --- GUI Programming; one class day, start Sept. 1, due
Sept. 9
Read: Review Chapter 1
Handout: Lab 0B
Starter code: lab0bStarter.zip
- Project: Part 1; two class days, start Sept. 3, due Sept. 9
Handout: Project Part 1
- Project: Part 2; four class days, start Sept. 10, due
Sept. 23
Handout: Project Part 2.
MUDV1
See the YouTube
how-to above if you don't know how to create a new Java project in
Eclipse, or if you don't know how to create new class files in Eclipse.
Day 4 notes
- Lab 2: Interface Types and Polymorphism; two class days, start
Sept 24, due Sept. 30
Read: Chapter 4
Handouts: Lab 2,
class diagram
Starter code: lab2Starter.zip
Day 1 notes,
Day 2 notes
Example of how a PathIterator would be
used
- Lab 3: Patterns and GUI Programming; three class days, start
Oct. 1, due Oct. 12
Read: Chapter 5
Handouts: Lab 3,
Lab 3 Text Example,
Lab 3 Graph Example,
class diagram
Day 1 notes
- Project: Part 3; three class days, start Oct. 13, due
Oct. 21
Handout: Project Part 3.
Notes 1.
guiDemo.zip, an Eclipse project archive that
demonstrates several basic GUI elements.
A
Visual Guide to Swing Components. I found this using the Google
search string
java swing tutorial site:edu
I encourage you to use this and other web resources to get ideas and
implementation specifics for your project's GUI.
- Lab 4: Multithreading; two class days, start Oct. 22, due
Oct. 28
Read: Chapter 9
Handout: Lab 4
Starter code: lab4Starter.zip
- Project: Part 4; three class days, start Oct. 29, due
Nov. 9
Handout: Project Part 4.
- Project: Part 5; three class days, start Nov. 10, due
Nov. 20
Handout: Project Part 5.
Last updated May 26, 2021.
Send mail to kelliher[at]goucher.edu
Tom Kelliher