General syllabus

Note: click on this, and actually read it; it's part of the syllabus:

Course description

This course will introduce you to programming tools that are useful for DataStructures , other classes, personal projects, and industry jobs.


  • Preceded or accompanied by Comp Sci 1575.


Free as in freedom:

The book will be updated as we progress through the semester, so make sure to re-download it regularly, i.e., the week of your current assignment.


  • This is a lab; missing classes will very greatly diminish your chances for getting a good grade in this class.
  • If you miss a lab, you get a 0 for that lab.
  • If you miss 2 or more labs without a valid excuse, we may drop you from the course.
  • You must submit pre-labs in person, in lab, the day and time they are due, printed, and typed (not handwritten); submitting someone else's work for them without their full attendance that day will be considered academic dishonesty for both parties involved.

Lab Assignments (pre-lab and post-lab)

There will be ~14 labs. Each lab is worth a total of 100 points. Each lab assignment (except the first day) has an associated pre-lab which is part of the free lab book. The pre-lab MUST be typed. You must submit the pre-lab at the beginning of the associated lab (the minute class starts); otherwise your entire lab assignment will not be graded, and you will receive a 0 for the whole day, though it is recommended you still participate. Each lab assignment and pre-lab will be worth a combined 100 points 30 points for the pre-lab and 70 for the post-lab. Each week's post-lab assignments are due 24 hours after the start of lab. The first day has no pre-lab assignment, so the post-lab assignment itself is worth 100 points (no pre-lab component). Pre-lab assignments are due the minute class starts, if they are not turned in complete by that time, then you get a 0 for the day.


Two 100 point projects will be assigned. One will be due about halfway through the semester and one will be due at the end of the semester. The purpose of these projects is to encourage you to study some topics in class in additional depth. I will give you a list of topics you can choose to do a project on, or you may choose a topic of your own with my approval. To encourage you to experiment on your own, these projects will be fairly open-ended, but I will do my best to be clear about what I expect from you for them.

Backlinks: index:Classes:DataStructuresLab