Syllabus
Description
Go here for the course description.
Schedule
Go here for the day to day schedule and lecture materials.
Grades
- 50% Labs
- 5% Homework (Around one a week, lowest two dropped. (I think it will be at least 12 homeworks))
- 20% Midterm
- 25% Final (cumulative)
You may ask to have an exam, project or lab regraded. However, the entire exam, project or lab will be regraded. This may or may not result in a grade change, either up or down. To have an assignment regraded, you must hand in the item with a typewritten paragraph explaining what was not graded correctly. You must ask for the regrading by the next class period after the project, lab, or exam was returned. There will be no exceptions to this requirement.
Scale
97%+ | A+ |
93-96% | A |
90-92% | A- |
87-89% | B+ |
83-86% | B |
80-82% | B- |
77-79% | C+ |
73-76% | C |
70-72% | C- |
67-69% | D+ |
63-66% | D |
60-62% | D- |
<60% | F |
Textbook
- Brian W. Kernighan and Dennis M. Ritchie, The C Programming Language, Second Edition, Prentice Hall, 1988
- Randal E. Bryant and David R. O’Hallaron, Computer Systems: A Programmer’s Perspective, Third Edition, Pearson, 2016
As always, you can find this textbook in most libraries and definitely will be reserved in Hillman.
Exams
There will be a single midterm exam and one (mostly) non-cumulative final. You are responsible for looking at the schedule and hearing announcements about the scheduling of all exams. The tentative dates of the exams are located on the schedule page and are subject to change. Exams are closed book and an individual effort.
You must take all exams in the lecture session for which you are registered!
Specific instructions for each exam will be posted at a closer date.
Labs
Lab work in this course is the main application of your knowledge. These are substantial assignments that generally test core knowledge. Each lab will be assigned on the Lab page and will generally have at least one to two weeks time to complete.
Unless otherwise noted, lab assignments will be submitted electronically through the Gradescope system. Specific further rules or obligations will be described on each lab. The solutions may or may not be posted, which will be determined on a case to case basis as lab work is assigned and graded.
The weight for each lab toward your total grade for the course will be affected by the difficulty of the lab. Some labs will be, therefore, weighted higher than others. This will be determined and reported as each lab is released, and described on the corresponding lab assignment description page.
There will be no collaboration on labs nor is partner work allowed. See the collaboration section for more information on what constitutes a breach of academic integrity.
Attendance
You should come to class! First off, I make sure to explore the relevance of C, assembly, and Systems topics in everyday life. The exploration of the algorithms and techniques is fairly vital for success on exams and projects. Also, I think I’m a good teacher (you can disagree in the OMETs, which you need to attend class to participate in!)
Collaboration
Generally speaking, as part of the overall university policy and culture, collaboration is not allowed in any form or any project or exam, unless otherwise noted.
This includes the sharing of materials, past materials, materials from other sections of this class. The only exception is if you wrote the material (because you are repeating the class).
Any use of material that is not your own constitutes as collaboration, which informally is considered cheating, and is then a violation of this policy. Cheating will earn you a 0 on the assignment/exam on the first offense. You will fail the course on the second offense and possibly be reported to the university for further discipline.
If you have any doubts about what is “cheating”, ask the instructor for clarification before you do it. The instructor will make the final determination of what is considered cheating.
You are generally allowed to talk about projects and share insight (and you should!) You cannot write any part of another student’s assignment or review another student’s code or design.
Conduct Policy
No harassment of any kind is allowed. No jokes or comments about sex, gender, race, ethnicity, or religion will be tolerated in any classroom setting. This includes lectures, recitations, and any online space established for the course. Please refer to the Title IX Office for more policy information any contact information in case of any discrimination or harassment.
Late/Early Policy
Students need to submit assessed assignments by the published deadline. The penalty for late assignments is 10% per day. However, each student will receive 5 late days for the course. These late days are provided to allow you to cope with most emergencies that prevent completing a lab on time, including computer problems, a cold, getting stuck at the airport, etc. The following rules will be applied for late days:
- Late days are used automatically until you run out.
- No more than 2 late days can be used on any one assignment.
- If your last submission is one day late, and you have at least one remaining late day, then you will receive full credit for the lab and automatically spend one late day. For example, if an assignment is due at 11:59pm on Thursday and your last submission is noon on Friday, then you will receive full credit and spend one late day.
- Once you have used all your late days, or exhausted the limit for the assignment in question, then you will receive a penalty of 10% for each subsequent late day. For example, suppose you have only one late day left. If an assignment is due at 11:59pm on Thursday and your last submission is noon on Saturday, then you will spend your one remaining late day and be penalized 10%. If your last submission is noon on Sunday, then you will spend one late day and be penalized 30%.
- Late submissions will not be accepted after three days after the due date.
It is worth noting that those late days to help you manage your time in the face of personal issues and to help smooth out burstiness in assignment due dates across classes. They are for when you are sick, when a short term emergency situation arises, when you have too many deadlines all at once, etc. It is strongly recommended that you conserve your late days, saving them for the more difficult assignments at the end of the term.
You are expected to plan your time well including contingency time. For example, if you expect a piece of work to take two days, you should begin it more than two days before its deadline. Please DO NOT ask the course lecturer for an extension. Except for serious persistent personal issues, you should not anticipate additional deadline leniency. If you have a serious persistent personal issue, such as being hospitalized for an extended period or needing to leave the country for a family matter, please talk to your academic advisor as soon as possible. You should always inform your academic advisor of any circumstance that seriously affects your work. This will be clarified succinctly in the immediately following notes.
-
Illness and other compelling reasons: A late assignment (exam or project) with a valid excuse according to University rules, such as an extended illness or hospitalization, will be accepted up to one week late without a penalty. Arrangements must be made in advance when possible; written documentation of the compelling reason must be provided.
-
There will be no early exams. Make up exams must be pre-approved. No make up exams will be given that do not meet University rules and have proper (written) documentation.
-
All make up work (exams, labs, etc) must be completed within one week of the original assignment.
-
Under extraordinary circumstances, such as an extended multi-week illness, other accommodations can be made for the course and this policy can be amended to permit some flexibility for completing the missed work.
Notes for Students
Disability Resources and Services
If you have a disability for which you are or may be requesting an accommodation, you are encouraged to contact the Office of Disability Resources and Services (DRS), 140 William Pitt Union (412-648-7890) (TTY 412-383-7355), as soon as possible in the term. They will verify your disability and determine reasonable accommodations for this course.
File Backups
It is your responsibility to backup your work regularly. Please consider using reliable and multiple ways to protect your files! I.e.: Please make backups, and backups of your backups, and… (you get the point!) The University offers space that you can use for backups through Box, if you like. Both Google Drive and Dropbox have free tiers that also work well. No extensions for assignments will be approved due to failed laptops, hard drive crashes, lost USB drives, or other calamities that lead to lost or corrupted data. Per the policy on voluntary late assignments, you may turn in a project up to five days late (with a penalty), which should give sufficient time to recover a lost/corrupted project.
Acknowledgements
- Vinicius Petrucci: Provided many of the slides in the course.
- Jarrett Billingsley: Provided many of the slides in the course.
- Jekyll: Software that creates this static ‘blog’ style site.