Syllabus

CS 240: Introduction to Computer Systems (Fall 2021)

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 240 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

In-Person Activities:

  • Tuesdays, 12:30pm - 1:45pm, Lecture in 2035 CIF
  • Thursdays, 12:30pm - 1:45pm, Lecture in 2035 CIF

Office Hours:

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: 150 points (10 × 15 points), points over 150 are extra credit
  • Midterm Exam 1: 100 points
  • Midterm Exam 2: 100 points
  • Machine Projects (MPs): 500 points (10 weeks × 50 points)
  • Final Project: 150 points

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’s unlikely we’ll have quite that many, but just in case).

Projects

One significant component to this course is the completion of the course project (100 points). 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.

University Policy on Face Coverings

All students, faculty, staff, and visitors are required to wear face coverings in classrooms and university spaces. This is in accordance with CDC guidance and University policy and expected in this class.

Please refer to the University of Illinois Urbana-Champaign’s COVID-19 website for further information on face coverings. Thank you for respecting all of our well-being so we can learn and interact together productively.

University Policy on Building Access

In order to implement COVID-19-related guidelines and policies affecting university operations, instructional faculty members may ask students in the classroom to show their Building Access Status in the Safer Illinois app or the Boarding Pass. Staff members may ask students in university offices to show their Building Access Status in the Safer Illinois app or the Boarding Pass. If the Building Access Status says “Granted,” that means the individual is compliant with the university’s COVID-19 policies—either with a university-approved COVID-19 vaccine or with the on-campus COVID-19 testing program for unvaccinated students.

Students are required to show only the Building Access Screen, which shows compliance without specifying whether it was through COVID-19 vaccination or regular on-campus testing. To protect personal health information, this screen does not say if a person is vaccinated or not. Students are not required to show anyone the screen that displays their vaccination status. No university official, including faculty members, may ask students why they are not vaccinated or any other questions seeking personal health information.

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 240 and all cases will be brought to the University, your college, and your department. You should understand how academic integrity applies specifically to CS 240: the sanctions for cheating on an assignment includes a loss of all points for the assignment, the loss of all extra credit in CS 240, 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

Diminished mental health, including significant stress, mood changes, excessive worry, substance/alcohol abuse, or problems with eating and/or sleeping can interfere with optimal 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 at no additional cost. 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

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.

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.