CSC17: Fundamentals of Computer Science III, Fall 2017
Dr. Chuck C. Liang
Professor of Computer Science,
Hofstra University .
Office Address:
102 Adams Hall Hofstra University
Hempstead, NY 11550
Office Phone: (516 463) 5559
Email: cscccl@hofstra.edu
(< click to send me mail)
Official Office Hours: Mon. 13pm, Tues,Wedn 23pm
Course Syllabus
Online Resources:
lab 1, lab 1b,
lab 2,
lab 3, lab 4,
lab 5, lab 6,
lab 7, lab 8,
lab 9
Files pertaining to lab 9: Bst.java, Bstgraph.java, testbst.java
Trie.java: stringkeyed Trie implementation related
to lab 8.
Files associated with lab 7: Abstract finite state machine and sample finite automaton (additional automaton for matching parentheses).
CAT FSM diagram
Files relevant to lab 6: TDHash.java and
sample concrete subclass
Lab 3 solution
Submit all programming assignments on blackboard, CSC 17
Sample C++ program and corresponding Java program
Condensed Notes on Interfaces, Inheritance and
Generics. (REQUIRED READING)
Linked List implementation (LinkedList.java)
Some examples of recursion
Recursive algorithm triangles fractal, contains
both versions with and without recursion.
Sorting algorithms on linked lists, including insertion sort, mergesort and quicksort, more examples of when to use or not use recursion.
Sorting algorithms on arrays
Notes and examples of polymorphism.
More examples of interfaces and higherorder programming
Examples of classes that implement Comparable
team sports simulation further illustrates inheritance, solution to lab 1b problem
My implementation of the heap data structure (Heap.java), also uses
Comparator in addition to Comparable.
program that draws graphical representation of any array as complete binary tree
Abstract Class and example
2D abstract hash table and sample concrete subclass
Subtle points about type casting and dynamic dispatch
spaghetticode.java and
oopfood.java (examples of oop).
Extra oop assignment
Infinite Sets (advanced program)
traditional and modern implementations of (unbalanced) binary search trees.
Dynamic programming notes and simple example (routes)
Dynamic programming and the Knapsack Problem
Announcements:
Quiz on recurrence relations and binary search trees Tuesday 11/21
