Course Information
Times and Locations
- Lecture: 2:30 PM-3:45 PM Tuesday and Thursday, KCK 100
- Laboratory for section 001: 4:00 PM-5:15 PM Tuesday, OES 132
- Laboratory for section 002: 3:30 PM-4:45 PM Wednesday, OES 130
Instructors
-
Dave Johnson, dbj
@
rice.edu, DCH 3007
Office hours: TBD -
Alan L. Cox, alc
@
rice.edu, DCH 3009
Office hours: Wednesday, 5:00 PM-6:00 PM -
Scott Rixner, rixner
@
rice.edu, DCH 3032
Office hours: Wednesday, 2:00 PM-3:00 PM
Teaching Assistants' Office Hours
- Kelton Keck
Office Hours: Monday, 1:00 PM-3:00 PM, Sid Commons - Gabriel Ong
Office Hours: Monday, 1:00 PM-3:00 PM, Sid Commons - Kevin Ni
Office Hours: Monday, 1:00 PM-2:00 PM, Jones Commons - Francesca Nemati
Office Hours: Monday, 4:00 PM-5:00 PM, McMurtry Commons - David Su
Office Hours: Monday, 2:00 PM-3:00 PM, Jones Commons - Nomin Ganzorig
Office Hours: Tuesday, 1:00 PM-2:00 PM, Hanszen Lower Commons - Abbas Shaikh
Office Hours: Tuesday, 1:00 PM-2:00 PM, Hanszen Lower Commons - Melody Jing
Office Hours: Thursday, 1:00 PM-2:00 PM, Hanszen Commons - Aaron Long
Office Hours: Thursday, 4:00 PM-6:00 PM, Hanszen Commons - Fernando Gonzalez-Cruz
Office Hours: Thursday, 7:00 PM-9:00 PM, Martel Commons - Kevin Ni
Office Hours: Friday, 1:00 PM-2:00 PM, Jones Commons - Richard Xu
Office Hours: Friday, 1:00 PM-2:00 PM, Will Rice Commons - David Su
Office Hours: Friday, 2:00 PM-3:00 PM, Jones Commons - Nomin Ganzorig
Office Hours: Saturday, 4:00 PM-5:00 PM, Lovett Commons
How to Contact Us
Please post your questions of a general nature to the course Piazza site. Piazza is a web-based platform that allows you to post questions about the course and to receive answers from the instructors, from the TAs, and from your fellow classmates.
Throughout the semester, check Piazza frequently for any new questions, answers, announcements, or other information. To do so, go to the course Piazza site, and click on "Q & A" at the top of the page, (if it is not already selected). In addition to posting and finding answers to your own questions, reading other questions and answers on Piazza can help you learn additional valuable information including assignment assistance and clarifications. And if you encounter a new problem or question, you may well find an answer to it by searching on Piazza.
When using Piazza, please observe the following guidelines:
- Before posting any question, always search the existing Piazza posts first to see if your question has already been asked. If it has, and you don't think the answer(s) are clear, please follow up in that post, rather than creating a new one. As the semester progresses, you should also keep up with reading all of the postings on Piazza and all of the answers there, since this may enable you to discover the answer to some new concern you have even before you realize you need help with that!
- Note that although you can post anonymously, the staff will always be able to see who you are. Be polite, considerate, and do not ask frivolous questions or post frivolous content. Always be aware of how your statements might be perceived by others.
- When posting questions or answers on Piazza, please be careful about what you post, to avoid inadvertently violating the course's Honor Code policy. Specifically, do not include portions of your code (even if it doesn't work) in public questions or answers on Piazza. Please use Piazza for questions about the material for the course, not about how to fix your particular solution.
- If you are asking a question about the material in the class, your post should always be public. You should use private posts only when you need to talk privately with the staff. If your post is of a personal nature, you likely should bring it up with the instructors directly, rather than through Piazza. If your post absolutely requires you to include information about your solution, then your post should certainly be made private. To make your question private, select "Instructor(s)" (rather than "Entire Class") for "Post to" at the top of the posting page, so that only the course instructors and TAs can see your posting.
- Piazza is not always the best avenue to receive help in the course. It may be better to discuss some issues during office hours, for example.
Course Description
The primary goal of this course is to expose you to the underlying aspects of computer systems that have an impact on application programming. The major topics of this course include exceptions, memory allocation and management, networking, and concurrency. These topics are important in all computer systems and will prepare you for future courses in compilers, operating systems, computer architecture, and networking.
Prerequisites
COMP 222 and COMP 215
Textbook
Required:
Randal E. Bryant and David R. O'Hallaron. Computer Systems: A Programmer's Perspective, Third Edition.
Honor Code Policy
Assignments:
Unless otherwise stated, assignments are to be done individually. You may use your text, course notes, and any other reference material (such as C reference books, C reference web pages, or Unix man pages). You may not use any AI-based tools, including, but not limited to, ChatGPT, GitHub Copilot, and TabNine, for any purpose in this course. You may discuss assignment problems, general strategies, or algorithms with other students in the course. However, you may not colloborate on the implementation of those strategies or algorithms and you must write all of your own code. You may not obtain any code from any source, aside from code provided as a part of the course. You may not consult solutions from prior semesters of this course or from similar courses at other universities.
Exams:
There will be two in-person exams: a midterm exam and a final exam.
The midterm exam will be given in person on Wednesday, from 7-9PM at a place to be announced later. The exam will be closed book and closed notes. During the exam, you may not use a computer or access the Internet. The only resources that you may consult are those provided with the exam.
The final exam will be given in person at a time and place set by the registar. The exam will be closed book and closed notes. During the exam, you may not use a computer or access the Internet. The only resources that you may consult are those provided with the exam.
Regrade Request Policy
If you believe your grade on a homework assignment is incorrect and you would like it to be regraded, you must submit your regrade request within one week (7 days) from when grades for that assignment are released. Your regrade request must be submitted by email to Prof. Cox with a "Subject:" of
COMP 321 Regrade Request
Your email must clearly specify what part of the assignment you think was misgraded and why you believe this to be so.
All regrade requests for questions on the exams must be submitted in Gradescope (not by email) and must be submitted within one week (7 days) from when the graded exams are released (or as otherwise announced when the grades are released).
Once you have submitted a regrade request, we will take the time necessary to make sure your assignment is graded fairly. Note that this could mean that your grade goes up, down, or remains the same.
Requests for regrades made in any other way or made after the one-week cutoff for requesting regrades will not be accepted.
Students with Disabilities
Any student with a documented disability seeking academic adjustments or accommodations is requested to speak with me during the first two weeks of class. All such discussions will remain as confidential as possible. Students with disabilities will need to also contact the Disability Resource Center in the Allen Center.