CSC 16: Fundamentals of Computer Science II

Dr. Chuck C. Liang
Office: Adams 201A
Office Phone: (516 463) 5559
Email: cscccl@hofstra.edu


Course Description:

Introduction to Computer Science with emphasis on problem solving, algorithms and the principles of algorithm construction. Java programming language. Topics include data structures, recursion, pointers, and object-oriented programming. Weekly programming assignment. Course follows the current ACM recommended curriculum for CS2.
Prerequisite: successful completion of CSC15

Class Web Page: http://www.cs.hofstra.edu/~cscccl/csc16/

List of Major Topics (tentative):

  1. Review of Basic Programming techniques
  2. Array algorithms, including multi-dimensional arrays
  3. Timing and Time complexity analysis of algorithms
  4. Static Scoping; Stack and Heap
  5. Primitive v.s. Reference Data Types
  6. Abstract data types and object oriented programming
  7. Some sorting algorithms
  8. Linked lists
  9. Recursion
  10. Polymorphism and inheritance
  11. stacks and queues
  12. Trees and binary search trees
  13. Hash Tables
  14. Stream I/O: Files and Sockets
  15. Advanced topics (as time allow)



Exams, Assignments and Grading

Assignments will be given regularly. There will be a midterm exam and a final. The final exam will be cumulative (the final is scheduled for ). Periodic quizes may also be given. The grade distribution will be roughly 55% exams and quizes and 45% attendence, programming assignments and other homeworks.

Late assignments will not be accepted.

Attendance

Regular class attendance is required. Students are responsible for all material, in all forms, presented during scheduled class times. Attendence records may be kept and used to determine final grade. All labs must be attended. No points will be given for missed labs, even if the required work is completed, unless the absence is due to documentable medical emergencies and organized Hofstra University events.

Students are required to keep copies of all programming assignments throughout the semester. When working in a group, all group members must posses current versions of the assignment.


Final Note: The contents of the this syllabus may be modified depending on the progress of the course.