CSC 15: Fundamentals of Computer Science I

Lecture: Adams 200
Lab: Adams 204

Dr. Chuck C. Liang
Office: Adams 102
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. Python programming language. Topics include arrays, loops, functions, pointers, and object-oriented programming. Weekly programming assignment. Course follows the current ACM recommended curriculum for CS1.

Recommended Text: "Python Programming: An Introduction To Computer Science" by John Zelle, 2004.


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


List of Major Topics (tentative):

  1. Using the Linux Operating System
  2. Overview: The Structure of a Modern Program
  3. Simple programs with arithmetics
  4. Basic Grammar, expressions, declarations, and statements.
  5. Variables, assignment and update
  6. Code Documentation
  7. Basic I/O
  8. Decision making and boolean expressions, truth tables
  9. Basic programming constructs: while loops and for loops
  10. Programming with Functions and scope; return statement
  11. Scoping
  12. Arrays and indexing
  13. Reference types
  14. Stream I/O: Files and Sockets
  15. Introduction to Object-Orientation
  16. Graphical I/O: Python-GTK
  17. 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.

All material handed in must be in hard copy, and be well organized and legible. Unreadable material will not be graded. Consultation of outside sources (including books, friends) for completion of assignments must be pre-approved.
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 this syllabus may be modified depending on the progress of the course.