CPSC 102 Computer Science II
Syllabus

Description:
  • Advanced C programming
  • Computational Linear Algebra
  • Raytracing
  • Introduction to Object Oriented Langues and C++
Required texts: Kochan, Stephen W., Programming in C, 3rd ed., Sams Publishing, 2005.
Recommended texts: Kernighan, Brian W. and Ritchie, Dennis M., The C Programming Language, 2nd ed., Prentice-Hall, Englewood Cliffs, NJ, 1988.
Supplemental notes: Summary notes will be placed on the web at http://www.cs.clemson.edu/~westall/102/.
Professor: Dr. Andrew Duchowski
Office: McAdams 309, 656-7677, andrewd@cs.clemson.edu
Office hours: Mon,Wed,Fri 10:00-11:00 and by appointment.
Objectives: To learn C programming, with intro to C++.
Laboratory content: This is a lab course.
Evaluation:
%Grade
90-100A
80-89B
70-79C
60-69D
Final Exam15%
Midterm Exam15%
Programming Assignments60%
Lab10%
Assignments: Unless otherwise specified, these are individual assignments, and must be strictly your own work and are not to be shown to anyone else.
Assignment late policy: Late assignments will be accepted but points will be deducted according to the formula (3n)3 where n is the number of days late. Example: assuming assignments are due on Monday, the point deduction is as follows:
Max points possible Day received Days late
100Monday0 (due date)
73Tuesday1 day late
0Wednesday2 days late
Late assignments will receive lowest priority for grading and returning.
Quizzes: Daily tests will be given at the end of class and will cover the material presented in the PREVIOUS class. Two COMPREHENSIVE makeups will be given at the time of the final exam and at least one grade will be dropped. No other makeups will be given... so please do not ask. Any student MISSING 6 QUIZZES WILL BE DROPPED FROM THE CLASS effective the date of the 6th miss. Attendance at lab is also mandatory. Any student with more than two lab absences will also be DROPPED FROM THE class.
Attendance: Roll will be taken for the first one or two weeks while the class roll fluctuates. However, attendance is not required. Absence, excused or not, does not change the responsibility for assigned work. Tests missed due to excused absences will normally result in the test not being counted in the average grade (i.e., there will normally be no makeup tests). An unexcused absence from a test will normally result in a grade of zero for that test. Students are expected to give at least one week advance notice for excused absences.
Academic dishonesty: The University policies on academic dishonesty apply. Publicly-available code or other material may not be used. Each student is responsible for protecting his or her files from access by others. Work that is essentially the same and submitted without proper attribution is considered to be a violation of academic dishonesty policy by all those submitting the work, regardless of who actually did the work.
Class cancelation: Students are expected to wait for 15 minutes after the class beginning time before leaving if the instructor is late.
Topical outline:
  • Advanced C programming
    • Basic Parsing
    • Linked Lists
    • Multi-module programs and the Makefile
    • Incremental development and testing
    • Debugging strategies for large programs
    • Emulating inheritance via hierarchical data structures
    • Emulating polymorphism via function pointers
  • Computational Linear Algebra (vectors, matrices)
  • Raytracing
  • OOP and C++