This course website is for the Fall 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.

Syllabus

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 engineering profession. In particular, students who have completed this course should

Textbook

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 EWS environment can also be accessed remotely. The first two MPs 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 (excluding MP12) 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.

Quizzes

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.

Important: 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.

Exams

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.

Grading

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

MPsMidtermsFinal ExamQuizzesTotal
15%40%25%20%100%

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.

Absences

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:

... use or attempt 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(d))

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.

⛔️ Caution!

We 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.

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.

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.

Exams and quizzes are individual assessments. Students are not authorized to give or receive assistance during these assesments. Neither electronic nor mechanical devices are permitted while taking the exams or quizzes, 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 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.

⚠️ Note
DRES accommodation requests should be submitted here.

Students needing accomodations should plan ahead of time to take the midterms and final exams at the Testing Accomodations Center.

For accomodations on CBTF quizzes, follow instructions here.

Religious Accomodations

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 the course website 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 using the form provided by the Office of the Dean of Students.

⚠️ Note

Submit your Religious Observances accommodation requests here. Upload the letter generated by the above linked form.

Note: Accommodations for religious observances should be submitted before the 10th day of class.

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 difficulties or 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!

Course atmosphere & final thoughts

We in the Illinois ECE community are committed to understanding, empathizing with, and respecting each other, embracing the many differences among us.

ECE at Illinois is committed to the creation of an anti-racist, inclusive community that welcomes diversity along a number of dimensions. 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 Campus Belonging Resources.

Based on your report, members or staff of the Office of the Vice Chancellor for Diversity, Equity & Inclusion 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.

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