CS 112 - Introduction to CS II - Summer I, 2015

[Resources | Staff Contact Information |Course Schedule ]


Staff Contact Information



Wayne Snyder
      Email: waysnyder@gmail.com

     Office: MCS 147
     Office Hours: M - W 7-9pm
      Cell Phone: 617 - 966 - (210 + 41) (email vastly preferred)

Teaching Fellow:


Course Schedule

Back to Top

Lecture Topic
Lecture Slides and Code Examples
Homeworks and Tests
T 5/19

Overview of Course & Course Policies; Motivational Lecture: Two algorithms for searching an array---algorithm, implementation, analysis, and experiments




W 5/20

Introduction to Java: compilation vs interpretation, expression-oriented vs statement-oriented, and types; increment and decrement operators, control structures; break and continue;

Array type

Read Ch. 1 of Java; in Ch. 2 read about expressions; increment/decrement operators (++ and --); control structures (emphasize if, while, and for); also read about the array data type


Used the board and Dr. Java!



HW01 Part A Solutions: HTML

R 5/21 Defining a static class; The words static, public, & private; Defining and using methods; Local variables vs fields; Scope of variables and fields; Defining objects (non-static classes); Object-Oriented design

Please read about "break," "continue," and "return" on pp.52-54, and then read the sections on "Methods" and on "Classes" and "Objects" which starts on p.64 and read through to p.69.

Then go back and read about local variables in the section starting on p. 45.

Used the board and Dr. Java!

Homework Two: HTML

HW02 Part A Solutions: HTML

3 T 5/26     Used the board and Dr. Java!    
4 W 5/27

Stack and Queues;



Read first subsection of "Reference Types" on "Copying Objects and Arrays";

Optional: Read about "Ring Buffers" on Wikipedia

Used the board and Dr. Java!

Collection.java (must complete for HW 03)

Collection2.java (Ditto)

Stack.java (example for HW03)

Queue.java (must complete for HW 03)

MaxQueue.java (must complete for HW 03)

5 R 5/28 Reference types: How are the variables for arrays and objects different than for primitive types?   Used the board!    
6 M 6/1

Implementing Queues with Ring Buffers.

Generic Data Types


Lecture on Ring Buffer Queues and Deques and Priority Queues: PDF

Lecture on Java Generic Data Types: PDF




HW04 Part A Solutions: HTML

7 T 6/2 Introduction to Sorting and Asymptotic Analysis   Lectures on Sorting, Asymptotic Analysis, and Mergesort: PDF    
8 W 6/3 Asymptotic Analysis and Sorting Continued   (same lecture continued)    
9 R 6/4 Sorting Concluded   Lecture on Quicksort etc: PDF    
10 M 6/8 MIDTERM

Sample Midterm (shorter than usual, yours will have 7 problems): PDF

Midterm Solution: PDF


HW 05 Solution: HTML

11 T 6/9 Reference types on steroids: Linked Lists   Linked List Lecture 1: PDF    
12 W 6/10 Linked Lists and Iteration Reading: Iteration and LLs Linked List Lecture 2: PDF    
13 R 6/11 Linked Lists and Recursion Reading: Recursion and LLs  


HW 06 Solution: HTML

14 M 6/15 Exceptions; Binary Search Trees: basic definitions, search

Reading on Exceptions: HTML

PPT slides on Exceptions: PDF


Reading on BSTs: 1 or 2 and my Notes on BST Algorithms

15 T 6/16 BSTs: insertion, deletion, performance of BSTs   Lecture on BSTs (including deletion): PDF    
16 W 6/17 Balanced Trees: 2-3 Trees   Lecture on Balanced Trees: PDF    
17 R 6/18 Binary Heaps   Binary Heap Code: JAVA


HW 07 Solution: HTML

18 M 6/22 Hash Tables: Separate Chaining

Readings: 1, 2

How to Implement a Hash Table in Five Minutes or Less: HTML


19 T 6/23 Hash Tables: Linear Probing        
20 W 6/24 Game Playing by Computer        
22 R 6/25 FINAL EXAM        
23 F 6/26       Last homework due!  

Back to Top