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

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

  • Save 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; and

  • Save 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.