CPSC 102 Computer Science II

  • Advanced C programming
  • Computational Linear Algebra
  • Ray tracing
  • Introduction to Object Oriented Langues and C++ Objective-C
Required texts:
  • Kochan, Stephen G., 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.
  • Kochan, Stephen G., Programming in Objective-C, 5th ed., Addison-Wesley, 2013.
Supplemental notes: Lecture notes will be placed on the web at http://andrewd.ces.clemson.edu/courses/cpsc102/.
Professor: Dr. Andrew Duchowski
Office: McAdams 309, 656-7677, duchowski [at] clemson.edu
Office hours: Tue,Thu 10:00-11:00 and by appointment.
Objectives: To learn C programming, with intro to OOP.
Laboratory content: This is a lab course.
Final Exam15%
Midterm Exam15%
Programming Assignments60%
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.
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)
  • Ray tracing
  • OOP and C++ Objective-C