CPE 101: Fundamentals of Computer Science I

Winter 2014

Course Syllabus

Instructional Information

Instructor: Eriq Augustine

E-mail: eaugusti [at] calpoly.edu

Office: 14-240

Office hours: T: 6-9pm

Course Webpage: http://users.csc.calpoly.edu/~eaugusti/cpe101-winter14

Lecture Time and Location

Lecture: MW 6:10pm — 7:30pm, 20-129

Lab: MW 7:40pm — 9:00pm, 14-303

Course Objectives


The course textbook is Problem Solving and Program Design in C by Hanly and Koffman.

Prior editions and alternate textbooks are acceptable.


Reading — The schedule outlines the order in which topics will be covered in lecture and the associated chapters/sections in the textbook that you should read. The lectures may not cover all of the material in the assigned reading, but such material may appear in labs, programming assignments, and exams.

Class Participation — The lectures are for your benefit. You should ask questions when you have them. I am more than happy to answer any questions that you may have relating to the course material.

Office Hours — Office hours are for your benefit. I am more than happy to answer any course related questions or to help with any programming issues you may have.

Because my office availability is poor this quarter, feel free to also email me.

Labs — There are currently ten planned lab assignments. Each lab assignment must be demonstrated in lab by the last lab of the week (unless an alternate date is specified). You are allowed and encouraged to work together on lab assignments.

Once you have completed the lab assignment, you are encouraged to use the remaining lab time to work on your programming assignments.

Labs are typically assigned on Monday and due by Wednesday Lab.

Programming Assignments — There will be six programming assignments. These assignments are intended to be of greater length and complexity than the lab assignments.

Programming assignments must be completed individually. Collaboration on programming assignments is not permitted.

Assignments are typically assigned on Monday, and due at 11:59pm the following Wednesday.

Lab Exams — There will be three lab exams.

They are closed book, closed notes, and closed neighbor.

Written Exams — There will be two midterm exams and one final exam. The exams will cover concepts presented in lecture and material based on the labs and programming assignments.

The exams will be closed book and closed notes.


The percentage breakdown for the course grade is as follows.

Activity % per % total
Labs 1 10
Assignments 30
  Assignment 1 2
  Assignment 2 4
  Assignment 3 5
  Assignment 4 6
  Assignment 5 5
  Assignment 6 8
Lab Exams 5 15
Lecture Exams 10 20
Final 25 25

Due Dates and Lateness

Programming assignments will be submitted electronically using handin. Except in the most extreme situations, late assignments will not be accepted. Even if you cannot complete an assignment, submit what you have for partial credit.

At a minimum, programming assignments must compile to be considered for grading. If a submitted program does not compile, you will receive a zero for that assignment. You should always pay close attention to all submission instructions for an assignment. Any submission that breaks grading scripts due to not following directions will receive a penalty.

Missed Exams

Make-up or early exams will not be given except in the most extreme situations. If you must miss an exam due to extreme illness, etc., contact the instructor immediately.

Collaboration and Honor Code

For each assignment that you submit, the following statements must be true.

If you do not agree to these rules, then you need to drop the course. Continued enrollment in the course is implicit agreement to adhere to these rules. Submissions will be compared using software that can reliably detect similarities among programs.

What is allowed?

A thanks to Professor Keen for providing the base syllabus material.