logohome

System Programming for Non-Majors

CS 2301
D-Term 2009

CS 2301 is intended for non-computer science majors who are likely to need to write programs in C or other “low-level” computer languages in their studies at WPI and/or in their careers in their chosen professions. It is also intended for non-computer science majors who wish to take upper-level courses in the systems area of the computer science curriculum.

 Index


Prerequisites

CS 2301 assumes some prior programming experience, which may be a previous Computer Science course at WPI such as CS 1101 or CS 1102, a computer programming course in high school using a language such as Java, or a job in which you had to write or participate in the development of a non-trivial program in any programming language.

Students who attempt to take CS 2301 as their first computer programming experience generally leave the course in frustration after wasting a few weeks.

Also, it does not usually work very well to take this course while carrying an overload.

top

Overview

CS 2301 has three main components:–

There will also be three exams, scheduled for April 3, April 17, and May 5. See below for more information about exams.

top

Course Outline

The following is a rough outline of the course. Dates of some topics may change, depending upon how the class goes.

top

Administrative Information

CS-2301 meets for two 2-hour classes per week for a seven-week undergraduate term (28 hours).

Time and Place: Tuesdays and Fridays, 8:00 — 9:50 AM, Fuller Labs 320
March 17 – May 5, 2009. There is no class on Tuesday, April 21, because WPI follows a Thursday schedule that day.

Professor: Hugh C. Lauer

Email: <professor’s last name>@cs.wpi.edu

Office hours: by appointment, or (normally) 1 hour after each class; other scheduled times TBD

Office: Fuller Labs, Room 137

 

Teaching Assistants:

Rabin Karki (email: rabin), Fuller A22

Jeff Zhou (email: jeffz), Fuller A22

            (see below for office hours)

Senior Assistant:

Brian Bates (email: bsbates), Fuller A22

 

Textbook: Brian W. Kernighan and Dennis M. Ritchie, The C Programming Language, 2nd edition, Prentice Hall, 1988.

Class e-mail lists: The following two lists are in the domain cs.wpi.edu:–

o       cs2301-all  — to reach all students, TAs, SAs, and the professor

o       cs2301-staff — to reach just the TAs, SAs, and the professor

Course web site: http://web.cs.wpi.edu/~cs2301/d09/

Absences: Students needing to be absent from class should notify the professor by e-mail or in person as soon as possible. Likewise, students needing to schedule assignments or presentations around religious holidays, projects, or interview trips should notify the professor at the beginning of the course.

Class cancellations and snow dates: Consult official WPI sources regarding the cancellation of classes due to snow and for rescheduling of those classes.

Office hours:

Day/Time

10:00

11:00

12:00

1:00

2:00

3:00

4:00

5:00

6:00

7:00

8:00

9:00

10:00

Sunday

 

 

 

 

 

 

 

 

 

 

BB

 

 

Monday

 

 

 

 

 

 

JZ

JZ 

 

 

 

 

 

Tuesday

HCL

 

 

 

 

RK

RK

 

 

 

 

BB

 

Wednesday

 

 

 

 

 

 

 

 

 

 JZ

 JZ

 

 

Thursday

 

 

 

 

 

 

 RK

 RK

 

 

 

 

 

Friday

HCL

 

 

HCL 

 

 

 

 

 

 

 

 

 

 

top


Grading Policy

Final grades will be computed as follows:

It is unlikely that a student can pass this course if he/she does not submit programming assignments or attend class regularly. In particular, good grades on exams are not a substitute for submitting the programming assignments.

If there are any circumstances that limit or restrict your participation in the class or the completion of assignments, please contact the professor as soon as possible in order to work something out.

Exams

Exams will be one hour in length and will be closed book, but students may bring one 8˝ -by-11 inch sheet of prepared notes (two sides). You may not use any computers, calculators, mobile phones, music players, or any other electronic devices during the exams.

Prior to each exam, there will be a brief review period in which students may ask questions and discuss topics relevant to the exam.

There are no makeup 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 extreme circumstances, the Professor will try to help you find a way to pass the course.

Students with Disabilities

Students with disabilities who believe that they need accommodations in this class are encouraged to contact the Disability Services Office (DSO) as soon as possible to ensure that such accommodations can be implemented in a timely fashion. The DSO is located in Daniels Hall. The Professor must receive requests for accommodations at least one week prior to an exam.

Academic Honesty

Students are strongly encouraged to work together, help each other, reinforce each others’ knowledge, and consult experts and resources outside the course on all topics. Like most professional environments in your future, success depends upon how well you do when you have access to a full array of resources, not how much you remember by rote.

Once you and your classmates have worked out a solution to a problem, you must write it up in your own words or code it in your own coding style. Some assignments may be team assignments. For these, it is expected that all team members participate with roughly equal levels of effort. When you put your name on a team submission of an assignment, not only are you testifying that you have fully participated in that assignment, but also your teammates are also testifying that you have fully participated.

For all assignments, the WPI Academic Honesty Policy applies:–

                          http://www.wpi.edu/Pubs/Policies/Honesty/policy.html    

Late Policy

Late programming assignments will be accepted within 24 hours of the due date. Each student will be allowed one late submission without penalty. Additional late submissions will incur an automatic 25% penalty. Any assignment turned in after the 24-hour grace period will receive a grade of zero. No extra credit or makeup programming assignments will be given. If you have special circumstances, contact the Professor at least 24 hours before the assignment is due.

top


Goals and Outcomes

The C programming language exposes details of how the underlying hardware stores data and executes software. It is commonly used in situations where there is no support for higher-level languages — e.g., operating systems, device drivers, and embedded systems — and in specialized systems where no higher level languages have been implemented.

Upon successful completion of this course, the student should

Mapping of course outcomes to CS Department Outcomes

top