ECE 391: Computer Systems Engineering

Spring 2025

Syllabus

Zea mays
Instructor Kirill Levchenko
Mondays 4pm in CSL 458
Grad. TAs Deniz Caglar (head)
Sharvil Garg
James Menezes
Vinay Patel
Hao Ren
Tianchen “Jerry” Wang
Head CA Keegan Teal
Lectures Tue & Thu 2 to 3:20 pm
ECEB 1002

Please read the course policies below carefully, we expect you to understand them.

Grading

Your course grade will be weighted as follows:

Late Assignments

Late assignments will not be accepted.

Group Work

We encourage you to discuss lecture material with other students. In addition, some programming assignments are designated as a group assignment. You must work with your group on these assignments. Assignments that are not specifically designated group assignments must be completed individually. You may not with work 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.

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 not permitted to use the following to complete your assignments:

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.

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.

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 only of your team for group assignments, and (b) completed using permitted resources only.

You are responsible for all work your group turns in. You must take proactive steps to make sure that other members of your group do not cheat or plagiarize.

Historically, the most common academic integrity violation is this class has been plagiarism. 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 (roughly equivalent to a letter grade step) drop in your overall course grade.

Disintegrations

You are free to use any methods necessary, but I want them alive. No disintegrations!