Outcomes | Staff&Contact Information | Where&When | Textbook | Grading | Policies | Schedule&Assignments
What this course is about
The goal of CS 2301 is to help students with
prior program design experience migrate their skills to a model of
programming where the programming language exposes details of how the
hardware stores and executes software. This course is intended for
non-computer science majors who wish to take upper-level courses in the
systems area of the computer science curriculum.
Recommended background and course topics are listed
in the
WPI undergraduate catalog course description
Mapping of course outcomes to CS Department Outcomes
Instructor: Glynis Hamel (GH)
Teaching Assistants: Paulo de Barros (PdB), Avani Shastri (AS)
Senior Assistant: Richard Brown (RB)
(Note: TA/SA office hours are held in FL A22 (Fuller sub-basement). Glynis Hamel's office hours are held in FL 132.)
Day/Time | 10:00 | 11:00 | 12:00 | 1:00 | 2:00 | 3:00 | 4:00 | 5:00 | 6:00 | 7:00 | 8:00 |
Monday | GH | PdB | AS | AS | RB | PdB | |||||
Tuesday | RB | GH | RB |   | |||||||
Wednesday | |||||||||||
Thursday | AS | AS | PdB | PdB | |||||||
Friday | RB | GH |
If you have a question regarding your grades in the course, please send email to cs2301-staff *at* cs.wpi.edu. Mail sent to this address goes to the instructor and to the TAs. Include your section number in all correspondence.
The instructor's email address is ghamel *at* cs.wpi.edu. Please restrict your use of my personal email address to issues of a confidential nature. You will get a quicker response if you post your questions to the class discussion board.
Section | Time | Location | TA |
B01 | 2:00 - 2:50pm | HL 230 | |
B02 | 3:00-3:50pm | HL 230 |
Textbook, Software, and Authors' Website
Textbook (required):
Deitel, H. M., and P. J. Deitel,
C How to Program,
6th edition, Prentice Hall, 2007. (If you find a used copy of the 5th
edition, that's fine, too.)
Software: Assignments will be done on CCC machines running Linux.
You can access these machines via an ssh client to
Exams are closed-book, closed-notes. You may bring in one sheet of
notes (one paper, 8.5" x 11.5", both sides) to each exam. You may not use
any computers, calculators, cellphones, or other electronic devices during the exams.
There are no makeups for exams. Absence from an exam will be
excused only for medical or emergency reasons. A note from your doctor
or from the Office of Academic Advising will be required. In such cases your final
grade will be recorded as Incomplete and you will be allowed to take a makeup
exam the next time the course is offered.
If you receive general help from another student or an outside source,
that student or source must be acknowledged in the documentation accompanying
your submitted work.
Cheating will not be tolerated.
If
you are unsure whether a given activity would constitute cheating, ask
the instructor.
Violations of the Academic Honesty
Policy can result in an NR for the course, and violators will be
subject to the procedures outlined in section 5 of the
WPI Judicial
Policy.
Exams (60%)
Three exams will be given. Exams are tentatively scheduled for November 11,
November 30, and December 16.
You must have a passing average on
the exams in order to pass the course. (A passing average on the exams
is usually around 65%. We may lower this threshold if the exam averages
are low; the threshold will not be raised).
Homework (30%)
Six homework assignments will be given.
Assignments will be due at 5pm on the due date. No extra
credit or makeup homework assignments will be given.
Labs (5%)
Labs will be given during conference
sections on Wednesdays.
To get credit for a lab you must attend at your scheduled time,
actively work on the assignment during the lab period, and use turnin to turn in your work at the end of the lab
period. Each lab
will be graded as either credit (1) or no credit (0).
There are no makeups for labs.
In-class assignments (5%)
Several times during the term we will take a few minutes of class time
for in-class group work. This will consist of one or two questions
related to recently-covered lecture material or homework problems.
Each group assignment will be graded as either credit (1) or no credit (0).
At the end of the term five of these assignments will be chosen at random by the instructor, and these will count as 5% of your final grade.
There are no makeups for
in-class assignments.
Academic Honesty Policy
Please read WPI's Academic
Honesty Policy.
Labs and In-class group work
Collaboration is encouraged for labs and in-class group work.
Exams and Homework
Exams and homework are to be done individually.
You are encouraged to talk with others in a general way about homework
assignments (what approach to take, for example), but any work you
submit for grading must be your own. Some examples of situations that
would be considered academically dishonest are
Late Policy
Late homework will be accepted within 24 hours of the due date. Each student
will be allowed one late submission without penalty.
Beyond that, late homework
will incur a 25 percent penalty. Any homework turned in
after the 24-hour grace period will receive a grade of zero. No extra credit
or makeup homework assignments will be given.
Homework Submission Policy
Homework must be submitted using the Unix
turnin program.
Homework
submitted by any other means (paper, email, etc.) will receive a grade
of zero.
Students with Disabilities
Students with disabilities who believe that they may need
accomodations in this class are encouraged to contact the Disability
Services Office (DSO) as soon as possible to ensure that such
accomodations are implemented in a timely fashion. The DSO is
located in Daniels Hall.
Schedule
Note: the instructor reserves the right to change the order of topics
or the dates of the exams, if necessary.
Week
Reading
Topics
Assignments
Oct 26 - 29
Chapters 1-4
Lecture 1 objectives
Lecture 2 objectives
Lecture 3 objectives
Course overview
intro to I/O: scanf, printf
Boolean expressions
if-statement
loops
data types and casts
compiling and executing C programs
Lab 1 (Wed, 10/27)
Homework 1 (due:
Tuesday, 11/2)
Nov 1 - 5
Chapter 5 (sections 5.1 - 5.10, 5.11-5.13, 5.15)
Lecture 4 objectives
Lecture 5 objectives
Lecture 6 objectives
Lecture 7 objectives
function definition
function calls
call-by-value
documenting functions
scope and storage class
recursive functions
Lab 2 (Wed, 11/3)
Homework 2 (due:
Tuesday, 11/9)
Nov 8 - 12
Chapter 6 (sections 6.1 - 6.5, 6.9)
Chapter 7 (sections 7.1 - 7.5)
Lecture 8 objectives
Lecture 9 Review: Sample Exam 1
Lecture 10 - Exam 1
Lecture 11
objectives
arrays
Exam review/catch up
Exam 1, Thursday, November 11
pointers
simulating call-by-reference with pointers
pointer arithmetic
Lab 3 (Wed 11/10)
Homework 3 (due: Tuesday, 11/16)
Nov 15 - 19
Chapter 7 (sections 7.7 - 7.10)
Chapter 8
(skim sections 8.3, 8.4)
Lecture 12
objectives
Lecture 13
objectives
Lecture 14
objectives
Lecture 15
objectives
pointers and arrays
chars and strings
C string functions
arrays of pointers
makefiles
Lab 4 (Wed 11/17)
Homework 4 (due: Tuesday, 11/23)
Nov 22 - 23
Chapter 10 (sections 10.1 - 10.6)
Chapter 11
Lecture 16 objectives
Lecture 17
objectives
Thanksgiving break
structs
sequential- and random-access files
(HW4 due Tuesday, 11/20)
Nov 29 - Dec 3
Chapter 12 (sections 12.1 - 12.4)
Lecture 18- Review: Sample Exam 2
Lecture 19 - Exam 2
Lecture 20 objectives
Lecture 21 objectives
Exam review/catch up
Exam 2, Tuesday, November 30
dynamic memory allocation
linked lists
Lab 5 (Wed 12/1)
Homework 5 (due: Tuesday, 12/7)
Dec 6 - 10
Chapter 12 (sections 12.5 - 12.7)
Lecture 22 objectives
Lecture 23 objectives
Lecture 24 objectives
Lecture 25
objectives
linked lists
stacks, queues
hash tables
Lab 6 (Wed 12/8)
Homework 6 (due: Tuesday, 12/14)
Dec 13 - 16
Lecture 26 objectives
Sample Exam 3
Lecture 27 - Review
Lecture 28 - Exam 3
hash tables
Exam review/ catch up
Exam 3, Thursday, Dec 16
(HW6 due Tuesday, 12/14)
http://www.cs.wpi.edu/~cs2301/b10/index.html