Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: Description: logohome


CS-2303, System Programming Concepts

A-term 2013

This course introduces students to system programming in the C and C++ programming languages. Building from the design concepts covered in CS 2102, this course covers memory management, pointers, arrays, the machine stack, input/output mechanisms, and common data structures.

The course is intended for students interested in majoring in Computer Science students and other computationally intensive fields such as Robotics and Interactive Media and Game Development. The course assumes substantial object-oriented programming experience and a familiarity with Java. It is preparation for many upper-level computer science courses, including CS-3013, Operating Systems, and CS-3516, Computer Networks.

Note:  Students in other fields should consider CS-2301, which provides a less intense system programming experience in just the C language.

Index

Syllabus, Course Outline, and Goals and Outcomes

Administrative Information

Office Hours and Schedule

Grading Policy and Exams

Late Assignment Policy

Academic Honesty

 

Discussion Board and Contacting People

 

 

The following links are password-protected in accordance with WPI policy regarding the posting of copyright materials on course web sites.

 

Lecture Capture — All lectures of this course are captured using the Echo 360 system and can be viewed at this URL. This requires your regular WPI login and password.

 

These three links are hosted on myWPI. Under the current authentication system, you need to have a myWPI session open in your browser for the links to work.

 

Lecture Notes

Programming Assignments

Laboratory Sessions

                


Administrative Information

CS-2303 meets two times per week for two hours during a seven-week undergraduate term (28 hours).

Time and Place: Tuesdays and Fridays, 8:00 — 9:50 AM, Fuller Labs 320 from August 30 – October 15, 2013.

Lab Sessions: Wednesdays, Kaven Hall 203; section A01 meets at 9:00 — 9:50 AM, section A02 meets at 10:00 — 10:50 AM, and section A03 meets at noon — 1:00 PM.

Professor: Hugh C. Lauer
Email: <professor’s last name>@cs.wpi.edu
Office hours: see chart below; or by appointment
Office: Fuller Labs, Room 144

Teaching Assistants and Senior Assistants:

            Jia Wang (wangjia)
Angel Trifonov (angelt)
            (e-mail addresses are in the domain wpi.edu
            Office hours
in Fuller A22)

Textbooks:–
The C Programming Language, 2nd edition, by Brian Kernighan and Dennis Ritchie, Prentice-Hall, 1988
Absolute C++, by Walter Savitch, Pearson; either the 4th edition, 2010, or 5th edition, 2013, is acceptable.

Class e-mail lists: The following two lists are in the domain cs.wpi.edu
cs2303-all  — to reach all students, TAs, SAs, and the professor
cs2303-staff — to reach just the TAs, SAs, and the professor
You should use these e-mail lists for all course business and technical questions. See below.

Course web site: http://www.cs.wpi.edu/~cs2303/a12/
In order to comply with copyright regulations, portions of this web site may require you to log in. Please use your own WPI login ID and password.

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 term.

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

top

Discussion Board and Contacting People

Please use the course e-mail list — cs2303-all in the domain cs.wpi.edu as a discussion board.

All technical questions should be addressed to this discussion board. If you know the answer to a question, please respond to it on the discussion bard. You will be helping your classmates and increasing the subjective portion of your grade. You are responsible for all information appearing on this discussion board.

For administrative items, including questions about submittals, requests for extensions, notification about upcoming absences, etc., please e-mail to cs2303-staff in the domain cs.wpi.edu.

The teaching assistants and the Professor will endeavor to monitor both of these lists on a regular basis.

Private and confidential matters should, of course, be addressed only to the Professor.

top

Office Hours and Schedules

 

Sunday

Monday

Tuesday

Wednesday

Thursday

Friday

Saturday

8:00

 

 

Class

 

 

Class

 

9:00

 

 

Lab –
Section A01

 

 

10:00

 

 

Lab –
Section A02

 

HCL

 

11:00

 

 

 

HCL

 

 

Noon

 

HCL

Lab –
Section A03

 

 

1:00

 

JW

AT

HCL

 

 

2:00

 

AT

 

 

 

3:00

 

 

JW

 

 

 

4:00

 

 

 

5:00

 

 

 

 

                        HCL    — Hugh C. Lauer, or by appointment
                        JW — Jia Wang
                        AT — Angel Trifonov

top

Grading Policy

Final grades will be computed as follows:

·         Weekly quizzes: 40%

·         Programming assignments: 40%

·         Labs: 10%

·         Class participation and Subjective Evaluation: 10%

 

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

For the Subjective Evaluation portion of your grade, it is in your interest that the Professor and the Assistants know who you are. Please introduce yourself at every opportunity.

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

Weekly quizzes                                                                                                                                   

In lieu of major exams, there will be a quiz each week at the start of class, typically on Fridays.

Quizzes will be approximately twenty minutes in length and will be open book and open notes. You may start each quiz as soon as you arrive in the classroom; quizzes will end at a designated time. Therefore, it is in your interest to arrive early and get a little extra time. You may not use computers, calculators, mobile phones, music players, or any other electronic devices during the quizzes. However, if your copy of your textbook is on an iPad, Kindle, laptop, etc., you may refer to it on that device. However, you may not do any computing or access any network during the quiz.

 

The last two quizzes will be a classroom quiz on October 15 (same rules as above) and a laboratory quiz on October 16, conducted during your lab session. The last two quizzes are mandatory. Skipping either of these is tantamount to requesting an NR in the course.

 

There are no makeup quizzes. The “quiz” portion of your course grade will be based on the best five out of seven quizzes, including the two on October 15-16. This is intended to help students accommodate absences due to illness, interviews, projects, etc.

Academic Accommodations

Students with disabilities who believe that they need accommodations in this class are encouraged to contact the Office of Disability Services (ODS) as soon as possible to ensure that such accommodations are implemented in a timely fashion. This office can be contacted via email: DisabilityServices@wpi.edu, via phone: (508) 831-4908, or in person: 137 Daniels Hall.

The Professor must receive requests for accommodations at least one week prior to any exam or quiz.

Students with approved accommodations should please go to the Exam Proctoring Center (EPC) in Morgan Hall to pick up Letters of Accommodation.

top

Late Policy

Late programming assignments will be accepted within 24 hours of the due date except the last programming assignment. Each student will be allowed one late submission without penalty (i.e., a grace day). 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 by e-mail at least 24 hours before the assignment is due.

If a submitted program does not compile, the grade is automatically zero. However, the TAs will make a good faith effort to contact the student and accept a resubmission within 24-hours of the contact. The late penalty of 25% will be applied in this case; the grace day may not be applied to waive this penalty.

top

Academic Honesty

Students are strongly encouraged to work together, help each other, reinforce each other’s 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. Copying is not allowed. Borrowing algorithms from references, on-line sources, and other students is permitted provided that you cite your sources in your write-up and that you write out the solution in your own words or 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

top