Skip to content

Commit

Permalink
Add tips for practical work 1 (#229)
Browse files Browse the repository at this point in the history
  • Loading branch information
ludelafo authored Sep 9, 2024
1 parent e54cf07 commit 97f9820
Show file tree
Hide file tree
Showing 4 changed files with 68 additions and 18 deletions.
11 changes: 6 additions & 5 deletions 03-git-github-and-markdown/COURSE_MATERIAL.md
Original file line number Diff line number Diff line change
Expand Up @@ -673,11 +673,12 @@ example:
- Markdown is easy to learn and use
- Markdown can be used to create documentation
- Markdown can be used to create slides
- Markdown can be exported to many formats
- The presentations are exported to Web and PDF with the help of
[Marp](https://marp.app/)
- The course material is exported to PDF with the help of
[Pandoc](https://pandoc.org/) and [weasyprint](https://weasyprint.org/)
- Markdown can be exported to many formats:
- For example, the presentations of this course are exported to Web and PDF
with the help of [Marp](https://marp.app/)
- For example, the course materials of this course are exported to PDF with
the help of [Pandoc](https://pandoc.org/) and
[weasyprint](https://weasyprint.org/)

### Alternatives

Expand Down
51 changes: 43 additions & 8 deletions 07-practical-work-1/COURSE_MATERIAL.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,10 @@ This work is licensed under the [CC BY-SA 4.0][license] license.
- [Category 4 - Java IOs](#category-4---java-ios)
- [Category 5 - Presentation and questions](#category-5---presentation-and-questions)
- [Constraints](#constraints)
- [Remarks](#remarks)
- [Tips](#tips)
- [The Unix philosophy and the KISS principle](#the-unix-philosophy-and-the-kiss-principle)
- [External dependencies](#external-dependencies)
- [Protect your main branch](#protect-your-main-branch)
- [Submission](#submission)
- [Grades and feedback](#grades-and-feedback)
- [Finished? Was it easy? Was it hard?](#finished-was-it-easy-was-it-hard)
Expand Down Expand Up @@ -150,7 +153,7 @@ Maximum grade: 25 points \* 0.2 + 1 = 6
| 17 | The CLI displays a comprehensive help message on how to use the application and displays errors on invalid/missing inputs and/or processing errors | 0.2 |
| 18 | The CLI takes some mandatory arguments and other optional arguments for customization | 0.2 |
| 19 | The CLI processes the files efficiently | 0.2 |
| 20 | The CLI processes the files so that they are compatible accros operating systems/languages | 0.2 |
| 20 | The CLI processes the files so that they are compatible across operating systems/languages | 0.2 |
| 21 | The CLI correctly manages resources in case a problem occurs when processing the files | 0.2 |
| 22 | The CLI correctly processes the input file and writes the result in the output file with its execution time | 0.2 |

Expand All @@ -173,20 +176,51 @@ Maximum grade: 25 points \* 0.2 + 1 = 6
examples presented during the course (we emphasize the word **slightly**, no
need to shoot for the moon!)

## Remarks
## Tips

Remember the KISS principle: Keep it simple, silly! Sometimes it is better to
use a simple solution than a complex one.
### The Unix philosophy and the KISS principle

> The Unix philosophy, originated by Ken Thompson, is a set of cultural norms
> and philosophical approaches to minimalist, modular software development. It
> is based on the experience of leading developers of the Unix operating system.
>
> <https://en.wikipedia.org/wiki/Unix_philosophy>
The Unix philosophy is a set of rules that defines how Unix programs should be
designed. It is used to define the Unix operating system and the programs that
are used on this operating system.

The Unix philosophy can be defined by the following rules, among others:

- Write programs that do one thing and do it well.
- Write programs to work together.
- Write programs to handle text streams, because that is a universal interface.

You can inspire yourself from the Unix philosophy to define your own
applications.

The KISS principle summarizes the Unix philosophy in a simple sentence: _Keep it
simple, silly!_

Sometimes it is better to use a simple solution than a complex one.

If your implementation is too complex, we might penalize you.

### External dependencies

You can use any other dependencies you want in your Maven project. You must
however explain why and how you use it in your README.

### Protect your main branch

You can protect the `main` branch of your repository to prevent any push on it
and force signed commits from team members. This will force all team members to
use signed pull requests to merge your work.

You can check the official documentation to know how to protect your main branch
on GitHub:
<https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/managing-a-branch-protection-rule>.

## Submission

**Your work is due on the day before the presentations at 23h59**. Check the
Expand Down Expand Up @@ -226,8 +260,8 @@ If you have any questions about the evaluation, you can contact us!
<details>
<summary>Grading grid template for the teaching staff</summary>

```markdown
# [DAI 202X-202Y] Retours sur le travail pratique Z
```text
[DAI 202X-202Y] Retours sur le travail pratique Z
Bonjour,
Expand All @@ -238,7 +272,8 @@ La note a été saisie dans GAPS également.
Nous restons à votre disposition pour toute question.
Cordialement, Ludovic Delafontaine et Hadrien Louis
Cordialement,
[Le personnel enseignant]
```

</details>
Expand Down
24 changes: 19 additions & 5 deletions 07-practical-work-1/PRESENTATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -221,21 +221,33 @@ More details for this section in the [course material][course-material].
- Your application must be slightly more complex and slightly different than the
examples presented during the course

## Remarks
## Tips

<!-- _class: lead -->

More details for this section in the [course material][course-material].

### The KISS principle
### The UNIX philosophy and the KISS principle

- _Write programs that do one thing and do it well._
- _Write programs to work together._
- _Write programs to handle text streams, because that is a universal
interface._

![bg right:45% contain](./images/the-unix-philosophy.png)

---

The KISS principle summarizes the Unix philosophy in a simple sentence: _Keep it
simple, silly!_

- Keep it simple, silly!
- Don't try to do too much
- Focus on the essentials and **do it well**
- Focus on the essentials
- Do it well
Do not be Numérobis from the movie _Astérix et Obélix : Mission Cléopâtre_!
<small>If you have not seen the movie scene, check it here:
<small>Check the movie scene here:
[YouTube](https://www.youtube.com/watch?v=dEP7aEyTOf0).</small>
![bg right:40%](./images/asterix-et-obelix-mission-cleopatre-porte-au-plafond.png)
Expand All @@ -256,6 +268,8 @@ date.
- A link to your GitHub repository
- The commit hash of the version you want to submit
If you do not submit your work on time and/or correctly, you will be penalized.
## Grades and feedback
Grades will be entered into GAPS, followed by an email with the feedback.
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 97f9820

Please sign in to comment.