Content Developed for CSC212
On this page, I have content created for the course.
Current students: back to the Moodle
I created almost all assignments from scratch in this course, developed on Github. Looking for a link? Check Moodle or Piazza first if you’re a student. This page is mostly for students who already took CSC212 and want to revisit some of the assignments.
Assignments (Officially on Moodle):
All assignments developed for this course are likely publicly available on Github from previous semesters. Past versions are listed below, but if you are reading and/or coding ahead, be aware that I make updates to them before officially assigning them each year.
- Guessing Game: Environment configuration, introduction to Java syntax.
- Aquarium: Construct classes with complex behaviors in a simulated Aquarium.
- Fish Grid: Solve small list problems and explore a class hierarchy.
- Spooky Mansion (Maps/Graphs): Practice overriding and implementing custom behavior.
- Abstract Data Types with JUnit: Explore Map, Set, and List data types with an introduction to JUnit.
- List Implementations: Implement ArrayList, SinglyLinkedList, DoublyLinkedList and ChunkyArrayList.
- Sorting: Implement Selection, Insertion and Merge Sorts.
- Spell Checking Performance Analysis: Compare and contrast various data structures for spell-checking.
- Blank Starter Code for Final Project: Undertake your own project by yourself or with a group.
Additional Materials Developed:
- Course Examples: Workspace for examples used and developed for slides.
- Calculator AST: Example of a customized tree for computing numeric values from our introduction to trees lecture. Starting point for Logic final project.
- TicTacToe: Example of a Tic-Tac-Toe game built on the GFX library used to introduce enums.
- GFX: Graphics Library: Simplify access to Swing’s Graphics2D library for animation (Aquarium, Fish Grid). Students need not use this directly.