Commit 02e69595 authored by Alexander Hirsch's avatar Alexander Hirsch
Browse files

Submission via GitLab

parent 9d1e140c
......@@ -5,7 +5,7 @@
| 2021-03-05 | *Introduction* |
| 2021-03-12 | *Explaining lexer & parser code* |
| 2021-03-19 | Lexer complete |
| 2021-03-26 | |
| 2021-03-26 | Team composition |
| 2021-04-16 | Parser complete |
| 2021-04-23 | |
| 2021-04-30 | Semantic checks complete |
......@@ -16,12 +16,11 @@
| 2021-06-04 | |
| 2021-06-11 | TAC → ASM (with function calls) complete |
| 2021-06-18 | CFG generation complete |
| 2021-06-25 | Build Test Submission deadline |
| 2021-06-25 | |
| 2021-07-16 | Final Submission deadline (no extensions) |
- [mC Compiler Specification](specification.md)
- [Getting Started Code-base](https://git.uibk.ac.at/c7031162/mcc)
- [Submission Guidelines](submission.md)
## Structure
......@@ -38,8 +37,12 @@ Teams may span across proseminar groups.
The proseminar takes place online [over at Twitch](https://www.twitch.tv/AlexWarhawk), attendance is not mandatory.
I recommend sending me snapshots of your code-base, I'll provide feedback on stream.
Please follow the submission guidelines.
### Repository
Host your code on the University GitLab and add me as developer to your repository.
Furthermore, it is required to set up GitLab CI to automatically build and test your code.
The getting started code-base comes with a basic [`.gitlab-ci.yml`](https://git.uibk.ac.at/c7031162/mcc/blob/master/.gitlab-ci.yml).
### Programming Language
......@@ -55,6 +58,26 @@ Go easy on external dependencies and obscure language extensions — yes, I'm lo
Code readability is paramount.
Using overly complex or cryptic concepts may negatively impact the evaluation process — again, looking at you, Haskell and your voodoo magic lenses.
## Submission
### Team Composition
Send me a mail (one per team) with the names of your team members and a link to your repository.
Don't forget to add me as developer to your repository.
### Feedback Request
Just message me whenever you want to receive feedback on your code.
Tell me which commit to look at.
Ensure that the repository does not contain any personal information like names or student IDs as I'll be going over it on stream.
### Final Submission
Add the tag `final` to the revision you want me to look at for the final evaluation.
I'll only evaluate your solution if the corresponding CI job builds and tests your code successfully.
## Grading
The final grade is computed solely from the final submission.
......@@ -68,3 +91,5 @@ Just message me on Discord if you need anything.
Alternatively, you can send me an email using the following link.
📧 [send email](mailto:alexander.hirsch@uibk.ac.at?subject=703602%20-%20)
You can also open issue on GitLab, please message me if I do not respond within 24 hours; I might not have received a notification.
......@@ -27,7 +27,6 @@ This includes things like:
- Contains list of prerequisites
- Contains build instructions
- Contains *Known Issues* section
- Submitted code builds successfully.
- `mcc` executable operates as demanded by the specification.
- A respective executable can be built and run for the *mandelbrot* test input.
......
......@@ -12,7 +12,7 @@
As stated by the curriculum, your task is to build a simple compiler for a small procedural programming language.
It's quite hard to fit this goal into the 5 ECTS budget of this module (lecture included), nevertheless I think I found the right trade-offs with the given specification.
Still, it is highly recommended to work in teams and that you start early - always trying to be ahead of schedule.
Still, it is highly recommended to work in teams and that you start early always trying to be ahead of schedule.
</aside>
## Prerequisites
......@@ -31,7 +31,7 @@ While I don't care whether you have officially finished your bachelor, you shoul
- - -
- Fluent in C (or C++, or Go, or Rust, or Haskell)
- General programmer mindset
- General programming mindset
- Knowing your tools
- Algorithms and data structures
......@@ -44,9 +44,9 @@ While I don't care whether you have officially finished your bachelor, you shoul
<aside class="notes">
Since this course is very programming intensive, you need to be fluent in one of these languages.
If choose C and think strings are compared using `==` you'll have a very hard time.
If you choose C and think strings are compared using `==` you'll have a very hard time.
For OS, if you think calling `exec` without `fork` while implementing a library is a good idea, maybe revisiting the OS course would be a good idea.
For OS, if you think calling `exec` without `fork` while implementing a library is a good idea, maybe consider revisiting the OS course.
</aside>
- - -
......@@ -81,10 +81,6 @@ The lecture and proseminar assumes that you are familiar with the basics of gram
- Specification provided
- Evaluation scheme provided
## Requirements
- Working compiler
## Recommended Schedule
- See README
......@@ -93,11 +89,6 @@ The lecture and proseminar assumes that you are familiar with the basics of gram
You are free to deviate from this schedule.
</aside>
## Submissions
- End of June: build test submission (optional)
- Mid of July: final submission (no extensions)
## Teams
- 1–3 people
......
# Submission Guideline
- Replace `XX` with your team number with leading zero (e.g. `02`).
- One submission *per team*.
- Familiarise yourself with the `git archive` command.
## Feedback Request
1. Run the following command, assuming you want to submit the currently checked out version:
$ git archive --prefix=feedback_request/ --format=zip HEAD > feedback_request.zip
2. Verify that the resulting archive contains everything you want to submit and nothing more.
3. Ensure that the resulting archive does not contain any personal information like names or student IDs.
4. Submit the archive via mail using the following line as subject (or link below).
703602 - Feedback Request
📧 [send email](mailto:alexander.hirsch@uibk.ac.at?subject=703602%20-%20Feedback%20Request)
## Build Test Submission
1. Run the following command, assuming you want to submit the currently checked out version:
$ git archive --prefix=team_XX_build_test/ --format=zip HEAD > team_XX_build_test.zip
2. Verify that the resulting archive contains everything you want to submit and nothing more.
3. Submit the archive via mail using the following line as subject (or link below).
703602 - Team XX Build Test Submission
📧 [send email](mailto:alexander.hirsch@uibk.ac.at?subject=703602%20-%20Team%20XX%20Build%20Test%20Submission)
## Final Submission
1. Run the following command, assuming you want to submit the currently checked out version:
$ git archive --prefix=team_XX_final/ --format=zip HEAD > team_XX_final.zip
2. Verify that the resulting archive contains everything you want to submit and nothing more.
3. Ensure everything works.
- Everything builds
- No (unjustified) warnings
- All unit tests succeed
- All integration tests succeed
- No memory is leaked
- Known issues is present and up-to-date
4. Submit the archive via mail using the following line as subject (or link below).
703602 - Team XX Final Submission
📧 [send email](mailto:alexander.hirsch@uibk.ac.at?subject=703602%20-%20Team%20XX%20Final%20Submission)
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment