CSC 155: Fundamentals of Computer Science III, Spring 2005

Section 1: TuTh 4:30-5:55pm, Adams 011

Dr. Chuck C. Liang
Office: Adams 201A
Office Phone: (516 463) 5559
Office Hours: MW 5:30-6:30pm, TuThFr 2-3pm, or by appointment
Email: cscccl@hofstra.edu


Course Description:

This course advances beyond the principles learned in CSC 15 and CSC16 to practical programming skills; design and analysis of data structures and algorithms involving techniques including inheritance, polymorphism, systematic approaches to coding and testing; code reuse; standard-template libraries; I/O issues.
Prerequisite: CSC 14, 16

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

List of Major Topics (tentative):

  1. Transition from Java to C++;
  2. Review of fundamental skills: arrays, linked lists, recursion.
  3. C++ pointers, static and dynamic arrays, memory management.
  4. Scientific applications of C++; matrix computations.
  5. Mathematical analysis of algorithms;
  6. Advanced C++: templates, inheritance, standard template library
  7. Basic tree data structures
  8. Heap data structure; priority queues
  9. AVL trees
  10. XML processing
  11. Dynamic programming
  12. Graph algorithms; spanning tree
  13. Heuristic search strategies
  14. Introduction to Ada programming language
  15. Concurrent programming



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.