Submitting Project 1
Once you’ve finished everything, you are ready to submit your work. You are submitting your assignment results as commits that have to be pushed to the github repository. The section about staging and committing changes in VSCode gives you a good introduction on how to do this.
We will be using Github Classrom to collect assignments and Moodle to release your scores. We will use Git for version control in the class. If you are new to Git, there are plenty of tutorials online that you can read, e.g., this one.
To summarize the tasks for this project:
- Create a design document based on the template
results/answers.md
. Note the deadline for this document is March 10 2025, 11.59pm. Please make sure to commit and push your edits to the Github repository. - Implement Argument Passing.
- Implement the syscalls as described in the sections
- Process Control Syscalls
- File Operation Syscalls and
- Floating Point Syscalls (for extra credit).
- Design and implement additional tests as outlined in the Sections Concept Checks and Testing.
- Create a final report for the project 1 milestones. This document is based on the design document (feel free to edit that). Especially please correct your designs and explicitly list what you have changed regarding the original design document in the section Changes.
- Fill out the Project 1 questionnaire on Moodle.
Hints
- This assignment does not require writing any assembly code (except the Floating Point Syscalls, which require the use of
volatile asm
inline assembly). - The data structures needed to solve this exercise are
lists
,arrays
andstructs
. In particular, you will not need to use hash maps. - The estimated overall time needed to solve this exercise is about 40h.
Please also note, that once you push to your repository, Github will compile and run your code automatically. This will result in a being added to the home page of your repository, telling you that all tests you added have successfully passed. If you see a
instead, then one or more of the tests in your code have failed and you will have to debug your code. Simply commit and push again once you have fixed the problems.
There is also an introduction to Git available that describes the overall concepts and the use of Git from a command line. It also answers some frequently asked questions.
We have a Github tutorial you might want to have a look at as well.
Last but not least, you can have a look at this document if you are interested in knowing more about Github Classroom.
And that’s it! You’re done!
Grading
We will grade your project 0 based on the test results (40% of your grade) as well as design and code quality and answers to the questions (60% of your grade). Note that the testing grades are fully automated. So please turn in the working code or there will be no credit (for more information see: Grading).