COSC 112: Introduction to Computer Science II
course materials for Spring 2021
Welcome to the Spring 2021 edition of COSC 112: Introduction to Computer Science II! Here, you will find links to course materials and assignments. Please start by reading the course syllabus.
Notes and Resources
Week 01 (Feb. 15–19)
Week 02 (Feb. 22–26)
- Recursion, Chapter 10 in Java Programming (available on course Moodle site)
- Recursive Fractals
- A Recursive Image
- How Slow is Recursive Fibonacci?
Week 03 (March 1–5)
- IYI Binary, Hanoi and Sierpinski, part 1 (link to YouTube video)
- describes an iterative approach to solving the Tower of Hanoi puzzle
- IYI Collatz Conjecture
- Writing Classes to Define Objects, Chapter 15 in Java Programming
- Defining New Objects
Week 04 (March 8–12)
- The Euclidean Algorithm
- Floating Point Numbers (link to Computerphile YouTube video)
Week 05 (March 15–19)
Week 06 (March 22–26)
Week 11 (April 26–30)
Week 12 (May 3–7)
Balance.zip
Program using a stack to check a bracketed expression is balanced.
Week 13 (May 10–14)
Maze.zip
Program demonstrating depth-first and breadth-first strategies for solving mazes.
Slides
Lecture Slides
- Lecture 01: Course Introduction
- Lecture 02: Recursion I
- Lecture 03: Recursion II
- Lecture 04: Recursion III
- Lecture 05: Objects I
- Lecture 06: Objects II
- Lecture 07: Objects III
- Lecture 08: Objects and Memory
- Lecture 09: More Objects and Memory
- Lecture 10: Object Inheritance
- Lecture 11: Inheritance and Polymorphism
- Lecture 12: Polymorphism
- Lecture 13: Casting and
Object
s - Lecture 14: Objects and Lists
- Lecture 15: Linked Lists
- Lecture 16: Generic Linked Lists
- Lecture 17: Generic Linked Lists
- Lecture 18: Interfaces
- Lecture 19: Stacks
- Lecture 20: Stacks Continued
- Lecture 21: Stacks and Balanced Expressions
- Lecture 22: Queues
- Lecture 23: Mazes
- Lecture 24: More Mazes
- Lecture 25: Mazes and States
Lab Slides
Lab Assignments
- Lab 01: Hello, Graphics! (Due 2/19/21)
- Lab 02: Graphics + Recursion = Fractals (Due 2/26/21)
- Lab 03: Bouncing Disks (Due 3/19/21)
- Lab 04: Exceptions (Due 3/26/21)
- Lab 05: Monte Carlo (Due 4/16/21)
- Lab 06: Disk Game (Due 4/30/21)
Projects
- Project 01: Conway’s Game of Life (Due 3/12/21)
- Project 02: Substitution Cipher (Due 4/9/21)
- Project 03: Stable Matchings (Due 5/28/21)