CS 261: Computer Science II

Syllabus

You can download the syllabus here. The syllabus includes information on grading, course goals, and policies I will use in teaching this course.

Text

We will be using my own textbook for this class: Java: An Open Introduction.

As this book is still a draft, it will be supplemented by various readings from Wikipedia and Oracle’s Java documentation. Please keep up!

Also, if you still have your book from CS I, it is worth hanging onto it for other background information.

Homework

Specific assignments are given below. Please note that homeworks are very important, and make up a very large portion of your grade. If you fall behind, you will likely do poorly on the exams as well. Homework should follow the specifications given here.

Homeworks can be turned in here.

Exam Grades

The exam distributions will be placed here, after they are graded.

Other Resources

Additional resources will be placed here.

Class Schedule

This is a tentative schedule for the class. I may change it depending on how the class progresses. We will start by reviewing object-oriented principles, then move into sorting, and will finish out with complicated data structures.

Lab Lab Date Homework HW Due Date Files Readings
1 Enums & Coins Jan. 29 MakeChange.java JOI Chapter 9
2 Card Object Jan. 28 CardSet Object Feb. 5 GraphicsWindow.java (docs)
cards.png
Inheritance Tutorial
3 Bounded Set Feb. 4 MyArrayList Feb. 10 JOI Chapter 11
4 Pig Game Feb. 11 Pig AI Feb. 17 Pig.java
PigPlayer.java (docs)
HumanPigPlayer.java (docs)
ComputerPigPlayer.java (docs)
Wikipedia Pig Game
JOI Chapter 14
JOI Appendix C
Midterm 1: Tuesday, February 18
5 Bubble & Selection Sorts Feb. 25 Heapsort March 2 Sorter.java (docs) Introduction to Sorting
Wikipedia Heapsort
6 Insertion Sort March 4 Mergesort March 9 Wikipedia Mergesort
7 Graphing Sorts March 11 Quicksort March 23 Wikipedia Quicksort
Spring Break!
8 Binomial Coefficient March 25 Trig Functions March 30 Wikipedia Memoization
Midterm 2: Tuesday, April 1
9 Linked Lists, Stacks & Queues April 8 Doubly Linked List April 13 Queue.java (docs)
Stack.java (docs)
Wikipedia Linked Lists
Wikipedia Doubly Linked Lists
10 Word Checker April 15 Binary Search Tree April 20 english.lex Wikipedia Binary Search Trees
11 Saving Objects April 22 Tries April 27 Wikipedia Tries
12 Unordered Tables April 29 Hash Tables May 4 menu.tsv
animals.tsv
Wikipedia Hash Tables
Final Exam: Wednesday, May 7, 12:00