Course Overview and Policies - Spring 2025

ECE_Building.jpg

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

Course Objectives - ECE120 (Introduction to Computing)

As computing systems become increasingly interconnected with all electrical systems (from smart power grids, to wearable electronics, to medical devices), both electrical and computer engineers need an understanding of how computing systems work. This course gives an introduction to the design and programming of computing systems. Throughout the course, we will discuss the connections between hardware and software, exploring the engineering trade-offs in using each platform to develop computing systems as well as how those systems may be used.

This course is the beginning of a three course sequence designed to reinforce this systems approach to computing. In this course, we begin by designing the building blocks of a computer architecture while introducing concepts of programming. By the end of the course you will know how to construct a computer architecture and how to program it in assembly language. In the next course (ECE 220), you will focus on developing your programming skills. Finally, in the third course (ECE 385), you will refine your understanding of computer hardware.

We will explore hardware topics through three modalities: describing circuit behavior with technical specifications using Boolean algebra, simulating circuits using digital design software, and building physical circuits that perform real-world tasks. By using the three modalities (Boolean expressions, circuit drawings and simulations, and actual hardware implementation), students are exposed to the digital systems design cycle, from the problem formulation stage to the actual hardware implementation and verification stage.

After completing this course, students should develop the skills required to solve engineering problems:

  • understand the role and importance of abstraction in computing systems,
  • recognize and be able to make use of standard digital components in designing simple combinational logic,
  • be able to design and implement a simple finite state machine (FSM) as a clock-synchronous sequential circuit using digital logic and as a computer program written in LC-3 assembly language
  • understand the principles of computer organization and understand how computers execute instructions, and
  • be able to write simple programs in both C and assembly language.

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

  • understand the expectations of the engineering discipline in terms of effort, quality, objectivity, and ethics
  • recognize that self-motivation and lifelong learning are necessary to succeed in engineering,
  • be able to articulate the importance of understanding trade-offs, and be able to recognize and identify basic design trade-offs.

The course also exposes students to various laboratory settings and after completing this course the students are expected to

  • be familiar with a Linux command line environment: program execution, file system, text editing,
  • be able to compile, test, and debug simple programs written in assembly and C languages,
  • use professional CAD software on engineering workstations for schematic capture and simulation of small digital circuits, and
  • use a prototyping board and microchips to build simple digital circuits.

Lecture notes: Prof. Lumetta's can be downloaded from (Download Download Download pdf lecture notes).

Textbook

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

                                                                        or 

Yale N. Patt and Sanjay J. Patel,  Introduction to Computing Systems: from bits and gates to C and beyond, 3rd Edition, McGraw-Hill, 2019. (Purchase online textbook here Links to an external site.)

What you should know on the first day of class

Lecture Sessions

Four lecture sections are being offered for ECE 120 this Spring, https://ece.illinois.edu/academics/courses/ECE120. Three sections (AL, AL2, and AL5) will be taught in-person and one section (AL4) will be taught online through Zoom.  You will attend three lectures per week (MWF) during the scheduled lecture times (in-person/ online synchronous lectures). For more information, please see the detailed schedule (link).

Discussion-Worksheet - Every Thursday

You will also attend a weekly discussion session every Thursday. During the scheduled discussion time, you will work with other students on a worksheet. The discussion sessions will be conducted by TAs. You should turn in your completed worksheet to your TA at the end of each session.  We will not accept late or unreadable worksheets. For more information, please see the Discussion Session Canvas page (link).

Homework

Homework assignments and their deadlines will be posted on the Assignments Canvas page (link). Homeworks are submitted online through PrairieLearn (PL) Links to an external site. / GradeScope Links to an external site.. For more information on PL/Gradescope-based HWs and grading policy, please see the link. Homework 1 (PL-based)  is due on Wednesday, January 29, 2025, by 11:59 pm.

Laboratory assignments

There will be three hardware labs and ten software labs in ECE120. Lab instructions/template code will be posted on GitHub. The lab deadlines are posted on the Canvas Detailed Schedule page (link). Labs will be due roughly every week. A failing grade (F) for the course will be given to any student who does not score at least 50% in the labs. Lab 1 -SP25 is due on Friday, January 31, 2025, by 11:59 pm

To gain access to the labs, you must create your repository on GitHub. Follow this link: Github Setup for Lab1 - Spring 2025. The page will guide you through the process of creating a GitHub account and connecting it to the illinois org. Once you have created your GitHub account, you will find the instructions for Lab1 in the README.md file.

Midterms and final exam

There will be three midterms and a final exam in this course. All exams are paper-based in-person exams. Exam dates are posted on the Detailed Schedule Canvas page (link). Detailed instructions on exam policies, syllabus, conflict exam requests, and practice exams will be posted on the Canvas Exam Schedule page.

Prelecture -Quizzes (optional)  - due at 8:30 AM on the day of the lecture session - single attempt

The pre-lecture quizzes, which are closely related to Prof. Lumetta's lecture notes and recording, are due by 8:30 am CST for the lecture covered by the lecture notes (posted in the detailed schedule) on that day. You will take the pre-lecture quiz on PrairieLearn. Links to an external site. Prelecture-Quizzes will be graded on correctness. It can earn you extra credit towards Exams (2% of the overall grade without going over the 60% Exams cap). The extra credit will be calculated based on the overall quiz score (i.e. your overall quiz score on PrairieLearn). The First pre-lecture quiz (i.e. Quiz 2, named based on the lecture number) is due on 1/24/2025.

In-class - Quizzes (optional) - during the lecture session - single attempt

The quiz is intended to determine if the student understands the basic concepts covered in the class/lecture while encouraging attendance.  There is a marked negative correlation between those who do not attend class and do poorly in the course. The pop quizzes will be administered during lecture time. They are paper-based (for AL, AL2, and AL5 sections) and via web tools or a google form for online section, AL4; the exact number of quizzes will be determined throughout the semester.

In-class pop quiz policies:

  1. We may announce the week of the pop quiz in advance.
  2. The pop quiz is expected to take an average 5 mins.  We expect to have approx. 5-6 mins quizzes during the semester.
  3. In-class quizzes will be graded on correctness.
  4. These quizzes can earn you up to 1% extra credit towards your overall grade, independent of the exam cap.
  5. There will be no make-up quizzes.

 

Getting help

The  ECE 120 Staff are committed to helping you learn, but you must ask for help! If you have technical questions, please ask during Office Hours or post a question on the Campuswire. You can also ask your instructor or TA quick questions after lecture or discussion. If you have questions about how to improve your learning skills, please feel free to ask any member of the course staff with whom you feel comfortable. These conversations are best had in person/Zoom (face-to-face) rather than by email. Finally, if you have questions about course logistics/policies or can't get your question answered any other way, please email Prof. Bhowmik.

Grading Policy

  • Homeworks - 10% (lowest two homework grades will be dropped)
  • Labs - 20% (lowest single lab grade will be dropped, excluding Labs 8, 12 and 13)
  • Discussion - 10% (lowest two discussion-worksheet grades will be dropped)
  • Midterm 1 - 10%
  • Midterm 2 - 15%
  • Midterm 3 - 15%
  • Final Exam - 20%

Every homework assignment will be weighted equally, even though the raw totals may be different. Likewise, every lab will be weighted equally. The lowest two homework grades will be dropped. The lowest single grade will be dropped among labs. For this reason, there will be no deadline extensions for any individual (personal) reasons.

Grade cutoffs:

A+   97 - 100 B+   87-89.99 C+   77-79.99 D+   67-69.99 F < 60
A     93-96.99 B     83-86.99 C     73-76.99 D     63-66.99
A-    90-92.99 B-    80-82.99 C-    70-72.99 D-   60-62.99

In the event that course performance is worse than expected, these cutoffs might be lowered, but they will never be raised. Otherwise, they are strict. For example, a grade of 89.99 is a B+ and not an A-. A failing grade (F) for the course will be given to any student who does not score at least 50% in the labs.

Submitting Regrade Requests (exam/homework/Lab)

Regrade requests for Canvas-based written Homework(HW) must be submitted to Gradescope. Note that the PL-based HWs are auto-graded. They are well-tested for accuracy. There will be no regrade requests for PL-based HWs. ECE120 labs are auto-graded. Lab regrade requests should be submitted to the head grader, Yehya (yehyas2@illinois.edu). If you have any concerns with the regrade requests email Prof. Bhowmik (ubhowmik@illinois.edu) within one week after you have received the graded Labs/HWs/Exams (this date is not extended if you do not claim your work on time.) You must explain why your answer merits more points. In the subject line of your email mention "Regrade Request: HW/Lab/Exam xx, Lecture Section xx". "xx" will be replaced by HW/Lab/Exam no. and section no (e.g. AL1/AL3/AL2) respectively. Any portion of the assignment other than what you asked for regrade might also be regraded which could result in an overall reduction in your assignment grade. Discussion Grading Policy and Regrade Request (link).

Submitting Late Work

We will not accept late homework (unless specified on Canvas/PrairieLearn) or lab assignments. If the Lab is not returned by the due time, you will receive 0 points for it. No exceptions.

Hardware Labs:

ECE120 has a combination of hardware and software labs. All the labs will be performed individually by the students. For hardware labs, students will need lab kits to perform the labs. It’s time to get students their Kits! Please take a look at the website, https://ece.illinois.edu/academics/ugrad/lab-kits, to request your lab kits (link)

Important Dates (hardware lab kits):

Order Window: Monday  1/13  - Thursday 1/30 @ 4PM.

In Person Pickup Window: Tuesday 1/21- Friday 1/31 at Room ECEB 1024 in the Facilities Corridor on the 1st Floor - 10AM- 2PM

Last day to report missing parts : Friday Feb 7 (In Person Only - We will not ship missing components)

--> Any kits not ordered by and picked up during these windows will need to be purchased. <-- 

Quick Links:

Online Store: https://my.ece.illinois.edu/buy/

Local Pickup hours: 10AM- 2PM

Local Pickup Location:  ECEB 1024 in the Facilities Corridor on the 1st Floor

ECE120 Lab Kits: ECE120 Lab Kits can be acquired free of charge. Please read FAQs (link) before ordering. Mistakes will cause delays in receiving your kit! Email ece-kits@illinois.edu if you have any questions regarding the lab kits! 

James Scholar honors lab:

James Scholar students or those working on honors labs to become James Scholars are invited to participate in the James Scholar Honors Lab. For more information, please see the link

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

How might cheating arise in a class like ECE 120? If two people work together on a homework or lab assignment and hand in the same, or a substantially similar solution, that would be "Substantial portions of the same academic work." If you need help and, during the course of helping you debug, a friend gives you a few lines of code, this is "using... information... known to be unauthorized." Letting someone else do your homework or write code for you is absolutely a violation.

Cheating is an offense to the entire academic system: 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, helping someone cheat, or not reporting cheating that you know of, the incident will be reported to the College.

Guidelines for Authorized Assistance

Homework and software lab assignments will be graded individually. Students can receive assistance, but they should not view another student's homework solutions or code and may not write homework solutions and code for others. Students should not post their code or problem solutions electronically. We recommend that students discuss flow charts and algorithms, but write their own code by themselves. Similarly, students are welcome to discuss homework assignments with peers, however, they must write up their final solutions on their own.

Hardware labs are individual activities

Exams are individual assignments. Students are not authorized to receive assistance from each other.

If you are confused about what exactly is or is not permitted, please ask the course instructors for clarification. Confusion or ignorance of the rules is not an excuse.

Absence Policies (link)

University and College Policies, Religious Observance, DRES, FAIR, Sexual Misconduct, and FERPA policies and Statements (link)