Overview
Welcome! This is the site for the Computer Engineering class at Friedrich Schiller University Jena, taught by the Scalable lab. If you get stuck, spot errors, or have feedback, please let us know.
Communication
Our class has a separate Matrix room. Access information is shared on Moodle. Please use common sense when navigating the virtual space; for example:
You may use the room to ask questions.
You may use the room to discuss class-related topics with your peers.
Before the due dates, you may share lab solutions only with your direct teammates.
All files of the class, i.e. slides and recordings, are also available via a password-protected Nextcloud share. You can obtain the link and password via Moodle.
Artificial Intelligence
The use of artificial-intelligence (AI) assistants is allowed and encouraged. Use AI tools responsibly. Here are some good use cases:
Ask for help after attempting a task on your own and getting stuck for a while.
Discuss your solutions and ask for feedback on your code and answers.
Look up the meaning of errors and warnings (e.g., compiler errors).
Do not produce or submit “AI slop.” Do not paste entire tasks into a chatbot or submit the output as your solution.
Sessions
Day |
Time |
Location |
Type |
---|---|---|---|
Mon |
12:15PM - 01:45PM |
HS 250, FG 1 |
Lecture |
Mon |
04:00PM - 07:00PM |
SR 102, ABS 4 |
Open Lab, Q&A |
Tue |
12:15PM - 01:45PM |
HS 250, FG 1 |
Lecture |
Tue |
04:00PM - 06:15PM |
SR 225, CZS 3 |
Lab 1 |
Wed |
04:00PM - 06:15PM |
SR 114, ABS 4 |
Lab 2 |
Thu |
04:00PM - 06:15PM |
SR 102, ABS 4 |
Lab 3 |
Fri |
08:30AM - 11:30AM |
SR 107, ABS 4 |
Open Lab, Q&A |
Fri |
12:00PM - 02:15PM |
SR 107, ABS 4 |
Lab 4 |
Special Events
What? |
Date |
Comment |
---|---|---|
Reformationstag |
Fri 10/31 |
No lab, no open lab |
Dies Academicus |
Tue 11/18 |
No lecture |
Assignments
Week |
Due Date |
Mandatory Tasks |
Optional Tasks |
---|---|---|---|
1 |
10/20 |
1.1, 1.2 |
– |
2 |
10/27 |
||
3 |
11/03 |
||
4 |
11/10 |
||
5 |
11/17 |
||
6 |
11/24 |
||
7 |
12/01 |
||
8 |
12/08 |
||
9 |
12/15 |
||
10 |
01/05 |
||
11 |
01/12 |
||
12 |
01/19 |
||
13 |
01/26 |
||
14 |
02/02 |
Literature
Sarah Harris, David Harris: Digital Design and Computer Architecture: ARM Edition. In addition to the linked electronic version, you may borrow a hard copy from ThULB.
Sarah Harris, David Harris: Companion Materials of Digital Design and Computer Architecture: ARM Edition.
SystemVerilog Guide for Harvard’s CS141 class.
Larry Pyeatt, William Ughetta: ARM 64-Bit Assembly Language.
Neil Weste, David Harris: CMOS VLSI Design: A Circuits and Systems Perspective.
MIT: Computation Structures.
Columbia: Fundamentals of Computer Systems.
Submissions
Our class follows solid computer and software-engineering practices. In short: Pay close attention to the quality of your work.
Do the following:
Document your source code, especially modules and functions you introduce.
Write testbenches for SystemVerilog modules and unit tests for software. Introduce these alongside new features; this habit makes the requirement painless.
Take issues seriously (e.g., compiler warnings) and don’t take shortcuts: no hacks!
Test your code and user guides on the reference machine(s).
Deliverables:
Cover sheet with the full names of all group members!
Source code where required in the assignments. Respective source code documentation and tests are mandatory.
Project report (PDF) of at most one page addressing the respective submission. Briefly describe each group member’s contribution.
Use the following directory structure for every submission:
Name the root directory
submission_<due_date>_<surname_1>_<surname_2>
;Save your cover sheet in file
submission_<due_date>_<surname_1>_<surname_2>/cover.pdf
;Put all source code in the subdirectory
submission_<due_date>_<surname_1>_<surname_2>/src
; andSave your report in file
submission_<due_date>_<surname_1>_<surname_2>/report.pdf
.
Now let’s go through an example. Assume that the due date for our submission is October 20 2025. The full names of the two team members are Johann Sebastian Bach and Friedrich Schiller. In this case we’d do the following:
Name the root directory
submission_25_10_20_bach_schiller
;Save our cover sheet in file
submission_25_10_20_bach_schiller/cover.pdf
;Put our source code in
submission_25_10_20_bach_schiller/src
; andSave our report in file
submission_25_10_20_bach_schiller/report.pdf
.
Create an xz tarball from your root directory with the name submission_<due_date>_<surname_1>_<surname_2>.tar.xz
.
Once again, the two team members Bach and Schiller would name their file submission_25_10_20_bach_schiller.tar.xz
.
Hint
The following command creates the tarball for our running example:
tar -cvJf submission_25_10_20_bach_schiller.tar.xz submission_25_10_20_bach_schiller
Upload your tarball to Moodle.
Every team member must upload the file.
In our example: Team Bach and Schiller is ready to submit submission_25_10_20_bach_schiller.tar.xz
.
Now, Bach logs in to Moodle and uploads the file.
Further, Schiller logs in to Moodle and uploads the file as well.