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. 1-3pm, Tues,Wedn 2-3pm


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: string-keyed 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 higher-order 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