CS140 -- General Information


  1. Professor's Information
  2. Textbooks
  3. Grading
  4. Homework
  5. Course Goals

Professor's Information


Textbooks

You may be able to purchase these books through an online store, such as Amazon, for less than you can purchase them at the university bookstore.


Grading

The grading break down is as follows:


Homework

Homework will be assigned throughout the semester and it will be due at the beginning of each lab period. Homework solutions will be posted after the due date.


Class Goals--adapted from James Plank's CS140 course

The following are the goals that I have set for teaching this class -- they represent what I'd like you all to get out of the class. When the semester is over, go over this list, and see how well these goals were met. If you feel like it, send me email with comments -- it's more useful after the semester than in the middle of it, I think.

  1. To start becoming self-sufficient C programmers.

    This means that when you see a problem that needs to be coded, you have a good idea of how to go about it by writing a C program. This includes understanding 1) the logistics of compiling, linking, including, etc., 2) setting up the data structures, 3) organizing the I/O, 4) using standard tools and libraries where appropriate, and 5) debugging a program.

    Some of the more important basic concepts that you will learn in this course includes understanding pointers, recursion and memory allocation.

  2. To understand basic data structures.

    Frankly, there are only three to four basic data structures that can carry you through a lifetime of programming. All the rest are variations on a theme. By the end of this class, you should understand the basics and be prepared to tweak them when necessary.

  3. To understand basic algorithm analysis.

    Knowing how to set up your data structures is one thing. Understanding how fast your program should run is another. This class get you started with algorithm analysis.