anchor.diff:  
   *Material and going beyond*
   
  -* https://raw.githubusercontent.com/oliviercailloux/java-course/master/Assert/presentation.pdf[assertions] (advanced)
  +* https://github.com/oliviercailloux/java-course/raw/master/Assert/presentation.pdf[assertions] (advanced)
   * Illustration: http://math.hws.edu/eck/cs124/javanotes7/c4/s6.html#subroutines.6.2[Mosaic]
   * http://math.hws.edu/eck/cs124/javanotes7/c4/s2.html#subroutines.2.4[EE4.2.4] [I]
   
  
positive.code: 
  * Your GitHub username and git “User Name” must be identical.
  
  === Book exercices
  * Create a personal repository named `Java-L3-Eck-Ex`. You deposit the book exercices (EE) there. All related classes must be prefixed with `EExx`, for example `EE34MyClass`. You are free to choose the folder structure.
  * All mandatory (suffixed with [M]) book exercices (prefixed with EE) must be in that repository (in the branch `master`), 3 days before the lecture, 23:59 + 1min (e.g., lecture Saturday 23rd means a deadline on the end of Wednesday 20th).
  * For the book exercices, you receive either 1 (exercices are done on time, even imperfectly, committed under your name) or 0 (exercices are not done on time). This counts for 10% of the CC grade. (Once graded, you can remove the book exercices from your repository, or leave them there.)
  
  === Project
  * Descriptions are https://github.com/oliviercailloux/projets/tree/master/SE[here].
  * Create a public group repository (once for the group). It must have _exactly_ the name given in the title of your project description, except using - instead of spaces: do not change case, add spaces, use \_ instead of -, … Please do _not_ send me an e-mail to tell me your project url: I’ll find it; and do not add me to your project.
  ** For unique complete class names, use as basis the package `io.github.oliviercailloux.y2018` suffixed with your project name (converted to a package name) and possibly suffixed with whatever you want to organize the code as desired (for example, `io.github.oliviercailloux.y2018.our_great_project.utils`).
  * For each functionality: open a new Issue on GitHub, named exactly according to the functionality. Do not rename the issue (only the original name counts).
  ** For a new issue about an existing functionality (continuing the implementation): open a new Issue whose name is the name of the functionality with a hyphen and a number, starting with 2. For example, Contract1-2 for continuing the functionality Contract1. (Then, Contract1-3, and so on.)
  * https://help.github.com/articles/assigning-issues-and-pull-requests-to-other-github-users/[Assign] the persons who worked on the issue so that they are visible in GitHub. Must be one or two persons (you are encouraged to use pair-programming). Close the issue.
  * You will be graded for the functionalities which are _done_ (as defined below). Those grades count for the CC grade. You can modify the code afterwards for a better Project grade.
  ** An issue is _freezed_ at the earliest time such that one or two persons are assigned on it, it is closed, and the issue has not changed for 3 minutes (the delay permits to assign the correct persons before I consider this specific issue freezed, in case you closed before assigning).
  ** A functionality is _done_ if, and only if, there exists a _freezed_ issue whose original name is the name of the functionality. The persons assigned to it are those assigned at the freeze time, and may not be changed afterwards.
  * If you are late by less than 24h, your grade is halved. If you are more than 24h late, you get 0.
  
  Abreviations for corrections are given in another document.
  
  Don’t hesitate to send me your question by e-mail if you’re blocked in your project, instead of wasting hours. However, I do expect that you make some research before you ask, and that your question be clear. See these https://codeblog.jonskeet.uk/2012/11/24/stack-overflow-question-checklist/[guidelines].
  
  * If you work several times on the same aspect of a functionality (and get it wrong the first times), you might get more difficulty points achieved in total than initially planned for that functionality.
  * You should each total 6 points of difficulty (the target difficulty) by the end of the year (6 hours work per project inter-session, 9 project inter-sessions, 9 hours per point of difficulty).
  * You will receive a Regularity grade at the end of the year, taking into account your total difficulty achieved (the grade adjusts approximately linearly), with a bonus if the work density leans towards the early sessions (reduced penalty) and a malus if it leans towards the late sessions (for about three points). The “middle” date is the midpoint between 10th of April and last session.
  * You will receive a Quality grade at the end of the year: a sum, weighted by achieved difficulty, of your quality marks obtained during the year, considering only the best grades if you go beyond 6 points of difficulty.
  * Your CC-Project grade is the minimum of the Regularity grade and the Quality grade.
  
  === General
  * The final grade is a mix of 50% CC grade, 50% (final) Project grade.
  * The CC grade is composed of 50% CC-Project grade, 20% EE grade (with compensation) and 30% MCQ grade.
  
  == Take notes
  * 5 ways of taking notes https://www.youtube.com/watch?v=AffuwyJZTQQ[video]
  
negative.code: * Commit the mandatory exercices (using `git`)
  
  [[S4]]
  === S4
  
  *Lecture*
  
  * http://www-users.math.umn.edu/~arnold/disasters/ariane.html[Ariane 5]: https://www.youtube.com/watch?v=gp_D8r-2hwk[video]
  // https://www.youtube.com/embed/fCnO-UYF3co
  * Questions about questions
  * https://github.com/oliviercailloux/java-course/raw/master/Objets/presentation.pdf[Objects]
  * Choose your project
  
  *Material and going beyond*
  