Cours de Master: Modélisation et Vérification
Switch branches/tags
Nothing to show
Clone or download
Damien Morard
Latest commit 2bc0712 Nov 12, 2018
Failed to load latest commit information.
Annotation Add files via upload Nov 9, 2018
Courses Add files via upload Nov 8, 2018
exercices Add files via upload Nov 8, 2018
homework Correction of file test, now first test passed Nov 12, 2018
.gitignore Update Oct 23, 2018 Update Nov 9, 2018

Modeling and Verification @ University of Geneva

This repository contains important information about this course. Do not forget to watch it as it will allow us to send notifications for events, such as new exercises, homework, slides or fixes.

Important Information and Links

  • Page on GitHub:
  • Courses are Thursday 14:00 - 16:00
  • Exercises are Thursday 16:00 - 18:00
  • Team: Prof. Didier Buchs, Stefan Klikovits, Damien Morard
  • Use Github issues to communicate with us (public)
  • For private matters send an email or come see us in our offices:
    • (office 217)
    • (office 222)
    • (office 221)


This course requires the following mandatory environment. We have taken great care to make it as simple as possible.

  • GitHub: a source code hosting platform that we will for the exercises and homework. Create an account, and do not forget to fill your profile with your full name and your University email address. Ask GitHub for a Student Pack to obtain free private repositories.
  • MacOS High Sierra or Ubuntu 18.04 LTS 64bits, if needed in a virtual machine, for instance using VirtualBox, or directly with a dual boot.
  • Atom: a text editor, that we will use to type the sources.

You also have to:

The environment you installed contains:

  • Git: the tool for source code management;
  • Atom: the editor we will use. You will want to add the language-swift package. (Perhaps also autocomplete-swift).

Make sure that your repository is up-to-date by running frequently:

  git pull course master


  • You must do your homework in your private fork of the course repository.
  • You must fill your full name in your GitHub profile.
  • If for any reason you have trouble with the deadline, contact your teacher as soon as possible.
  • The assistants must have access to your source code, but nobody else should have.
  • Unless explicitly stated, the exercises are personal work. No collaboration, joint work or sharing of code will be tolerated. You can however discuss general approaches with your colleagues.
  • Your source code (and tests) must pass all checks of swift test without warnings or errors.


  • All homeworks are located in the homework/ directory.
  • There will be a specific subfolder for each homework (e.g. homework/hw1_petrinets). Use it. Do not rename the folder, place your solutions anywhere else, or do other things.
  • do not rename any files, variables, functions, classes, ... unless you are instructed to do so!
  • read the complete instructions before starting an assignment
  • follow the instructions given to you in the assignments
  • The swift compiler will warn you. Make sure you don't see any warnings when you compile your code. You can use swift build to run it.
  • For testing, we use XCTest. It is already installed in your environment, and can run all the tests within the test folder files using: swift test.

Homework Deadlines

You have until 23:59:59 on these dates to push your solutions to your (private) repository. Generally: No late submissions, no extensions, no exceptions, no dogs eating homework. If you are in an unfortuante circumstance where you do need an extension, tell us beforehand. (Sending an email two hours before the deadline is not beforehand).

No. 1 2 3 4 5 6
Date 10. Oct. 24. Oct. 7. Nov. 21. Nov. 5. Dec. 19. Dec.

Mandatory Code Reviews

  • Additionally to submitting homework, you will also be invited to mandatory code reviews.
  • Every week a handful of students will be randomly selected to come to the assistants' office and explain their code and what they have done.
  • The reviews will be about 5 to 10 minutes long and you are expected to confidently present your work.
  • These talks will be graded and will be counted towards your grade of the practical work.


  • The grades of all six TPs + the average of your code review grades, devided by 7

  • Here is an example oft the calculation, assuming there are three code reviews (CR). Note that the number of actual CRs might differ in the end

    TP1 TP2 TP3 TP4 TP5 TP6 CR1 CR2 CR3
    4 5 4 5 6 5 6 4 5

    Results in this grade:
    Average of code reviews: (6 + 4 + 5) / 3 = 5
    Final note = (4 + 5 + 4 + 5 + 6 + 5 + 5) / 7 = 4.85

Getting Help

You should be old and smart enough to find the solutions to most problems by yourself. I.e.:
If you encounter any problems, solve them!

In case there is a problem you cannot solve, here is the order of escalation:

  1. Google is your friend. (response time < 1 sec.)
  2. Read the manual. (response time < 1 min.)
  3. Ask a friend/colleague. (response time < 30 mins.)
  4. Stackoverflow. Learn how (response time < 12 hrs.)
  5. Course assistants. (response time < 1 day.)
  6. Professor. (response time ???)

Homework #0 (unmarked)

Deadline 27.9.2018

Make your environment work!

  • did you watch this repo
  • did you create your own PRIVATE repo, set this repo as a remote (follow the description above)
  • did you give @stklik and @damdamo as collaborators
  • did you assert that you can pull from this repository and push into your private one (git pull course master;git push)
  • did you install swift?
  • did you check if can you create a swift package? (mkdir Hello;cd Hello;swift package init)
  • did you check that your swift package compiles? (swift build)
  • did you check that you can test the swift package? (swift test)
  • did you install a code editor? (i.e Atom)
  • did you read the Swift tutorial?
  • did you reply to Issue #1 with your full name, link to Github profile (e.g. @stklik), link to private repository, email address