ECE 391: Computer Systems Engineering

Summer 2025 (Online)

Syllabus

Zea mays
Instructor Dong Kai Wang
See Office Hours Schedule
Grad. TAs Stanley Wu
Head CA Ingi Helgason
Lectures Tuesday & Thursday 7:00-9:00PM CDT
Online via Zoom

Please read the course policies below carefully, we expect you to understand them. ECE391 Summer 2025 is a fully online course with the same content and assignments as the regular Spring/Fall semester, but on a slightly accelerated schedule of 12 weeks rather than 15 weeks. Lectures and office hours will take place on Zoom, lectures will also be recorded for asynchronous viewing. There are no lab/discussion sections, instead, we will upload supplemental tutorials or web recordings of material relevant to the MPs online. Exams are proctored online, there will be two exams (one midterm and final) instead of three exams. Some MPs are autograded, and others will be demoed online. The MP schedule can be found on the schedule link. IMPORTANT: US Central Time (CDT) will be used as the standard for all times, including office hour times and assignment deadlines.

Grading

Your course grade will be weighted as follows:

Late Policies

Certain MPs and/or MP checkpoints can be submitted late by up to 3 days (72 hours) from the original deadline, at a penalty applied to your grade for that MP or checkpoint. We will indicate on the MP document where this late policy applies. The late penalties are applied as follows: 10% penalty if submitted within a day (24 hours) late, 30% if within two days (48 hours), 60% if within three days (72 hours). There are no additional extensions for any MP assignments.

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; 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 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!