ECE 391: Computer Systems Engineering

Fall 2026

Syllabus

Instructor Kirill Levchenko
Office hour: Mondays 4pm in CSL 458
Dong Kai Wang
Office hour: Mondays 3pm in ECEB 2066
Ujjal Bhowmik
Office hour: Tuesdays 4pm in ECEB 2054
Cucurbita moschata
Grad. TAs Varun Pal (head TA)
Henry Qiu
Jiwoong Jung
Marco Frigo
Michael Bove
Neil Ghose
Head CA Aastha Grover
Lectures Tue & Thu 2 to 3:20 pm
ECEB 1002

Please read the course policies below carefully, as you are expected to abide by them.

Grading

Your course grade will be weighted as follows:

Late Assignments

Please see the Assignments page.

Group Work

We encourage you to discuss lecture material with other students. In addition, MP3 is completed in groups of up to three students. All other assignments must be completed individually. You may not work with anyone else on these assignments.

Permitted Resources

In completing your assignments, you may use the following resources:

  1. Documentation, how-to guides, and tutorials about the software and tools used in class (Qemu, gcc, gas, gdb, etc.), that do not contain information about how to solve assigned programming problems;
  2. RISC-V instruction set manuals, RISC-V Platform-Level Interrupt Controller specifications, Virtual I/O specifications, and any other specifications that do not contain information about how to solve assigned programming problems;
  3. References listed on the course website; and
  4. Wikipedia articles.

You are not allowed to use any resource that does not fall into one of the categories above, unless you have obtained explicit instructor permission.

Prohibited Resources

You are explicitly prohibited from using the following:

The term use in the sentence above should be understood very broadly to prohibit: downloading another person's code, looking at another person's code, compiling another person's code, using another person's code to test your own code. Posession of another student's code on your computer, or storing your code on another student's computer.

You are not permitted to discuss the technical substance of the programming assignments with anyone except the course staff and, for MP3, members of your group.

AI Policy

You are not permitted to use AI in any way unless explicitly permitted in writing by the instructors. Unless you receive written permission from an instructor, you are not permitted to use any IDE with AI functions, with the exception of Visual Studio Code, which must be used with all AI extensions disabled.

Prohibited IDEs include (but are not limited to): Google Antigravity, Cursor, Trae, Windsurf, Zed AI. The Microsoft C/C++ IntelliSense extension is permitted (but not IntelliCode).

Academic Integrity

All work products of this course (machine problems and examinations) must be (a) your own individual work for individual assignments and the work of your team for group assignments, and (b) completed using permitted resources only.

You are responsible for all work your group turns in. Group work should not be viewed as merely a method of dividing labor, but to collaboratively work to produce the best product or outcome. Use of AI by any team member will result in an academic integrity violation for the entire team. You must take proactive steps to make sure that other members of your group complete work in accordance with course policies, including policies on AI use. If you suspect one of your team members of violating a course policy, report this to the course staff immediately.

For team-based assessments, all members are collectively responsible for adherence to this policy. Teamwork, therefore, should not be viewed as merely a method of dividing labor, but to collaboratively work to produce the best product or outcome. There is a danger that use of AI by any team member will result in an academic integrity violation for the entire team. All external materials, including textbooks, websites, and other resources, must be properly cited. Failure to provide appropriate citation will be treated as an academic integrity violation and subject to the same penalties as the use of unauthorized materials.

Plagiarism means representing the ideas of others as your own. Note that plagiarism is not limited to copying another person's code. In the context of this class, plagiarism includes using the ideas expressed in another person's work in your assignments.

Academic integrity violations will be processed through the FAIR system, which retains a record of violations with the college.

If you violate the academic integrity policy on an assignment, you will receive no credit on the assignment and a 10 percentage point (roughly equivalent to a letter grade step) drop in your overall course grade. If you cheat on an exam, you will receive no credit on the exam and a 10 percentage point drop (roughly equivalent to a letter grade step) in your overall course grade.