This page contains instructions on how to set up your computer such that you can:
- program your lab assignments,
- submit your labs for grading, and
- use our black-box testing system.
Step 0) Version Control
While we do not require you to maintain your work using a version control system (VCS) such as Git, we highly recommend that you do! Using a VCS will allow you to effortlessly track changes in your source code, which is very useful when dealing with a code base that evolves across many iterations (as you will in this course). In particular, it will help you revert to an older version of a file so that you can identify problems that might have been introduced along the way. Version control is particularly useful when collaborating with others as you might in the final programming assignment.
Step 1) Project Web Interface
We will use EPFL's Courseware website for the submission and automated testing of the lab assignments. From this interface you can run tests, submit deliverables and receive feedback.
The corresponding course is located at https://courseware.epfl.ch/courses/course-v1:EPFL+CS-320+2018/ (Tequila authentication required.)
All labs will be done individually with the possible exception of the last one.
Step 2) Installing sbt
Make sure your system is running Java 8 before starting.
Step 3) Working on assignments
Once you have installed sbt, you are ready to start the labs. The workflow for each assignment is roughly as follows:
- Download our assignment skeleton from the Courseware website. For the first and the second lab, unpack the archive to a new folder and ideally set up version control. For all subsequent labs the corresponding skeleton will contain new files that you should add to your existing project.
sbtto make sure your build still succeeds. If you run
testat this point it should fail (and would only test a few simple cases provided by us anyways).
- Implement the assignment according to the specification. Throughout the semester we will be providing you with details on each specific assignment.
- Once your implementation is ready, package your submission by running
sbt. This will generate an archive called
submission.zipwhich you can upload on the Courseware website.
- The website will provide you with the outcome of some automated tests that are run on your submission. You can use this information to get an idea of whether your implementation is correct. Note that we will also manually inspect your solutions, so a full score on these tests does not imply that your solution is perfect.