Syllabus

CS 340: Introduction to Computer Systems (Spring 2023)

Basics of computer systems. Number representations, assembly/machine language, abstract models of processors (fetch/execute, memory hierarchy), processes/process control, simple memory management, file I/O and directories, network programming, usage of cloud services. 3 credit hours.

Prerequisites: CS 225

Course Staff

Course Structure

CS 340 meets twice a week for in-person lectures. You will explore systems through real systems, applications, protocols, and implementations. Each week you will have a mastery-based homework that allows you to practice and master the technical concepts. After mastering the concepts, you then apply them in the weekly programming projects (“MPs”). Throughout the semester, you will:

  • Implement real technical specifications, including significant portions of the PNG and HTTP specifications,
  • Implement blocking calls with various locking mechanisms,
  • Experience and fix deadlock in multi-threaded applications,
  • Communicate with web-based APIs for real-time interactive applications,
  • Write your own RESTful and stateful API endpoints, and
  • Combine everything into a final course project.

The first half of the course will be entirely in C, where we focus on applications that need the low-level interfaces and direct access to memory that C provides. The second half of the course will be in a high level language (ex: Python on JavaScript) highlighting the power of abstractions and the use of libraries, containers, and other systems technologies to build complex applications with minimal code.

All of the course content will be posted on the schedule page and as announcements on the front page.

Meetings and Office Hours

Lectures:

  • Tuesdays, 12:30pm - 1:45pm, Lecture in 1404 SC
  • Thursdays, 12:30pm - 1:45pm, Lecture in 1404 SC

Open Office Hours:

  • Sundays, 1:00pm - 3:00pm, 0224 SC (basement of Siebel Center)

  • Mondays, 2:00pm - 6:00pm, 0224 SC (basement of Siebel Center)

  • Tuesdays, 2:00pm - 6:00pm, 0224 SC (basement of Siebel Center)

  • Thursdays, 5:00pm - 7:00pm, 0224 SC (basement of Siebel Center)

  • Fridays, 10:00am - 12:00noon, 0224 SC (basement of Siebel Center)
  • Fridays, 4:00pm - 6:00pm, 0224 SC (basement of Siebel Center)

  • Saturdays, 1:00pm - 3:00pm, 0224 SC (basement of Siebel Center)

Professor Office Hours:

  • Thursdays, 5:00pm - 6:00pm, 0224 SC (basement of Siebel Center)

Course Assignments and Grades

Course grades are given in points, totaling 1,000 points throughout the semester. The breakdown of points is as follows:

  • Homework Assignments: 140 points (~15-20 homeworks given, points evenly divided)
  • Midterm Exam 1: 100 points*
  • Midterm Exam 2: 100 points
  • Machine Projects (MPs): 440 points (11 weeks × 40 points)
  • Final Project: 220 points

*: Due to a typo that was not discovered until March 7: if a weight of 150 on Midterm 1 (and only 170 on the final project) earns you a higher score, you will earn that higher score.

Final Course Grade

Course points will be translated into a course grade at the end of the semester.

Points Earned Minimum Grade Points Earned Minimum Grade Points Earned Minimum Grade
Exceptional A+ [930, 1000+) A [900, 930) A-
[870, 900) B+ [830, 870) B [800, 830) B-
[770, 800) C+ [730, 770) C [700, 730) C-
[670, 700) D+ [630, 670) D [600, 630) D-
[600, 0) F        

We might lower these cutoffs; for example, perhaps 670 points will turn out to be enough for a C-; however, we won’t raise them. (In recent courses I’ve taught these cutoffs have not moved significantly from these targets.)

Extra Credit

There will an opportunities for extra credit in this course (usually called “+1 points”). Points for extra credit work will be assigned after grade cutoffs are determined, so they are a true bonus to your score. The total amount of extra credit you can earn is capped at 100 points (though it is very unlikely we will have that many, but just in case).

Projects

One significant component to this course is the completion of the course project that will be presented during the final exam time slot (as determined by campus). You will have ~3 weeks to complete the project at the end of the semester. With the project, you will focus on building a complete cloud-based service that is uniquely your own. It’s my favorite part of the class and you’ll apply so much of what you learned in the course while finishing your project.

Late Submissions

No late submissions are accepted without prior arrangements.

COVID-19

Don’t come to class if you’re not feeling 100%.

University Policy on COVID-19

Following University policy, all students are required to engage in appropriate behavior to protect the health and safety of the community. Students are also required to follow the campus COVID-19 protocols.

Students who feel ill must not come to class. In addition, students who test positive for COVID-19 or have had an exposure that requires testing and/or quarantine must not attend class. The University will provide information to the instructor, in a manner that complies with privacy laws, about students in these latter categories. These students are judged to have excused absences for the class period and should contact the instructor via email about making up the work.

Students who fail to abide by these rules will first be asked to comply; if they refuse, they will be required to leave the classroom immediately. If a student is asked to leave the classroom, the non-compliant student will be judged to have an unexcused absence and reported to the Office for Student Conflict Resolution for disciplinary action. Accumulation of non-compliance complaints against a student may result in dismissal from the University.

See the most up-to-date policies at https://covid19.illinois.edu/.

Academic Integrity

Collaboration is about working together. Collaboration is not giving the direct answer to a friend or sharing the source code to an assignment. Collaboration requires you to make a serious attempt at every assignment and discuss your ideas and doubts with others so everyone gets more out of the discussion Your answers must be your own words and your code must be typed (not copied/pasted) by you.

Academic dishonesty is taken very seriously in CS 340 and all cases will be brought to the University, your college, and your department. You should understand how academic integrity applies specifically to CS 340: the sanctions for cheating on an assignment includes a loss of all points for the assignment, the loss of all extra credit in CS 340, and that the final course grade is lowered by one whole letter grade (100 points). A second incident, or any cheating on an exam, results in an automatic F in the course.

Academic integrity includes protecting your work. If you work ends up submitted by someone else, we have considered this a violation of academic integrity just as though you submitted someone else’s work.

Campus Resources

Mental Health

Significant stress, mood changes, excessive worry, substance/alcohol misuse or interferences in eating or sleep can have an impact on academic performance, social development, and emotional wellbeing. The University of Illinois offers a variety of confidential services including individual and group counseling, crisis intervention, psychiatric services, and specialized screenings which are covered through the Student Health Fee. If you or someone you know experiences any of the above mental health concerns, it is strongly encouraged to contact or visit any of the University’s resources provided below. Getting help is a smart and courageous thing to do for yourself and for those who care about you.

  • Counseling Center (217) 333-3704, 610 East John Street Champaign, IL 61820
  • McKinley Health Center (217) 333-2700, 1109 South Lincoln Avenue, Urbana, Illinois 61801
  • National Suicide Prevention Lifeline (800) 273-8255
  • Rosecrance Crisis Line (217) 359-4141 (available 24/7, 365 days a year)

This statement is approved by the University of Illinois Counseling Center

To obtain disability-related academic adjustments and/or auxiliary aids, students with disabilities must contact the course instructor and the Disability Resources and Educational Services (DRES) as soon as possible. To contact DRES, you may visit 1207 S. Oak St., Champaign, call 217-333-4603, e-mail disability@illinois.edu or go to https://www.disability.illinois.edu. If you are concerned you have a disability-related condition that is impacting your academic progress, there are academic screening appointments available that can help diagnosis a previously undiagnosed disability. You may access these by visiting the DRES website and selecting “Request an Academic Screening” at the bottom of the page.

Anti-Racism and Inclusivity Statement

The Grainger College of Engineering is committed to the creation of an anti-racist, inclusive community that welcomes diversity along a number of dimensions, including, but not limited to, race, ethnicity and national origins, gender and gender identity, sexuality, disability status, class, age, or religious beliefs. The College recognizes that we are learning together in the midst of the Black Lives Matter movement, that Black, Hispanic, and Indigenous voices and contributions have largely either been excluded from, or not recognized in, science and engineering, and that both overt racism and micro-aggressions threaten the well-being of our students and our university community.

The effectiveness of this course is dependent upon each of us to create a safe and encouraging learning environment that allows for the open exchange of ideas while also ensuring equitable opportunities and respect for all of us. Everyone is expected to help establish and maintain an environment where students, staff, and faculty can contribute without fear of personal ridicule, or intolerant or offensive language. If you witness or experience racism, discrimination, micro-aggressions, or other offensive behavior, you are encouraged to bring this to the attention of the course director if you feel comfortable. You can also report these behaviors to the Bias Assessment and Response Team (BART) (https://bart.illinois.edu/). Based on your report, BART members will follow up and reach out to students to make sure they have the support they need to be healthy and safe. If the reported behavior also violates university policy, staff in the Office for Student Conflict Resolution may respond as well and will take appropriate action.

Community of Care

As members of the Illinois community, we each have a responsibility to express care and concern for one another. If you come across a classmate whose behavior concerns you, whether in regards to their well-being or yours, we encourage you to refer this behavior to the Student Assistance Center (217-333-0050 or http://odos.illinois.edu/community-of- care/referral/). Based on your report, the staff in the Student Assistance Center reaches out to students to make sure they have the support they need to be healthy and safe.

Further, we understand the impact that struggles with mental health can have on your experience at Illinois. Significant stress, strained relationships, anxiety, excessive worry, alcohol/drug problems, a loss of motivation, or problems with eating and/or sleeping can all interfere with optimal academic performance. We encourage all students to reach out to talk with someone, and we want to make sure you are aware that you can access mental health support at McKinley Health Center (https://mckinley.illinois.edu/). Or the Counseling Center (https://counselingcenter.illinois.edu/). For urgent matters during business hours, no appointment is needed to contact the Counseling Center. For mental health emergencies, you can call 911.

Family Educational Rights and Privacy Act (FERPA)

Any student who has suppressed their directory information pursuant to Family Educational Rights and Privacy Act (FERPA) should self-identify to the instructor to ensure protection of the privacy of their attendance in this course. See https://registrar.illinois.edu/academic-records/ferpa/ for more information on FERPA.