This course website is for the Spring 2024 offering of ECE 220 - Computer Systems & Programming, which is shared between all sections. ECE 220 is a sophomore-level course taken by both the Computer Engineers and Electrical Engineers at the University of Illinois. Below, you will find the course syllabus, objectives, and other details.


This course will focus on C programming, where each new C concept will be related to the fundamental concepts described in ECE120. We will start by finishing our coverage of low-level concepts such as I/O, subroutines, and stacks in LC-3 assembly language, then move on to C. We will cover basic programming concepts, functions, arrays, pointers, I/O, recursion, simple data structures, and ideas in object-oriented programming. Such a bottom-up understanding of computing systems has proven more successful in helping students understand advanced computing concepts that follow in the ECE curriculum.

Again, this course requires that you take ECE120 first. Concurrent enrollment is not acceptable. If you do not meet this requirement but think you should still enroll, speak with the instructor.

Course Objectives

After completing this course, students should

Since this is a sophomore course, we also have explicit objectives for providing students with an understanding of the profession. In particular, students who have completed this course should


This course is mostly based on the textbook listed below, but we will provide different examples, additional reading materials, and a somewhat different viewpoint in the lectures.

  1. Introduction to Computing Systems: from bits and gates to C and beyond, Yale N. Patt and Sanjay J. Patel, 2nd Edition, McGraw-Hill, 2003.

  2. Introduction to Computing Systems: from bits and gates to C and beyond, Yale N. Patt and Sanjay J. Patel, 3rd Edition, McGraw-Hill, 2019.

You can purchase online textbook here đź”—.

Machine Problems (MPs)

There will be programming assignments (MPs) roughly every week worth 100 points each. MPs will be distributed on Thursday and due (by computer hand-in via Github) the following Thursday at 10.00 pm . If you are working in a group, each member must turn in their copy of the code in Github. We cannot grade your partner's copy as yours. Note that it's your responsibility to ensure the latest code submission is the version you want to be graded. These assignments will use the EWS laboratory environment. The first two will require you to write LC-3 assembly language, while the remaining will require you to write C code. Some of the assignments may build from week to week.

⚠️ Note
There's no deadline extension for COVID related or other medical and non-medical related circumstance. You can turn in the assignments late until Saturday (48 hours after the deadline) and get a penalty of 2 points for each hour late. The lowest MP score will be dropped at the end of the semester.

James Scholar students who wish to earn honors credit in this course can do one of the following:

Programming Labs

There will be weekly programming studios or Labs in which we work together as a class on a piece of code related to that week's programming assignment and concepts.

You will receive 10-point extra credits for completion of each week's lab worksheet to make up for lost points in the MPs.

Each lab worksheet should be submitted to Gradescope by its respective deadline. Labs are considered extra credit opportunities: we do not accept late submissions for them.


There will be six CBTF quizzes that test your mastery of the materials covered in the previous weeks. A mock quiz is offered at the beginning of the semester for you to get familiar with the testing environment and earn extra credits to make up for lost points in the quizzes.

You can schedule each quiz 10 days in advance with CBTF.

If you are experiencing technical difficulty in the testing center, it's recommended to file an incident report with a proctor so that your issue is properly documented. Work with the proctor to resolve the issue at the time before logging off. If you do not inform a proctor of a problem during the test then you forfeit all rights to addressing the problem you experienced during your exam. The quiz schedule can be found under Evaluation on the sidebar to the left.

⚠️ Note
There is no makeup for missed quizzes due to COVID related or other medical and non-medical related circumstance. Instead, the lowest score from your quizzes will be dropped.

A second extra credit opportunity may be offered via a take-home quiz towards the end of the semester.


There will be two midterm exams and a final exam. The midterm exam dates are:

All exams are in-person on campus and paper based. Conflict exams will be provided strictly as per policy and reasons for conflicts must be well documented within the set deadlines for each exam.

⚠️ Note
Information regarding exams (including any conflict exam dates & notification deadlines) will be posted at this link when they become available.


The contribution of each course component towards the final grade is as follows:

MPsMidtermsFinal ExamQuizzesTotal

Note that, the labs only garner bonus points, which helps offset points lost in other assignments, but they receive no weightage in the final grading.


To do well in this class, attendance of lectures is crucial in the sense that exams will be based on both lectures and assigned reading materials. You are responsible for all lecture materials and for any announcements made in class, whether or not you are present. If you miss a class, you should ask a classmate to review their notes from that day. If you have to miss classes for a prolonged period due to serious illness, you should speak to the teaching assistant and/or the instructor as soon as possible. See important information regarding absence letters.

⛔️ Caution!
You should plan to take the midterms and the final exam (or their respective conflict exams) unless you intend to secure an Incomplete grade at the send of the semester.

Cheating and Academic Integrity

We take cheating very seriously.

The Student Code defines cheating as:

Using or attempting to use in any academic exercise materials, information,study aids, or electronic data that the student knows or should know is unauthorized (§1-402(a))

and notes that:

Substantial portions of the same academic work may not be submitted for credit more than once or by more than one student without authorization. (§1-402(a)(4))

The student code also disallows facilitation of cheating, prohibiting

Helping or attempting to help another to commit an infraction of academic integrity, where one knows or should know that through one’s acts or omissions such an infraction may be facilitated. (§1-402(c))

Cheating is an offense to the entire academic ecosystem: you, your classmates, and the course staff. It creates extra work for the course staff, it creates grading imbalances for your classmates, and it prevents you from learning the material that the rest of your academic career is built on.

We will take cheating very seriously. If we catch you cheating, or helping someone cheat, the penalty will not be less than a zero on the applicable assignment and the incident will be reported to the College.

Guidelines for authorized assistance

You are encouraged to study in groups and to come to office hours in groups. Studying in groups usually will result in all of you understanding the material better. You, working with other study group members, can often unravel concepts to the benefit of all group members much better than one person working alone can.

You may work in groups of up to three for MPs. Within your declared groups, you can do anything you want. However, you must turn in your own MP assignment in your repository; we cannot use your group mate's submission for grading. Your submission can otherwise be bitwise identical to your group mate's.

Copying code from old MPs is NOT allowed. This is the most common reason we have to report academic integrity violations. Outside your declared group, any specific discussion about the MPs is discouraged until past the late submission deadline.

Specifically prohibited are:

You will be required to declare your group members for each MP. You may change groups for each MP or retain the same group throughout the semester. If we detect evidence of collaborations on MPs outside of the declared groups, we will deem any such inter-group assistance to be unauthorized.

⛔️ Caution!
If any case of cheating is found on your MPs, you will lose at least 50% of your total MP grade (7.5% of total score) and be reported to the college. For severe case of cheating, additional penalty will be applied at the instructor's discretion.

Exams are individual assessments. Students are not authorized to give or receive assistance. Neither electronic nor mechanical devices are permitted while taking the exam, except those that are medically necessary.

If you are confused about what exactly is or is not permitted, you should ask the course coordinator (Dr. Abraham, itabrah2 [at] illinois [dot] edu) for clarification. Confusion or ignorance of the rules is not an excuse.

DRES & Religious Accomodations

To ensure that disability-related concerns are properly addressed from the beginning, students with disabilities who require assistance to participate in this class should apply for services with DRES and notify the instructor as soon as possible. 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 diagnose a previously undiagnosed disability. Please find resources available by visiting the DRES website.

Illinois law requires the University to reasonably accommodate its students’ religious beliefs, observances, and practices in regard to admissions, class attendance, and the scheduling of examinations and work requirements. You should examine this syllabus at the beginning of the semester for potential conflicts between course deadlines and any of your religious observances. If a conflict exists, you should notify your instructor of the conflict.

⚠️ Note
DRES and Religious Observances accommodation requests should be submitted here. Accommodations for religious observances should be submitted before the 10th day of class.

Students who need DRES accommodation at CBTF should follow the instructions on the CBTF website.

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.

⚠️ Note
If you are in immediate danger, call 911!

*This statement is approved by the University of Illinois Counseling Center.

All rights reserved by ECE220@UIUC. Design by Asher Mai & Ivan Abraham.
Last modified: January 18, 2024. Website built with Franklin.jl and the Julia programming language.