Introduction to Computer Science

Winter 2007
Course Overview

Instructor: Dave Feldman Email: dave AT h0rnacek D0T c0a DOT edu
Office: Second Floor, Turrets Annex Phone: x249, 276-5284
Mailing List: c++ AT h0rnacek DOT c0a DOT edu Office Hours: Wed 4:00-5:30 and by appointment


I have several goals for this course.
  1. I want you to gain a solid introduction to the core elements of C++, including pointers and classes.
  2. I want to develop a careful, systematic, and effective programming style and to use programming to hone your intellect.
  3. I want you to gain experience creating and implementing algorithms and be able to apply algorithmic thinking and programming skills to areas of your interest.
  4. I want you to experience the challenge and excitement of creating and implementing your own programs.


Our main text will be Walter Savitch, Problem Solving with C++. We will cover at least the first ten chapters of this book. I would like to be able to cover a few more, but I'm not sure if we'll have time.

Your evaluation will be based almost exclusively on the weekly programming assignments. There may also be a medium-sized programming project toward the end of the term. We will decide as a class during the midterm evaluation if we want to do this or not. I will assign grades (for those who so opt) by following the guidelines in the COA Course Catalog. I do not have any quota of A's, B's, etc. In general, I strongly recommend against grades; I believe they are more likely than not to interfere with genuine, reflective learning.


Policies and Course Details:
  1. The final version of this and related documents can be found on the course web page, http://hornacek.coa.edu/dave/Teaching/Comp_Sci.06.
  2. Homework will usually be due Fridays at the end of the day. More than one unexcused late homework assignment will result in me likely mentioning this in your narrative evaluation and may result in a lowering of your grade.
  3. Important information about homework can be found here: homework expectations.
  4. Academic misconduct -- cheating, plagarizing, etc. -- is bad. Any cases of academic misconduct will result in a judicial hearing, as per pp. 14-15 of the COA handbook. Possible consequences range from failure of the assignment to expulsion. For more, see the revised statement on academic integrity passed by the faculty several winters ago.
  5. As I plan on sending out homework assignments and other information via email, it is important that you check your email regularly.
  6. I expect this course to entail a lot of work. Don't fall behind.
  7. I expect you to attend class, unless we make other arrangements.
  8. If winter weather conditions make it unsafe for you to come to campus, do not come to class, even if classes have not been officially cancelled.
  9. Further thoughts on this course and advice for learning to program can be found here.