Dr. Herbert Holzbauer (holzbh AT cs.rpi.edu) & Dr. Justin M. LaPre (laprej AT cs.rpi.edu)
Department of Computer Science
Rensselaer Polytechnic Institute
110 8th Street Troy, New York 12180
Course web site: https://piazza.com/rpi/fall2017/csci2500
Class Time and Location: Sage 3303, Tuesdays and Fridays, 12 p.m. to 1:50 p.m.
Like the Constitution, this syllabus should be considered a "living document" in that it is subject to change. You will be notified of any changes made.
Introduction to computer organization, assembler language, and operating systems with a heavy emphasis on systems and low-level programming. Topics include, but are not exclusively limited to:
Prerequisite CSCI 1200 (Data Structures).
Computer Organization & Design: The Hardware/Software Interface, 5th Edition (2013), by Patterson and Hennessy. Amazon link.
C Programming: Language: A Step by Step Beginner's Guide to Learn C Programming in 7 Days (2016), by Darrell L. Graham. Amazon link. FREE KINDLE EDITION AS OF 2017-08-16
We have three Graduate TAs assigned to our class.
While email addresses are supplied for all course staff, please prefer to use Piazza instead of email unless the matter is specifically about you. For example, a family emergency, illness, etc.
We will also be using Submitty (AKA the homework server). Details will follow on Piazza.
Attendance Policy: Attendance at lectures is not required, but be aware that we may include material not necessarily covered in the text or on the web page. You are responsible for all announcements made in lecture (e.g., any change in due dates).
Lab Sections: Lab attendance is mandatory and you will be graded. Keeping up with the labs will be the best way for your to make sure that you do not fall behind.
Group Project: The group project allows for groups of up to 3-4 students to collaborate on a larger assignment than the individual assignments typically require. 15% of each student's grade will be determined by their peers. If two students code the entire project while a third does nothing, that student should not expect the same score as the rest of the team.
Late Assignments Policy: All students begin the semester with three initial late days that can be used for late submissions. These are consumed in whole day increments. In other words, if you are one hour late, that will count as one day. 25 hours late will count as two days, etc. Additional late days may be earned via iClicker points gained in lecture. You may not use more than three late days per assignment. Once your late days are exhausted or you have exceeded three late days, late assignments will not be graded.
Missed Quiz Policy: Missed quizzes can only be made up under the following circumstances:
Grade Disputes: Grade disputes must be made in person within 10 days. After 10 days has elapsed, the grade on record will stand.
Assignment Grading Criteria: Programming assignments are graded as
follows: 15% for proper comments (e.g., each function should indicate
what it does) and 85% for a correct working implementation. We
typically divide the correctness points over key functions
working. For example, reading -- worth 10 points, writing -- worth 10
points as file correctly, and then doing the calculation correctly --
worth 65 points. Note that programs that either don't compile or
core dump typically get no more than 20 points of the
85. Thus, your max score for a "properly commented" program that fails
in some fundamental way is only 35 points even if you spent 100 hours
of time on it. Non-programming assignments/homeworks are graded on a
per-problems basis. Typically 5 problems will be given and each is
worth 20 points. These should be typed up using a word processor of
your choice e.g., MS Word, LaTeX, etc. These must be submitted on
Submitty as well.
Federal law requires all colleges and universities to provide specified types of assistance to students with disabilities. If you require such assistance, please obtain an authorizing memo from Disability Services for Students by contacting the Student Health Center. Information about a student's special needs will be treated as confidential. Please submit a copy of your authorizing memo to your professor well in advance of any affected exam or assignment. Failure to do so may result in a lack of special accommodations.
While I strongly encourage you to form study groups and work together in learning this material, the course project, homeworks and programming assignments are to be done individually unless otherwise noted by the assignment/project specification. What this means is that you should do whatever is necessary to ensure your work remains your work. If during in the grading process, it is determined that students shared or duplicated work, those students will automatically score a zero for the offense and a report will be sent to the Dean of Students Office which could result in additional disciplinary action. For a second offense, the student or students involved will fail this course. Additionally, undergraduates offenders cannot mentor in the future. In the event a graduate student is caught cheating, that student will fail.
By the end of this course, you will be able to: