CS 205 Course Materials, Fall 2024
CS 205 Course Materials
Fall 2024
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.
Project Programming Pairs
- Eddie and Luisa
- Dillon and Pierre
- Sergey and Mikolaj
- Lillian and Charlie
- Lucas and Justin
- Sadie and Daniel
- Ray and Darnell
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. 22
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; two class days, start Aug. 27
Read: Chapter 2
Handout: Lab 1
- Lab 0B: Java --- GUI Programming; one class day, start
Sept. 3
Read: Review Chapter 1
Handout: Lab 0B
Starter code: lab0bStarter.zip
- Project: Part 1; three class days, start Sept. 5
Handout: Project Part 1
- Project: Part 2; four class days, start Sept. 17
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.
IMPORTANT: Be sure to do this
-- Configuring Eclipse to Use
Java 8 and Creating a new Java Project.
Day 4 notes
- Lab 2: Interface Types and Polymorphism; two class days, start
Oct. 1
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. 8
Read: Chapter 5
Handouts: Lab 3,
Lab 3 Text Example,
Lab 3 Graph Example,
class diagram
Day 1 notes
- Project: Part 3; four class days, start Oct. 22
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 Nov. 5
Read: Chapter 9
Handout: Lab 4
Starter code: lab4Starter.zip
- Project: Part 4; three class days, start Nov. 12
Handout: Project Part 4.
Notes
- Project: Part 5; four class days, start Nov. 21
Handout: Project Part 5.
Last updated August 22, 2024.
Send mail to kelliher[at]goucher.edu
Tom Kelliher