From dd8125edca66194856d561aaca184af1b61f7673 Mon Sep 17 00:00:00 2001 From: Orestis <orestis.malaspinas@pm.me> Date: Tue, 20 Sep 2022 17:13:17 +0200 Subject: [PATCH] updated repo for 2022 --- slides/cours_1.md | 39 +- slides/figs/matrix_qr.png | Bin 0 -> 1974 bytes slides/intro.md | 35 +- slides_2021/.gitignore | 6 + slides_2021/Makefile | 71 ++ slides_2021/cours_1.md | 693 ++++++++++++++++++ {slides => slides_2021}/cours_10.md | 0 {slides => slides_2021}/cours_11.md | 0 {slides => slides_2021}/cours_12.md | 0 {slides => slides_2021}/cours_13.md | 0 {slides => slides_2021}/cours_14.md | 0 {slides => slides_2021}/cours_15.md | 0 {slides => slides_2021}/cours_16.md | 0 {slides => slides_2021}/cours_17.md | 0 {slides => slides_2021}/cours_18.md | 0 {slides => slides_2021}/cours_19.md | 0 {slides => slides_2021}/cours_2.md | 0 {slides => slides_2021}/cours_20.md | 0 {slides => slides_2021}/cours_21.md | 0 {slides => slides_2021}/cours_22.md | 0 {slides => slides_2021}/cours_23.md | 0 {slides => slides_2021}/cours_24.md | 0 {slides => slides_2021}/cours_25.md | 0 {slides => slides_2021}/cours_26.md | 0 {slides => slides_2021}/cours_27.md | 0 {slides => slides_2021}/cours_3.md | 0 {slides => slides_2021}/cours_4.md | 0 {slides => slides_2021}/cours_5.md | 0 {slides => slides_2021}/cours_6.md | 0 {slides => slides_2021}/cours_7.md | 0 {slides => slides_2021}/cours_8.md | 0 {slides => slides_2021}/cours_9.md | 0 {slides => slides_2021}/docker-compose.yml | 0 {slides => slides_2021}/figs/.gitignore | 0 {slides => slides_2021}/figs/2reines.svg | 0 {slides => slides_2021}/figs/3reines.svg | 0 {slides => slides_2021}/figs/4reines.svg | 0 {slides => slides_2021}/figs/4reines_sym.svg | 0 .../figs/Binary_search_complexity.svg | 0 .../figs/Float_example.svg | 0 .../figs/Float_example_bare.svg | 0 .../figs/Konigsberg_bridges.png | Bin .../figs/PageRanks-Example.svg | 0 .../figs/Singly-linked-list.svg | 0 .../figs/Social_Network.svg | 0 {slides => slides_2021}/figs/Stack.svg | 0 {slides => slides_2021}/figs/arbre1.png | Bin {slides => slides_2021}/figs/arbre2.png | Bin {slides => slides_2021}/figs/arbre3_1.png | Bin {slides => slides_2021}/figs/arbre3_2.png | Bin {slides => slides_2021}/figs/arbre3_3.png | Bin .../figs/arbre_couvrant_bien.png | Bin .../figs/arbre_couvrant_exemples.png | Bin .../figs/arbre_couvrant_mal.png | Bin .../figs/arbre_couvrant_minimal_exemple.png | Bin .../figs/arbre_couvrant_vide.png | Bin .../figs/arbres_couvrants_parcours.png | Bin {slides => slides_2021}/figs/barbres_1.svg | 0 {slides => slides_2021}/figs/barbres_2.svg | 0 {slides => slides_2021}/figs/barbres_3.svg | 0 {slides => slides_2021}/figs/barbres_4.svg | 0 {slides => slides_2021}/figs/barbres_5.svg | 0 {slides => slides_2021}/figs/barbres_6.svg | 0 {slides => slides_2021}/figs/barbres_7.svg | 0 {slides => slides_2021}/figs/barbres_ex1.png | Bin {slides => slides_2021}/figs/barbres_ex2.png | Bin {slides => slides_2021}/figs/barbres_ex3.png | Bin {slides => slides_2021}/figs/barbres_ex4.png | Bin {slides => slides_2021}/figs/barbres_ex5.png | Bin .../figs/barbres_exemple.png | Bin .../figs/barbres_insert_easy.svg | 0 .../figs/barbres_insert_easy_after.svg | 0 .../figs/barbres_insert_hard_after.svg | 0 .../figs/barbres_insert_hard_before.svg | 0 .../figs/barbres_insert_hard_during.svg | 0 .../figs/barbres_ordre2_supp1.svg | 0 .../figs/barbres_ordre2_supp10.svg | 0 .../figs/barbres_ordre2_supp11.svg | 0 .../figs/barbres_ordre2_supp2.svg | 0 .../figs/barbres_ordre2_supp3.svg | 0 .../figs/barbres_ordre2_supp4.svg | 0 .../figs/barbres_ordre2_supp5.svg | 0 .../figs/barbres_ordre2_supp6.svg | 0 .../figs/barbres_ordre2_supp7.svg | 0 .../figs/barbres_ordre2_supp8.svg | 0 .../figs/barbres_ordre2_supp9.svg | 0 .../figs/barbres_page3.png | Bin .../figs/barbres_struct.png | Bin .../figs/board_blacked_parts.svg | 0 {slides => slides_2021}/figs/cas1a_droite.png | Bin {slides => slides_2021}/figs/cas1a_gauche.png | Bin {slides => slides_2021}/figs/cas1b_droite.png | Bin {slides => slides_2021}/figs/cas1b_gauche.png | Bin {slides => slides_2021}/figs/cas2a_droite.png | Bin {slides => slides_2021}/figs/cas2a_gauche.png | Bin {slides => slides_2021}/figs/cas2b_droite.png | Bin {slides => slides_2021}/figs/cas2b_gauche.png | Bin .../figs/composantes_connexes.svg | 0 .../figs/composantes_fortement_connexes.svg | 0 {slides => slides_2021}/figs/corps1.png | Bin {slides => slides_2021}/figs/corps2.png | Bin {slides => slides_2021}/figs/corps3_1.png | Bin {slides => slides_2021}/figs/corps3_2.png | Bin {slides => slides_2021}/figs/corps3_3.png | Bin .../figs/courts_chemin_intro.pdf | Bin {slides => slides_2021}/figs/dijkstra_0.png | Bin {slides => slides_2021}/figs/dijkstra_1.png | Bin {slides => slides_2021}/figs/dijkstra_2.png | Bin {slides => slides_2021}/figs/dijkstra_3.png | Bin {slides => slides_2021}/figs/dijkstra_4.png | Bin {slides => slides_2021}/figs/dijkstra_5.png | Bin {slides => slides_2021}/figs/dijkstra_6.png | Bin {slides => slides_2021}/figs/dijkstra_7.png | Bin .../figs/dijkstra_ex_0.png | Bin .../figs/dijkstra_ex_1.png | Bin .../figs/dijkstra_ex_2.png | Bin .../figs/dijkstra_ex_3.png | Bin .../figs/dijkstra_ex_4.png | Bin .../figs/dijkstra_ex_5.png | Bin {slides => slides_2021}/figs/dijkstra_exo.png | Bin .../figs/double_rotation_gauche_droite.png | Bin .../figs/doubly_linked_list.svg | 0 {slides => slides_2021}/figs/empty_board.svg | 0 {slides => slides_2021}/figs/ensemble.svg | 0 .../figs/ex_adj_non_or.svg | 0 {slides => slides_2021}/figs/ex_adj_or.svg | 0 {slides => slides_2021}/figs/ex_graph_adj.pdf | Bin .../figs/ex_graph_fort_connexe.pdf | Bin .../figs/ex_graph_list_adj.pdf | Bin .../figs/ex_graph_pond.pdf | Bin .../figs/ex_graphe_boucle.pdf | Bin .../figs/ex_graphe_chaine.pdf | Bin .../figs/ex_graphe_chaine.svg | 0 .../figs/ex_graphe_chaine_elem.pdf | Bin .../figs/ex_graphe_cycle.pdf | Bin .../figs/ex_graphe_non_oriente.svg | 0 .../figs/ex_graphe_oriente.svg | 0 {slides => slides_2021}/figs/ex_graphes.png | Bin {slides => slides_2021}/figs/exemple_neg.png | Bin .../figs/facteur_equilibre.png | Bin .../figs/fig_empty_queue_insert.png | Bin {slides => slides_2021}/figs/fig_hash.png | Bin .../figs/fig_non_empty_queue_insert.png | Bin .../figs/fig_queue_extract.png | Bin .../figs/fig_queue_extract_one.svg | 0 .../figs/fig_queue_representation.png | Bin .../figs/fig_recursivite_8_reines.png | Bin .../figs/floyd_exemple.png | Bin .../figs/floyd_exercice.png | Bin {slides => slides_2021}/figs/force_1.png | Bin {slides => slides_2021}/figs/force_2.png | Bin {slides => slides_2021}/figs/force_3.png | Bin {slides => slides_2021}/figs/force_4.png | Bin {slides => slides_2021}/figs/force_5.png | Bin {slides => slides_2021}/figs/force_6.png | Bin {slides => slides_2021}/figs/force_7.png | Bin .../figs/graphe_connexe.svg | 0 {slides => slides_2021}/figs/heap_tree.svg | 0 {slides => slides_2021}/figs/kruskal_0.png | Bin {slides => slides_2021}/figs/kruskal_1.png | Bin {slides => slides_2021}/figs/kruskal_2.png | Bin {slides => slides_2021}/figs/kruskal_3.png | Bin {slides => slides_2021}/figs/kruskal_4.png | Bin .../figs/kruskal_cycle.png | Bin {slides => slides_2021}/figs/matrix.png | Bin {slides => slides_2021}/figs/nbody_bare.png | Bin {slides => slides_2021}/figs/nbody_group.png | Bin {slides => slides_2021}/figs/nbody_n2.png | Bin {slides => slides_2021}/figs/nbody_qt.png | Bin .../figs/nbody_qt_withtree.png | Bin .../figs/parcours_larg.pdf | Bin .../figs/parcours_larg_0.pdf | Bin .../figs/parcours_larg_1.pdf | Bin .../figs/parcours_larg_2.pdf | Bin .../figs/parcours_larg_3.pdf | Bin .../figs/parcours_larg_4.pdf | Bin .../figs/parcours_larg_5.pdf | Bin .../figs/parcours_larg_6.pdf | Bin .../figs/parcours_prof.pdf | Bin .../figs/pointer_struct.svg | 0 {slides => slides_2021}/figs/prim_0.png | Bin {slides => slides_2021}/figs/prim_1.png | Bin {slides => slides_2021}/figs/prim_2.png | Bin {slides => slides_2021}/figs/prim_3.png | Bin {slides => slides_2021}/figs/prim_4.png | Bin {slides => slides_2021}/figs/prim_5.png | Bin .../figs/prim_exercice.png | Bin .../figs/prim_solution.png | Bin {slides => slides_2021}/figs/quad_ex.svg | 0 {slides => slides_2021}/figs/quad_img.svg | 0 .../figs/quad_img_simple.svg | 0 .../figs/quad_img_simple_comp.svg | 0 .../figs/quad_img_simple_comp_avg.svg | 0 .../figs/quad_img_simple_comp_loss.svg | 0 .../figs/quad_img_simple_variation.svg | 0 {slides => slides_2021}/figs/quad_struct.svg | 0 {slides => slides_2021}/figs/quicksort.svg | 0 .../figs/rotation_gauche_droite.png | Bin .../figs/sorted_list_example.svg | 0 .../figs/sorted_list_extract_any.svg | 0 .../figs/sorted_list_extract_first.svg | 0 .../figs/sorted_list_insert_any.svg | 0 .../figs/sorted_list_insert_first.svg | 0 .../figs/sorted_list_insert_one.svg | 0 .../figs/sorted_list_position.svg | 0 .../figs/soubly_linked_list.svg | 0 {slides => slides_2021}/figs/taux_change.pdf | Bin .../figs/taux_change_graphe.pdf | Bin .../figs/taux_change_graphe_log.pdf | Bin {slides => slides_2021}/figs/tri_bulles.svg | 0 .../figs/tri_insertion.svg | 0 {slides => slides_2021}/figs/tri_piles.svg | 0 slides_2021/gen_index.sh | 59 ++ {slides => slides_2021}/graphviz/quad_ex.dot | 0 {slides => slides_2021}/graphviz/quad_img.dot | 0 .../graphviz/quad_img_simple.dot | 0 .../graphviz/quad_img_simple_comp.dot | 0 .../graphviz/quad_img_simple_comp_avg.dot | 0 .../graphviz/quad_struct.dot | 0 slides_2021/intro.md | 69 ++ slides_2021/metadata.yaml | 9 + slides_2021/my_highlight.theme | 204 ++++++ {slides => slides_2021}/reveal.js/.gitignore | 0 {slides => slides_2021}/reveal.js/.npmignore | 0 .../reveal.js/CONTRIBUTING.md | 0 {slides => slides_2021}/reveal.js/LICENSE | 0 {slides => slides_2021}/reveal.js/README.md | 0 .../reveal.js/css/layout.scss | 0 .../reveal.js/css/print/paper.scss | 0 .../reveal.js/css/print/pdf.scss | 0 .../reveal.js/css/reveal.scss | 0 .../reveal.js/css/theme/README.md | 0 .../reveal.js/css/theme/source/beige.scss | 0 .../reveal.js/css/theme/source/black.scss | 0 .../reveal.js/css/theme/source/blood.scss | 0 .../reveal.js/css/theme/source/league.scss | 0 .../reveal.js/css/theme/source/moon.scss | 0 .../reveal.js/css/theme/source/night.scss | 0 .../reveal.js/css/theme/source/serif.scss | 0 .../reveal.js/css/theme/source/simple.scss | 0 .../reveal.js/css/theme/source/sky.scss | 0 .../reveal.js/css/theme/source/solarized.scss | 0 .../reveal.js/css/theme/source/white.scss | 0 .../reveal.js/css/theme/template/exposer.scss | 0 .../reveal.js/css/theme/template/mixins.scss | 0 .../css/theme/template/settings.scss | 0 .../reveal.js/css/theme/template/theme.scss | 0 .../reveal.js/dist/reset.css | 0 .../reveal.js/dist/reveal.css | 0 .../reveal.js/dist/reveal.esm.js | 0 .../reveal.js/dist/reveal.js | 0 .../reveal.js/dist/theme/beige.css | 0 .../reveal.js/dist/theme/black.css | 0 .../reveal.js/dist/theme/blood.css | 0 .../dist/theme/fonts/league-gothic/LICENSE | 0 .../fonts/league-gothic/league-gothic.css | 0 .../fonts/league-gothic/league-gothic.eot | Bin .../fonts/league-gothic/league-gothic.ttf | Bin .../fonts/league-gothic/league-gothic.woff | Bin .../dist/theme/fonts/source-sans-pro/LICENSE | 0 .../source-sans-pro-italic.eot | Bin .../source-sans-pro-italic.ttf | Bin .../source-sans-pro-italic.woff | Bin .../source-sans-pro-regular.eot | Bin .../source-sans-pro-regular.ttf | Bin .../source-sans-pro-regular.woff | Bin .../source-sans-pro-semibold.eot | Bin .../source-sans-pro-semibold.ttf | Bin .../source-sans-pro-semibold.woff | Bin .../source-sans-pro-semibolditalic.eot | Bin .../source-sans-pro-semibolditalic.ttf | Bin .../source-sans-pro-semibolditalic.woff | Bin .../fonts/source-sans-pro/source-sans-pro.css | 0 .../reveal.js/dist/theme/league.css | 0 .../reveal.js/dist/theme/moon.css | 0 .../reveal.js/dist/theme/night.css | 0 .../reveal.js/dist/theme/serif.css | 0 .../reveal.js/dist/theme/simple.css | 0 .../reveal.js/dist/theme/sky.css | 0 .../reveal.js/dist/theme/solarized.css | 0 .../reveal.js/dist/theme/white.css | 0 {slides => slides_2021}/reveal.js/gulpfile.js | 0 .../reveal.js/js/components/playback.js | 0 .../reveal.js/js/config.js | 0 .../reveal.js/js/controllers/autoanimate.js | 0 .../reveal.js/js/controllers/backgrounds.js | 0 .../reveal.js/js/controllers/controls.js | 0 .../reveal.js/js/controllers/focus.js | 0 .../reveal.js/js/controllers/fragments.js | 0 .../reveal.js/js/controllers/keyboard.js | 0 .../reveal.js/js/controllers/location.js | 0 .../reveal.js/js/controllers/notes.js | 0 .../reveal.js/js/controllers/overview.js | 0 .../reveal.js/js/controllers/plugins.js | 0 .../reveal.js/js/controllers/pointer.js | 0 .../reveal.js/js/controllers/print.js | 0 .../reveal.js/js/controllers/progress.js | 0 .../reveal.js/js/controllers/slidecontent.js | 0 .../reveal.js/js/controllers/slidenumber.js | 0 .../reveal.js/js/controllers/touch.js | 0 {slides => slides_2021}/reveal.js/js/index.js | 0 .../reveal.js/js/reveal.js | 0 .../reveal.js/js/utils/color.js | 0 .../reveal.js/js/utils/constants.js | 0 .../reveal.js/js/utils/device.js | 0 .../reveal.js/js/utils/loader.js | 0 .../reveal.js/js/utils/util.js | 0 .../reveal.js/package-lock.json | 0 .../reveal.js/package.json | 0 .../plugin/highlight/highlight.esm.js | 0 .../reveal.js/plugin/highlight/highlight.js | 0 .../reveal.js/plugin/highlight/monokai.css | 0 .../reveal.js/plugin/highlight/plugin.js | 0 .../reveal.js/plugin/highlight/zenburn.css | 0 .../reveal.js/plugin/markdown/markdown.esm.js | 0 .../reveal.js/plugin/markdown/markdown.js | 0 .../reveal.js/plugin/markdown/plugin.js | 0 .../reveal.js/plugin/math/math.esm.js | 0 .../reveal.js/plugin/math/math.js | 0 .../reveal.js/plugin/math/plugin.js | 0 .../reveal.js/plugin/notes/notes.esm.js | 0 .../reveal.js/plugin/notes/notes.js | 0 .../reveal.js/plugin/notes/plugin.js | 0 .../reveal.js/plugin/search/plugin.js | 0 .../reveal.js/plugin/search/search.esm.js | 0 .../reveal.js/plugin/search/search.js | 0 .../reveal.js/plugin/zoom/plugin.js | 0 .../reveal.js/plugin/zoom/zoom.esm.js | 0 .../reveal.js/plugin/zoom/zoom.js | 0 329 files changed, 1138 insertions(+), 47 deletions(-) create mode 100644 slides/figs/matrix_qr.png create mode 100644 slides_2021/.gitignore create mode 100644 slides_2021/Makefile create mode 100644 slides_2021/cours_1.md rename {slides => slides_2021}/cours_10.md (100%) rename {slides => slides_2021}/cours_11.md (100%) rename {slides => slides_2021}/cours_12.md (100%) rename {slides => slides_2021}/cours_13.md (100%) rename {slides => slides_2021}/cours_14.md (100%) rename {slides => slides_2021}/cours_15.md (100%) rename {slides => slides_2021}/cours_16.md (100%) rename {slides => slides_2021}/cours_17.md (100%) rename {slides => slides_2021}/cours_18.md (100%) rename {slides => slides_2021}/cours_19.md (100%) rename {slides => slides_2021}/cours_2.md (100%) rename {slides => slides_2021}/cours_20.md (100%) rename {slides => slides_2021}/cours_21.md (100%) rename {slides => slides_2021}/cours_22.md (100%) rename {slides => slides_2021}/cours_23.md (100%) rename {slides => slides_2021}/cours_24.md (100%) rename {slides => slides_2021}/cours_25.md (100%) rename {slides => slides_2021}/cours_26.md (100%) rename {slides => slides_2021}/cours_27.md (100%) rename {slides => slides_2021}/cours_3.md (100%) rename {slides => slides_2021}/cours_4.md (100%) rename {slides => slides_2021}/cours_5.md (100%) rename {slides => slides_2021}/cours_6.md (100%) rename {slides => slides_2021}/cours_7.md (100%) rename {slides => slides_2021}/cours_8.md (100%) rename {slides => slides_2021}/cours_9.md (100%) rename {slides => slides_2021}/docker-compose.yml (100%) rename {slides => slides_2021}/figs/.gitignore (100%) rename {slides => slides_2021}/figs/2reines.svg (100%) rename {slides => slides_2021}/figs/3reines.svg (100%) rename {slides => slides_2021}/figs/4reines.svg (100%) rename {slides => slides_2021}/figs/4reines_sym.svg (100%) rename {slides => slides_2021}/figs/Binary_search_complexity.svg (100%) rename {slides => slides_2021}/figs/Float_example.svg (100%) rename {slides => slides_2021}/figs/Float_example_bare.svg (100%) rename {slides => slides_2021}/figs/Konigsberg_bridges.png (100%) rename {slides => slides_2021}/figs/PageRanks-Example.svg (100%) rename {slides => slides_2021}/figs/Singly-linked-list.svg (100%) rename {slides => slides_2021}/figs/Social_Network.svg (100%) rename {slides => slides_2021}/figs/Stack.svg (100%) rename {slides => slides_2021}/figs/arbre1.png (100%) rename {slides => slides_2021}/figs/arbre2.png (100%) rename {slides => slides_2021}/figs/arbre3_1.png (100%) rename {slides => slides_2021}/figs/arbre3_2.png (100%) rename {slides => slides_2021}/figs/arbre3_3.png (100%) rename {slides => slides_2021}/figs/arbre_couvrant_bien.png (100%) rename {slides => slides_2021}/figs/arbre_couvrant_exemples.png (100%) rename {slides => slides_2021}/figs/arbre_couvrant_mal.png (100%) rename {slides => slides_2021}/figs/arbre_couvrant_minimal_exemple.png (100%) rename {slides => slides_2021}/figs/arbre_couvrant_vide.png (100%) rename {slides => slides_2021}/figs/arbres_couvrants_parcours.png (100%) rename {slides => slides_2021}/figs/barbres_1.svg (100%) rename {slides => slides_2021}/figs/barbres_2.svg (100%) rename {slides => slides_2021}/figs/barbres_3.svg (100%) rename {slides => slides_2021}/figs/barbres_4.svg (100%) rename {slides => slides_2021}/figs/barbres_5.svg (100%) rename {slides => slides_2021}/figs/barbres_6.svg (100%) rename {slides => slides_2021}/figs/barbres_7.svg (100%) rename {slides => slides_2021}/figs/barbres_ex1.png (100%) rename {slides => slides_2021}/figs/barbres_ex2.png (100%) rename {slides => slides_2021}/figs/barbres_ex3.png (100%) rename {slides => slides_2021}/figs/barbres_ex4.png (100%) rename {slides => slides_2021}/figs/barbres_ex5.png (100%) rename {slides => slides_2021}/figs/barbres_exemple.png (100%) rename {slides => slides_2021}/figs/barbres_insert_easy.svg (100%) rename {slides => slides_2021}/figs/barbres_insert_easy_after.svg (100%) rename {slides => slides_2021}/figs/barbres_insert_hard_after.svg (100%) rename {slides => slides_2021}/figs/barbres_insert_hard_before.svg (100%) rename {slides => slides_2021}/figs/barbres_insert_hard_during.svg (100%) rename {slides => slides_2021}/figs/barbres_ordre2_supp1.svg (100%) rename {slides => slides_2021}/figs/barbres_ordre2_supp10.svg (100%) rename {slides => slides_2021}/figs/barbres_ordre2_supp11.svg (100%) rename {slides => slides_2021}/figs/barbres_ordre2_supp2.svg (100%) rename {slides => slides_2021}/figs/barbres_ordre2_supp3.svg (100%) rename {slides => slides_2021}/figs/barbres_ordre2_supp4.svg (100%) rename {slides => slides_2021}/figs/barbres_ordre2_supp5.svg (100%) rename {slides => slides_2021}/figs/barbres_ordre2_supp6.svg (100%) rename {slides => slides_2021}/figs/barbres_ordre2_supp7.svg (100%) rename {slides => slides_2021}/figs/barbres_ordre2_supp8.svg (100%) rename {slides => slides_2021}/figs/barbres_ordre2_supp9.svg (100%) rename {slides => slides_2021}/figs/barbres_page3.png (100%) rename {slides => slides_2021}/figs/barbres_struct.png (100%) rename {slides => slides_2021}/figs/board_blacked_parts.svg (100%) rename {slides => slides_2021}/figs/cas1a_droite.png (100%) rename {slides => slides_2021}/figs/cas1a_gauche.png (100%) rename {slides => slides_2021}/figs/cas1b_droite.png (100%) rename {slides => slides_2021}/figs/cas1b_gauche.png (100%) rename {slides => slides_2021}/figs/cas2a_droite.png (100%) rename {slides => slides_2021}/figs/cas2a_gauche.png (100%) rename {slides => slides_2021}/figs/cas2b_droite.png (100%) rename {slides => slides_2021}/figs/cas2b_gauche.png (100%) rename {slides => slides_2021}/figs/composantes_connexes.svg (100%) rename {slides => slides_2021}/figs/composantes_fortement_connexes.svg (100%) rename {slides => slides_2021}/figs/corps1.png (100%) rename {slides => slides_2021}/figs/corps2.png (100%) rename {slides => slides_2021}/figs/corps3_1.png (100%) rename {slides => slides_2021}/figs/corps3_2.png (100%) rename {slides => slides_2021}/figs/corps3_3.png (100%) rename {slides => slides_2021}/figs/courts_chemin_intro.pdf (100%) rename {slides => slides_2021}/figs/dijkstra_0.png (100%) rename {slides => slides_2021}/figs/dijkstra_1.png (100%) rename {slides => slides_2021}/figs/dijkstra_2.png (100%) rename {slides => slides_2021}/figs/dijkstra_3.png (100%) rename {slides => slides_2021}/figs/dijkstra_4.png (100%) rename {slides => slides_2021}/figs/dijkstra_5.png (100%) rename {slides => slides_2021}/figs/dijkstra_6.png (100%) rename {slides => slides_2021}/figs/dijkstra_7.png (100%) rename {slides => slides_2021}/figs/dijkstra_ex_0.png (100%) rename {slides => slides_2021}/figs/dijkstra_ex_1.png (100%) rename {slides => slides_2021}/figs/dijkstra_ex_2.png (100%) rename {slides => slides_2021}/figs/dijkstra_ex_3.png (100%) rename {slides => slides_2021}/figs/dijkstra_ex_4.png (100%) rename {slides => slides_2021}/figs/dijkstra_ex_5.png (100%) rename {slides => slides_2021}/figs/dijkstra_exo.png (100%) rename {slides => slides_2021}/figs/double_rotation_gauche_droite.png (100%) rename {slides => slides_2021}/figs/doubly_linked_list.svg (100%) rename {slides => slides_2021}/figs/empty_board.svg (100%) rename {slides => slides_2021}/figs/ensemble.svg (100%) rename {slides => slides_2021}/figs/ex_adj_non_or.svg (100%) rename {slides => slides_2021}/figs/ex_adj_or.svg (100%) rename {slides => slides_2021}/figs/ex_graph_adj.pdf (100%) rename {slides => slides_2021}/figs/ex_graph_fort_connexe.pdf (100%) rename {slides => slides_2021}/figs/ex_graph_list_adj.pdf (100%) rename {slides => slides_2021}/figs/ex_graph_pond.pdf (100%) rename {slides => slides_2021}/figs/ex_graphe_boucle.pdf (100%) rename {slides => slides_2021}/figs/ex_graphe_chaine.pdf (100%) rename {slides => slides_2021}/figs/ex_graphe_chaine.svg (100%) rename {slides => slides_2021}/figs/ex_graphe_chaine_elem.pdf (100%) rename {slides => slides_2021}/figs/ex_graphe_cycle.pdf (100%) rename {slides => slides_2021}/figs/ex_graphe_non_oriente.svg (100%) rename {slides => slides_2021}/figs/ex_graphe_oriente.svg (100%) rename {slides => slides_2021}/figs/ex_graphes.png (100%) rename {slides => slides_2021}/figs/exemple_neg.png (100%) rename {slides => slides_2021}/figs/facteur_equilibre.png (100%) rename {slides => slides_2021}/figs/fig_empty_queue_insert.png (100%) rename {slides => slides_2021}/figs/fig_hash.png (100%) rename {slides => slides_2021}/figs/fig_non_empty_queue_insert.png (100%) rename {slides => slides_2021}/figs/fig_queue_extract.png (100%) rename {slides => slides_2021}/figs/fig_queue_extract_one.svg (100%) rename {slides => slides_2021}/figs/fig_queue_representation.png (100%) rename {slides => slides_2021}/figs/fig_recursivite_8_reines.png (100%) rename {slides => slides_2021}/figs/floyd_exemple.png (100%) rename {slides => slides_2021}/figs/floyd_exercice.png (100%) rename {slides => slides_2021}/figs/force_1.png (100%) rename {slides => slides_2021}/figs/force_2.png (100%) rename {slides => slides_2021}/figs/force_3.png (100%) rename {slides => slides_2021}/figs/force_4.png (100%) rename {slides => slides_2021}/figs/force_5.png (100%) rename {slides => slides_2021}/figs/force_6.png (100%) rename {slides => slides_2021}/figs/force_7.png (100%) rename {slides => slides_2021}/figs/graphe_connexe.svg (100%) rename {slides => slides_2021}/figs/heap_tree.svg (100%) rename {slides => slides_2021}/figs/kruskal_0.png (100%) rename {slides => slides_2021}/figs/kruskal_1.png (100%) rename {slides => slides_2021}/figs/kruskal_2.png (100%) rename {slides => slides_2021}/figs/kruskal_3.png (100%) rename {slides => slides_2021}/figs/kruskal_4.png (100%) rename {slides => slides_2021}/figs/kruskal_cycle.png (100%) rename {slides => slides_2021}/figs/matrix.png (100%) rename {slides => slides_2021}/figs/nbody_bare.png (100%) rename {slides => slides_2021}/figs/nbody_group.png (100%) rename {slides => slides_2021}/figs/nbody_n2.png (100%) rename {slides => slides_2021}/figs/nbody_qt.png (100%) rename {slides => slides_2021}/figs/nbody_qt_withtree.png (100%) rename {slides => slides_2021}/figs/parcours_larg.pdf (100%) rename {slides => slides_2021}/figs/parcours_larg_0.pdf (100%) rename {slides => slides_2021}/figs/parcours_larg_1.pdf (100%) rename {slides => slides_2021}/figs/parcours_larg_2.pdf (100%) rename {slides => slides_2021}/figs/parcours_larg_3.pdf (100%) rename {slides => slides_2021}/figs/parcours_larg_4.pdf (100%) rename {slides => slides_2021}/figs/parcours_larg_5.pdf (100%) rename {slides => slides_2021}/figs/parcours_larg_6.pdf (100%) rename {slides => slides_2021}/figs/parcours_prof.pdf (100%) rename {slides => slides_2021}/figs/pointer_struct.svg (100%) rename {slides => slides_2021}/figs/prim_0.png (100%) rename {slides => slides_2021}/figs/prim_1.png (100%) rename {slides => slides_2021}/figs/prim_2.png (100%) rename {slides => slides_2021}/figs/prim_3.png (100%) rename {slides => slides_2021}/figs/prim_4.png (100%) rename {slides => slides_2021}/figs/prim_5.png (100%) rename {slides => slides_2021}/figs/prim_exercice.png (100%) rename {slides => slides_2021}/figs/prim_solution.png (100%) rename {slides => slides_2021}/figs/quad_ex.svg (100%) rename {slides => slides_2021}/figs/quad_img.svg (100%) rename {slides => slides_2021}/figs/quad_img_simple.svg (100%) rename {slides => slides_2021}/figs/quad_img_simple_comp.svg (100%) rename {slides => slides_2021}/figs/quad_img_simple_comp_avg.svg (100%) rename {slides => slides_2021}/figs/quad_img_simple_comp_loss.svg (100%) rename {slides => slides_2021}/figs/quad_img_simple_variation.svg (100%) rename {slides => slides_2021}/figs/quad_struct.svg (100%) rename {slides => slides_2021}/figs/quicksort.svg (100%) rename {slides => slides_2021}/figs/rotation_gauche_droite.png (100%) rename {slides => slides_2021}/figs/sorted_list_example.svg (100%) rename {slides => slides_2021}/figs/sorted_list_extract_any.svg (100%) rename {slides => slides_2021}/figs/sorted_list_extract_first.svg (100%) rename {slides => slides_2021}/figs/sorted_list_insert_any.svg (100%) rename {slides => slides_2021}/figs/sorted_list_insert_first.svg (100%) rename {slides => slides_2021}/figs/sorted_list_insert_one.svg (100%) rename {slides => slides_2021}/figs/sorted_list_position.svg (100%) rename {slides => slides_2021}/figs/soubly_linked_list.svg (100%) rename {slides => slides_2021}/figs/taux_change.pdf (100%) rename {slides => slides_2021}/figs/taux_change_graphe.pdf (100%) rename {slides => slides_2021}/figs/taux_change_graphe_log.pdf (100%) rename {slides => slides_2021}/figs/tri_bulles.svg (100%) rename {slides => slides_2021}/figs/tri_insertion.svg (100%) rename {slides => slides_2021}/figs/tri_piles.svg (100%) create mode 100755 slides_2021/gen_index.sh rename {slides => slides_2021}/graphviz/quad_ex.dot (100%) rename {slides => slides_2021}/graphviz/quad_img.dot (100%) rename {slides => slides_2021}/graphviz/quad_img_simple.dot (100%) rename {slides => slides_2021}/graphviz/quad_img_simple_comp.dot (100%) rename {slides => slides_2021}/graphviz/quad_img_simple_comp_avg.dot (100%) rename {slides => slides_2021}/graphviz/quad_struct.dot (100%) create mode 100644 slides_2021/intro.md create mode 100644 slides_2021/metadata.yaml create mode 100644 slides_2021/my_highlight.theme rename {slides => slides_2021}/reveal.js/.gitignore (100%) rename {slides => slides_2021}/reveal.js/.npmignore (100%) rename {slides => slides_2021}/reveal.js/CONTRIBUTING.md (100%) rename {slides => slides_2021}/reveal.js/LICENSE (100%) rename {slides => slides_2021}/reveal.js/README.md (100%) rename {slides => slides_2021}/reveal.js/css/layout.scss (100%) rename {slides => slides_2021}/reveal.js/css/print/paper.scss (100%) rename {slides => slides_2021}/reveal.js/css/print/pdf.scss (100%) rename {slides => slides_2021}/reveal.js/css/reveal.scss (100%) rename {slides => slides_2021}/reveal.js/css/theme/README.md (100%) rename {slides => slides_2021}/reveal.js/css/theme/source/beige.scss (100%) rename {slides => slides_2021}/reveal.js/css/theme/source/black.scss (100%) rename {slides => slides_2021}/reveal.js/css/theme/source/blood.scss (100%) rename {slides => slides_2021}/reveal.js/css/theme/source/league.scss (100%) rename {slides => slides_2021}/reveal.js/css/theme/source/moon.scss (100%) rename {slides => slides_2021}/reveal.js/css/theme/source/night.scss (100%) rename {slides => slides_2021}/reveal.js/css/theme/source/serif.scss (100%) rename {slides => slides_2021}/reveal.js/css/theme/source/simple.scss (100%) rename {slides => slides_2021}/reveal.js/css/theme/source/sky.scss (100%) rename {slides => slides_2021}/reveal.js/css/theme/source/solarized.scss (100%) rename {slides => slides_2021}/reveal.js/css/theme/source/white.scss (100%) rename {slides => slides_2021}/reveal.js/css/theme/template/exposer.scss (100%) rename {slides => slides_2021}/reveal.js/css/theme/template/mixins.scss (100%) rename {slides => slides_2021}/reveal.js/css/theme/template/settings.scss (100%) rename {slides => slides_2021}/reveal.js/css/theme/template/theme.scss (100%) rename {slides => slides_2021}/reveal.js/dist/reset.css (100%) rename {slides => slides_2021}/reveal.js/dist/reveal.css (100%) rename {slides => slides_2021}/reveal.js/dist/reveal.esm.js (100%) rename {slides => slides_2021}/reveal.js/dist/reveal.js (100%) rename {slides => slides_2021}/reveal.js/dist/theme/beige.css (100%) rename {slides => slides_2021}/reveal.js/dist/theme/black.css (100%) rename {slides => slides_2021}/reveal.js/dist/theme/blood.css (100%) rename {slides => slides_2021}/reveal.js/dist/theme/fonts/league-gothic/LICENSE (100%) rename {slides => slides_2021}/reveal.js/dist/theme/fonts/league-gothic/league-gothic.css (100%) rename {slides => slides_2021}/reveal.js/dist/theme/fonts/league-gothic/league-gothic.eot (100%) rename {slides => slides_2021}/reveal.js/dist/theme/fonts/league-gothic/league-gothic.ttf (100%) rename {slides => slides_2021}/reveal.js/dist/theme/fonts/league-gothic/league-gothic.woff (100%) rename {slides => slides_2021}/reveal.js/dist/theme/fonts/source-sans-pro/LICENSE (100%) rename {slides => slides_2021}/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.eot (100%) rename {slides => slides_2021}/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.ttf (100%) rename {slides => slides_2021}/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.woff (100%) rename {slides => slides_2021}/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.eot (100%) rename {slides => slides_2021}/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.ttf (100%) rename {slides => slides_2021}/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.woff (100%) rename {slides => slides_2021}/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.eot (100%) rename {slides => slides_2021}/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.ttf (100%) rename {slides => slides_2021}/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.woff (100%) rename {slides => slides_2021}/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.eot (100%) rename {slides => slides_2021}/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.ttf (100%) rename {slides => slides_2021}/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.woff (100%) rename {slides => slides_2021}/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro.css (100%) rename {slides => slides_2021}/reveal.js/dist/theme/league.css (100%) rename {slides => slides_2021}/reveal.js/dist/theme/moon.css (100%) rename {slides => slides_2021}/reveal.js/dist/theme/night.css (100%) rename {slides => slides_2021}/reveal.js/dist/theme/serif.css (100%) rename {slides => slides_2021}/reveal.js/dist/theme/simple.css (100%) rename {slides => slides_2021}/reveal.js/dist/theme/sky.css (100%) rename {slides => slides_2021}/reveal.js/dist/theme/solarized.css (100%) rename {slides => slides_2021}/reveal.js/dist/theme/white.css (100%) rename {slides => slides_2021}/reveal.js/gulpfile.js (100%) rename {slides => slides_2021}/reveal.js/js/components/playback.js (100%) rename {slides => slides_2021}/reveal.js/js/config.js (100%) rename {slides => slides_2021}/reveal.js/js/controllers/autoanimate.js (100%) rename {slides => slides_2021}/reveal.js/js/controllers/backgrounds.js (100%) rename {slides => slides_2021}/reveal.js/js/controllers/controls.js (100%) rename {slides => slides_2021}/reveal.js/js/controllers/focus.js (100%) rename {slides => slides_2021}/reveal.js/js/controllers/fragments.js (100%) rename {slides => slides_2021}/reveal.js/js/controllers/keyboard.js (100%) rename {slides => slides_2021}/reveal.js/js/controllers/location.js (100%) rename {slides => slides_2021}/reveal.js/js/controllers/notes.js (100%) rename {slides => slides_2021}/reveal.js/js/controllers/overview.js (100%) rename {slides => slides_2021}/reveal.js/js/controllers/plugins.js (100%) rename {slides => slides_2021}/reveal.js/js/controllers/pointer.js (100%) rename {slides => slides_2021}/reveal.js/js/controllers/print.js (100%) rename {slides => slides_2021}/reveal.js/js/controllers/progress.js (100%) rename {slides => slides_2021}/reveal.js/js/controllers/slidecontent.js (100%) rename {slides => slides_2021}/reveal.js/js/controllers/slidenumber.js (100%) rename {slides => slides_2021}/reveal.js/js/controllers/touch.js (100%) rename {slides => slides_2021}/reveal.js/js/index.js (100%) rename {slides => slides_2021}/reveal.js/js/reveal.js (100%) rename {slides => slides_2021}/reveal.js/js/utils/color.js (100%) rename {slides => slides_2021}/reveal.js/js/utils/constants.js (100%) rename {slides => slides_2021}/reveal.js/js/utils/device.js (100%) rename {slides => slides_2021}/reveal.js/js/utils/loader.js (100%) rename {slides => slides_2021}/reveal.js/js/utils/util.js (100%) rename {slides => slides_2021}/reveal.js/package-lock.json (100%) rename {slides => slides_2021}/reveal.js/package.json (100%) rename {slides => slides_2021}/reveal.js/plugin/highlight/highlight.esm.js (100%) rename {slides => slides_2021}/reveal.js/plugin/highlight/highlight.js (100%) rename {slides => slides_2021}/reveal.js/plugin/highlight/monokai.css (100%) rename {slides => slides_2021}/reveal.js/plugin/highlight/plugin.js (100%) rename {slides => slides_2021}/reveal.js/plugin/highlight/zenburn.css (100%) rename {slides => slides_2021}/reveal.js/plugin/markdown/markdown.esm.js (100%) rename {slides => slides_2021}/reveal.js/plugin/markdown/markdown.js (100%) rename {slides => slides_2021}/reveal.js/plugin/markdown/plugin.js (100%) rename {slides => slides_2021}/reveal.js/plugin/math/math.esm.js (100%) rename {slides => slides_2021}/reveal.js/plugin/math/math.js (100%) rename {slides => slides_2021}/reveal.js/plugin/math/plugin.js (100%) rename {slides => slides_2021}/reveal.js/plugin/notes/notes.esm.js (100%) rename {slides => slides_2021}/reveal.js/plugin/notes/notes.js (100%) rename {slides => slides_2021}/reveal.js/plugin/notes/plugin.js (100%) rename {slides => slides_2021}/reveal.js/plugin/search/plugin.js (100%) rename {slides => slides_2021}/reveal.js/plugin/search/search.esm.js (100%) rename {slides => slides_2021}/reveal.js/plugin/search/search.js (100%) rename {slides => slides_2021}/reveal.js/plugin/zoom/plugin.js (100%) rename {slides => slides_2021}/reveal.js/plugin/zoom/zoom.esm.js (100%) rename {slides => slides_2021}/reveal.js/plugin/zoom/zoom.js (100%) diff --git a/slides/cours_1.md b/slides/cours_1.md index 81ca94e..6bf2aae 100644 --- a/slides/cours_1.md +++ b/slides/cours_1.md @@ -1,6 +1,6 @@ --- title: "Introduction aux algorithmes" -date: "2021-09-22" +date: "2022-09-21" --- # Qu'est-ce qu'un algorithme? @@ -57,14 +57,12 @@ Nombre premier: nombre possédant deux diviseurs entiers distincts. ## Algorithme naïf (problème) ```C -est_premier(nombre) { - si { - pour tout i, t.q. 1 < i < nombre { +est_premier(nombre) + si + pour tout i, t.q. 1 < i < nombre i ne divise pas nombre - } - } alors vrai + alors vrai sinon faux -} ``` . . . @@ -80,14 +78,12 @@ est_premier(nombre) { ## Algorithme naïf (une solution) ```C -est_premier(nombre) { // fonction +booléen est_premier(nombre) // fonction soit i := 2; // variable, type, assignation - tant que i < nombre { // boucle - si nombre modulo i = 0 { // expression typée + tant que i < nombre // boucle + si nombre modulo i == 0 // expression typée retourne faux // expression typée - } i := i + 1 - } retourne vrai // expression typée ``` @@ -573,14 +569,13 @@ $$ . . . ```C -int factorielle(int n) { - i = 1; - fact = 1; - pour i <= n { - fact *= i; - i += 1; - } -} +entier factorielle(n) { + i = 1 + fact = 1 + pour i <= n + fact *= i + i += 1 + retourne i ``` # Exercice: la factorielle @@ -625,7 +620,7 @@ int main() { ```C int printf(const char *format, ...); ``` -- Nombre d'arguments variables. +- Nombre d'arguments **variable**. - `format`{.C} est le texte, ainsi que le format (type) des variables à afficher. - Les arguments suivants sont les expressions à afficher. @@ -688,6 +683,6 @@ int main() { . . . -## Postez vos solutions sur matrix! +## Postez vos solutions sur **matrix**! diff --git a/slides/figs/matrix_qr.png b/slides/figs/matrix_qr.png new file mode 100644 index 0000000000000000000000000000000000000000..ce2c45261290e5dc508c661a2c66b3545776e553 GIT binary patch literal 1974 zcmeAS@N?(olHy`uVBq!ia0y~yU^oH79Bd2>3~M9S&0}C-ul00s45^s&c9wVFT>~DL z=l`brU2`+q;<N3<v{=?NetC6EPCZhzuV;7=Ubjq|p@7Yifk}Wxfq^7SrRmR~KR5oY ze7@q$>UGgCml{R8>-)WbU^H3fNP;3qlLAMR!pk@T751h(X98!2$8NvG-Sos^!fZ>e z&#PXCRXI+Oxy|y@q4uS0v5)7C#^2T+soqX!#G4gtckFKt*`{)&#*pJuGhX2%)8Bnr zpj~?PZ|R$zkL~=b*f}OKI0`(8Ji#q4+^E3uN#{vxcc+5@OQqPSLq}Z{IGSv@4dZ>> z@2+%TdGGWUOO~HcWk9ZEc`m@>D4=4|4s!89OBP1~7S40Nx^8<z${$*ND|%$TW3H!A z(Ssxbm;KX)?;m{YGid^|c(cN<y>ou><)u$*k=Y@^a`FAsBjp9wlU1G^II7T5r?0-R z`Swf|MQQ1fD{m|IyqahIEY#lNd-;S@(^_WevpEW=%+=*IjOS@m@UV&&O4=vE;y9rM z;^!uXmpPsu51p>mul`$j?)Cl&C3~8AI1X8|a5@N_Q}keHD&TWu5@;#r5W4W$xLGmy z^!t4eR_NXNd{bBPMEd%Fg7fbRHPw83CI1m!pzzH42-(u`>=oxNJ&PaxD{E3<6Yl|e zxoO_jJ*oB9jsnfxZlI8GJfC%M)Bd?KpM%?eG5TG7@gnlBxBFeM-no|)Jc@h!<_WSm z3M|<;y>Hi4DUMI<jsh%>P68~BcA6)y9G>;+sOJMd$z^2=m>g$SI|{H=USj|UF)zp> zj|*Uqjq~3R*1w8>ZF9cHwa)0z_V#aG+zK9VqggICDlGapXP>KpEQivo^DmJFZfmWY zzJA|>zWn7`K6l-Z%iIN<2R4ociRrOx#x520Wl!Eu2(@jm?)A3y<Y-bj(QJ7qJLZ)q z$dz(u9>zTm@)v4S;P{ll_g!jw)g%EH#|iAkJFf4zGFdfMT7zdz9mnPV&A$^@e)gO5 zc-y^eU#7ANJUP++b(&?~>s;UXOa{lknuz?Fc%|m4EV;1d^3j$06<!an=HD&9rF*!( zdP0jr$DZk4_g-y(XYD%S(e~Aq98C(50xXU><y{I#^TR(2usCj#`K*2I$|q~NeD~O| z|FlZpxUz!6&*kg3W$R5E6m&}kRoKx5j&F<Kct=08v~Oi`@PCDnf?w>8tW9^$7?$#Z z;-;w>lof^MID`E8K&EMr#{@nrx%SJf{$GPuKD<}V#^O0A_`1c%jdO1h#cs>ppXB?n z&eM<o^h^J}>7pEyeu#lGUB^L%t~db}$A2#!g^~<97KyVsPN=V%&?3RJ=mo2zz?1oM z+gSHMxpcKuyV7rW)KcYqb+Egx-WKao;0T(t)@VH!DCc#)$_1rD&2wQh!(Csmk9d_D znpL8|OL%L{t6i_=mEThZ`@YuGsizI>qxQWD98D=8k4{*j@7Zy&b%p-Pzw49rMXl0q z-`cOj;wX@E*f0F^wr~2Jjsh$<H(b8DXYF5aP*N~^Q(~H*{U03vyw<U2LCTjrd}JkN zp&FyQe)076p0zK%g_;zSD`od8c$l&{9{Xff<v1aWqp9a<>6a#js{$;Nr(eHdbzG&$ zE53Z+gua_vm9nMFSqk?r_THw#;`pSJBWSiSYg5jgwUgQvw%!a;IC1Qz7P{b<|2hT@ zzXDh3?_IpVuXwf3Tm7r6bxwlIgY}zKk_A{CFYP@wsmD=(#q+zCw-Ko5xVu^<rSL(Y zeQCX)b-?|=)V@9`+3KCljshyC?(V#xKy(yfDXie&m;@E;4d=ep7##am`PGZcuQBaw zI5sgZ-^CI1n$^+lL5R3x)?S4ZY;#^Id8`#@x!DjL%d+xolfwQvuPbu=O2Y%~mA>v# zxBbKgj;#hzUSmXJ&KF%$<k$QAap?P_f9>>aJ)8uVuryWNJ-(FPlcQ;hgTVUVJH9Az zI!+MccvLDsT~0-jBZ$dy&%4K$npK`SI9lxs{T_30?{m$_{NIyW6g*C^)7tU9M`1rG zvHpA;4e|=-K38zUy?vf@QJU9;zJFS#R&uj<wKenne+!D8Pye(`1zf;+0=Xc_5l(rv z{?h$d+k<z%T48<l^Of2=-&8pb1(+R8N|#r;39x9sU$yvM$a#(?g{QHlSLVKwbQD;! wXLaAMVB7ss0u9@n6c`vem;@Tgq3Rir?eAEfrJcmcz`(%Z>FVdQ&MBb@08Fhgy#N3J literal 0 HcmV?d00001 diff --git a/slides/intro.md b/slides/intro.md index 5dc3246..9cfd398 100644 --- a/slides/intro.md +++ b/slides/intro.md @@ -1,6 +1,6 @@ --- title: "Introduction générale" -date: "2020-09-16" +date: "2022-09-21" --- # La hotline @@ -11,11 +11,12 @@ Paul Albuquerque paul.albuquerque@hesge.ch B410 Orestis Malaspinas orestis.malaspinas@hesge.ch A401 -------------------- ------------------------------ -------------------- -Utilisez le libre service (l'horaire sera fixé prochainement). +* Utilisez le libre service (l'horaire sera fixé prochainement). +* On va intensivement utiliser *Element*, installez le et utilisez le! -Salon de discussion [Matrix](https://matrix.to/#/!tuZtXjUSPbnRfBsFXv:matrix.org?via=matrix.org), installez [element.io](https://element.io). +* Espace de discussion [Matrix](https://matrix.to/#/!aKYVlcclmPGYXQFxAK:matrix.org?via=matrix.org), installez [element.io](https://element.io). -{width=20%} + {width=20%} # Cyberlearn @@ -23,11 +24,12 @@ Tout le contenu de ce qu'on raconte se trouve sur cyberlearn: - Algorithmes et structures de données - <https://cyberlearn.hes-so.ch/course/view.php?id=13941> - - Clé d'inscription: algo_2020_21 + - Clé d'inscription: algo_2021_22 - Programmation Sequentielle en C - <https://cyberlearn.hes-so.ch/course/view.php?id=12399> - - Clé d'inscription: PS_2018 + - Clé d'inscription: prog_seq_2021_22 + # Organisation du module @@ -46,24 +48,7 @@ Tout le contenu de ce qu'on raconte se trouve sur cyberlearn: * Plusieurs "petits" exercices illustrant les concepts d'algorithmique (1-2 séances). * Évaluations: - * Un projet de programmation. - * Une évaluation machine. - -# Sondage: expérience de programmation - -## [Sondage: expérience de linux](https://cyberlearn.hes-so.ch/mod/evoting/view.php?id=1291283) - -## [Sondage: expérience de programmation](https://cyberlearn.hes-so.ch/mod/evoting/view.php?id=1035242) - -**Installez un lecteur de QR code s'il-vous-plaît.** - -# Questions? - -- N'hésitez pas à poser des *questions*, nous sommes là pour ça! [^1] -- Ne restez pas coincés pendant des jours sur un problème. -- Utilisez le *libre-service*! -- N'hésitez pas à faire des *retours*: *négatifs* ou *positifs*. - -[^1]: Chaque étudiant·e·s a un quota de 5 questions par semestre. + * Deux évaluation machine (1er semestre). + * Probablement, une évaluation machine et un projet (2e semestre). diff --git a/slides_2021/.gitignore b/slides_2021/.gitignore new file mode 100644 index 0000000..311559f --- /dev/null +++ b/slides_2021/.gitignore @@ -0,0 +1,6 @@ +*.pdf +*.err +*.markdown +*.html +index.md +.puppeteer.json diff --git a/slides_2021/Makefile b/slides_2021/Makefile new file mode 100644 index 0000000..145d422 --- /dev/null +++ b/slides_2021/Makefile @@ -0,0 +1,71 @@ +PDFOPTIONS = -t beamer +# PDFOPTIONS += -F pantable +PDFOPTIONS += -F mermaid-filter +PDFOPTIONS += --highlight-style my_highlight.theme +PDFOPTIONS += --pdf-engine xelatex +PDFOPTIONS += -V theme:metropolis +PDFOPTIONS += -V themeoptions:numbering=none -V themeoptions:progressbar=foot +PDFOPTIONS += -V fontsize=smaller +PDFOPTIONS += -V urlcolor=blue + +REVEALOPTIONS = -t revealjs +REVEALOPTIONS += -F mermaid-filter +REVEALOPTIONS += --self-contained +REVEALOPTIONS += -V revealjs-url=reveal.js +REVEALOPTIONS += -V theme=white +REVEALOPTIONS += -V width=1920 +REVEALOPTIONS += -V margin=0 +REVEALOPTIONS += --slide-level=1 + +MD=$(wildcard *.md) # Tous les fichiers .md +PDF=$(MD:%.md=%.pdf) # Pour les fichier pdf on transforme .md -> .pdf +HTML=$(MD:%.md=%.html) # Pour les fichier html on transforme .md -> .html +MARKDOWN=$(MD:%.md=%.markdown) # Pour les fichier markdown on transforme .md -> .markdown +CHROMIUM:=$(shell which chromium || which chromium-browser) + +all: puppeteer $(PDF) +# all: puppeteer $(PDF) $(HTML) # La cible par défaut (all) exécute les cibles %.pdf + +docker: docker-compose.yml + docker-compose run slides make puppeteer -k || true + docker-compose run slides make all -k || true + +docker_clean: docker-compose.yml + docker-compose run slides make clean -k || true + +puppeteer: + @echo "Setting chromium to $(CHROMIUM) for puppeteer" + @echo -e "{\n\"executablePath\":" \"$(CHROMIUM)\" ",\n\"args\": [\"--no-sandbox\"]\n}" > .puppeteer.json + +index: + rm -f index.md + ./gen_index.sh + +markdown: $(MARKDOWN) # La markdown les cibles %.markdown + +%.pdf: %.md metadata.yaml # %.pdf (chaque fichier %.md génère un fichier avec le même nom mais l'extension .pdf et la dépendance metadata.yaml) + pandoc -s $(OPTIONS) $(PDFOPTIONS) -o $@ $^ + +%.html: %.md metadata.yaml + pandoc -s $(OPTIONS) $(REVEALOPTIONS) -o $@ $^ + +%.markdown: %.md metadata.yaml yq + sed '1 { /^---/ { :a N; /\n---/! ba; d} }' $< > no_header + grep -v -F -x -f no_header $< > header.yaml + echo "---" > tmp.yaml + ./yq_linux_amd64 merge metadata.yaml header.yaml >> tmp.yaml + cat tmp.yaml no_header > $@ + rm no_header header.yaml tmp.yaml + +yq: # On peut même télécharger un petit programme avec notre makefile + wget -nc https://github.com/mikefarah/yq/releases/download/3.4.1/yq_linux_amd64 + chmod "u+x" yq_linux_amd64 + +deploy: all + mkdir -p algo_cours + cp *.pdf algo_cours + +clean: + rm -f *.html *.pdf *.markdown yq_linux_amd64* index.md .puppeteer.json + +.PHONY: clean index puppeteer yq diff --git a/slides_2021/cours_1.md b/slides_2021/cours_1.md new file mode 100644 index 0000000..81ca94e --- /dev/null +++ b/slides_2021/cours_1.md @@ -0,0 +1,693 @@ +--- +title: "Introduction aux algorithmes" +date: "2021-09-22" +--- + +# Qu'est-ce qu'un algorithme? + +## Définition informelle (recette) + +* des entrées (les ingrédients, le matériel utilisé) ; +* des instructions élémentaires simples (frire, flamber, etc.), dont les + exécutions dans un ordre précis amènent au résultat voulu ; +* un résultat : le plat préparé. + +. . . + +## Histoire et étymologie + +- Existent depuis 4500 ans au moins (algorithme de division, crible + d'Eratosthène). +- Le mot algorithme est dérivé du nom du mathématicien perse + *Muḥammad ibn Musā al-Khwārizmī*, qui a été "latinisé" comme + *Algoritmi*. + +. . . + +## Définition formelle + +En partant d'un état initial et d'entrées (peut-être vides), une séquence finie +d'instruction bien définies (ordonnées) implémentables sur un ordinateur, afin +de résoudre typiquement une classe de problèmes ou effectuer un calcul. + +# Notions de base d'algorithmique + +## Variable + +. . . + +* Paire: identifiant - valeur (assignation); + +## Séquence d'instructions / expressions + +. . . + +* Opérateurs (arthimétiques / booléens) +* Boucles; +* Structures de contrôle; +* Fonctions; + + +# Algorithme de vérification qu'un nombre est premier (1/3) + +Nombre premier: nombre possédant deux diviseurs entiers distincts. + +. . . + +## Algorithme naïf (problème) + +```C +est_premier(nombre) { + si { + pour tout i, t.q. 1 < i < nombre { + i ne divise pas nombre + } + } alors vrai + sinon faux +} +``` + +. . . + +## Pas vraiment un algorithme: pas une séquence ordonnée et bien définie + +. . . + +## Problème: Comment écrire ça sous une forme algorithmique? + +# Algorithme de vérification qu'un nombre est premier (2/3) + +## Algorithme naïf (une solution) + +```C +est_premier(nombre) { // fonction + soit i := 2; // variable, type, assignation + tant que i < nombre { // boucle + si nombre modulo i = 0 { // expression typée + retourne faux // expression typée + } + i := i + 1 + } + retourne vrai // expression typée +``` + +# Algorithme de vérification qu'un nombre est premier (3/3) + +## Algorithme naïf (une solution en C) + +```C +bool est_premier(int nombre) { + int i; // i est un entier + i = 2; // assignation i à 2 + while (i < nombre) { // boucle avec condition + if (0 == nombre % i) { // is i divise nombre + return false; // i n'est pas premier + } + i += 1; // sinon on incrémente i + } + return true; +} +``` + +. . . + +## Exercice: Comment faire plus rapide? + +# Génération d'un exécutable + +- Pour pouvoir être exécuté un code C doit être d'abord compilé (avec `gcc` ou `clang`). +- Pour un code `prog.c` la compilation "minimale" est + + ```bash + $ gcc prog.c + $ ./a.out # exécutable par défaut + ``` + +- Il existe une multitude d'options de compilation: + + ```bash + $ gcc -O1 -std=c11 -Wall -Wextra -g porg.c -o prog -fsanitize=address + -fsanitize=leak -fsanitize=undefined + ``` + 1. `-std=c11` utilisation de C11. + 2. `-Wall et -Wextra` activation des warnings. + 3. `-fsanitize=…` contrôles d’erreurs à l’exécution (coût en performance). + 4. `-g` symboles de débogages sont gardés. + 5. `-o` défini le fichier exécutable à produire en sortie. + 6. `-O1`, `-O2`, `-O3`: activation de divers degrés d'optimisation + + + +# La simplicité de C? + +## 32 mots-clé et c'est tout + +---------------- -------------- ---------------- --------------- +`auto`{.C} `double`{.C} `int`{.C} `struct`{.C} +`break`{.C} `else`{.C} `long`{.C} `switch`{.C} +`case`{.C} `enum`{.C} `register`{.C} `typedef`{.C} +`char`{.C} `extern`{.C} `return`{.C} `union`{.C} +`const`{.C} `float`{.C} `short`{.C} `unsigned`{.C} +`continue`{.C} `for`{.C} `signed`{.C} `void`{.C} +`default`{.C} `goto`{.C} `sizeof`{.C} `volatile`{.C} +`do`{.C} `if`{.C} `static`{.C} `while`{.C} +---------------- -------------- ---------------- --------------- + +# Déclaration et typage + +En C lorsqu'on veut utiliser une variable (ou une constante), on doit déclarer son type + +```C +const double two = 2.0; // déclaration et init. +int x; // déclaration (instruction) +char c; // déclaration (instruction) +x = 1; // affectation (expression) +c = 'a'; // affectation (expression) +int y = x; // déclaration et initialisation en même temps +int a, b, c; // déclarations multiples +a = b = c = 1; // init. multiples +``` + +# Les variables (1/2) + +## Variables et portée + +- Une variable est un identifiant, qui peut être liée à une valeur (un expression). +- Une variable a une **portée** qui définit où elle est *visible* (où elle peut être accédée). +- La portée est **globale** ou **locale**. +- Une variable est **globale** est accessible à tout endroit d'un programme et doit être déclarée en dehors de toute fonction. +- Une variable est **locale** lorsqu'elle est déclarée dans un **bloc**, `{...}`{.C}. +- Une variable est dans la portée **après** avoir été déclarée. + +# Les variables (2/2) + +## Exemple + +```C +float max; // variable globale accessible partout +int foo() { + // max est visible ici + float a = max; // valide + // par contre les varibles du main() ne sont pas visibles +} +int main() { + // max est visible ici + int x = 1; // x est locale à main + { + // x est visible ici, y pas encore + // on peut par exemple pas faire x = y; + int y = 2; + } // y est détruite à la sortie du bloc +} // x est à la sortie de main + +``` + +<!-- TODO: quiz, compile, compile pas --> +<!-- ```C +int main() { + global = 1; +} // COMPILE PAS +``` + +```C +int main() { + int global = 1; + { + printf("global = %d", global); + } +} // COMPILE +``` + +```C +int local; + +int main() { + local = 1; + { + printf("local = %d", local); + } +} // COMPILE +``` + +```C +#include <stdio.h> +int local = 0; + +int main() { + int local = -1; + { + int local = 1; + printf("local = %d\n", local); + } +} // COMPILE +``` --> + +# Quiz: compile ou compile pas? + +## [Quiz: compile ou compile pas](https://cyberlearn.hes-so.ch/mod/evoting/view.php?id=1033948) + +# Types de base (1/4) + +## Numériques + +Type Signification (**gcc pour x86-64**) +---------------------------------- --------------------------------------------- +`char`{.C}, `unsigned char`{.C} Entier signé/non-signé 8-bit +`short`{.C}, `unsigned short`{.C} Entier signé/non-signé 16-bit +`int`{.C}, `unsigned int`{.C} Entier signé/non-signé 32-bit +`long`{.C}, `unsigned long`{.C} Entier signé/non-signé 64-bit +`float`{.C} Nombre à virgule flottante, simple précision +`double`{.C} Nombre à virgule flottante, double précision +---------------------------------- --------------------------------------------- + +**La signification de `short`{.C}, `int`{.C}, ... dépend du compilateur et de l'architecture.** + +# Types de base (2/4) + +Voir `<stdint.h>` pour des représentations **portables** + +Type Signification +---------------------------------- --------------------------------------------- +`int8_t`{.C}, `uint8_t`{.C} Entier signé/non-signé 8-bit +`int16_t`{.C}, `uint16_t`{.C} Entier signé/non-signé 16-bit +`int32_t`{.C}, `uint32_t`{.C} Entier signé/non-signé 32-bit +`int64_t`{.C}, `uint64_t`{.C} Entier signé/non-signé 64-bit +---------------------------------- --------------------------------------------- + +. . . + +## Prenez l'habitude d'utiliser ces types-là! + +# Types de base (3/4) + +## Booléens + +- Le ANSI C n'offre pas de booléens. +- L'entier `0`{.C} signifie *faux*, tout le reste *vrai*. +- Depuis C99, la librairie `stdbool` met à disposition un type `bool`{.C}. +- En réalité c'est un entier: + - $1 \Rightarrow$ `true`{.C} + - $0 \Rightarrow$ `false`{.C} +- On peut les manipuler comme des entier (les sommer, les multiplier, ...). + +# Quiz: booléens + +## [Quiz: booléens](https://cyberlearn.hes-so.ch/mod/evoting/view.php?id=1032492) + +<!-- TODO Quiz en ligne --> +<!-- ```C +if (42) { /* vrai */ } + +int x = 100; +if (x == 4) { /* faux */ } +if (x) { /* vrai */ } + +int x = 100; +while (x−−) { /* répète tant que x est différent de 0 */ } + +if (0) { /* faux */ } +if (i = 4) { /* vrai */ } +if (i = 0) { /* faux */ } + +#include <stdbool.h> + +bool x = true; +if (x) { /* vrai */ } +``` --> + +# Types de base (4/4) + +## Conversions + +- Les conversions se font de manière: + - Explicite: + ```C + int a = (int)2.8; + double b = (double)a; + int c = (int)(2.8+0.5); + ``` + - Implicite: + ```C + int a = 2.8; // warning, si activés, avec clang + double b = a + 0.5; + char c = b; // pas de warning... + int d = 'c'; + ``` + +# Quiz: conversions + +## [Quiz: conversions](https://cyberlearn.hes-so.ch/mod/evoting/view.php?id=1033446) + +<!-- TODO Quiz en ligne --> +<!-- ```C +int a = (int)2.8; // 2 + +double b = 2.85; +int c = b + 0.5; // 3 + +int d = a + 0.5; // 2 + +bool d = 2.78; // 1 +bool e = 1.0; // 1 +``` --> + +# Expressions et opérateurs (1/6) + +Une expression est tout bout de code qui est **évalué**. + +## Expressions simples + +- Pas d'opérateurs impliqués. +- Les littéraux, les variables, et les constantes. + +```C +const int L = -1; // 'L' est une constante, -1 un littéral +int x = 0; // '0' est un litéral +int y = x; // 'x' est une variable +int z = L; // 'L' est une constante +``` + +## Expressions complexes + +- Obtenues en combinant des *opérandes* avec des *opérateurs* + +```C +int x; // pas une expression (une instruction) +x = 4 + 5; // 4 + 5 est une expression + // dont le résultat est affecté à 'x' +``` + +# Expressions et opérateurs (2/6) + +## Opérateurs relationnels + +Opérateurs testant la relation entre deux *expressions*: + + - `(a opérateur b)` retourne `1`{.C} si l'expression s'évalue à `true`{.C}, `0`{.C} si l'expression s'évalue à `false`{.C}. + +| Opérateur | Syntaxe | Résultat | +|-----------|--------------|----------------------| +| `<`{.C} | `a < b`{.C} | 1 si a < b; 0 sinon | +| `>`{.C} | `a > b`{.C} | 1 si a > b; 0 sinon | +| `<=`{.C} | `a <= b`{.C} | 1 si a <= b; 0 sinon | +| `>=`{.C} | `a >= b`{.C} | 1 si a >= b; 0 sinon | +| `==`{.C} | `a == b`{.C} | 1 si a == b; 0 sinon | +| `!=`{.C} | `a != b`{.C} | 1 si a != b; 0 sinon | + +# Expressions et opérateurs (3/6) + +## Opérateurs logiques + +| Opérateur | Syntaxe | Signification | +|-----------|--------------|----------------------| +| `&&`{.C} | `a && b`{.C} | ET logique | +| `||`{.C} | `a || b`{.C} | OU logique | +| `!`{.C} | `!a`{.C} | NON logique | + +# Quiz: opérateurs logiques + +## [Quiz: opérateurs logiques](https://cyberlearn.hes-so.ch/mod/evoting/view.php?id=1033629) + +<!-- TODO: Quiz --> +<!-- ```C +1 && 0 == 0 +7 && 3 == 1 +4 || 3 == 1 +!34 == 0 +!0 == 1 + +Soit n un unsigned char initialisé à 127: +!n == 0 +``` --> + +# Expressions et opérateurs (4/6) + +## Opérateurs arithmétiques + +| Opérateur | Syntaxe | Signification | +|-----------|--------------|----------------------| +| `+`{.C} | `a + b`{.C} | Addition | +| `-`{.C} | `a - b`{.C} | Soustraction | +| `*`{.C} | `a * b`{.C} | Multiplication | +| `/`{.C} | `a / b`{.C} | Division | +| `%`{.C} | `a % b`{.C} | Modulo | + +# Expressions et opérateurs (5/6) + +## Opérateurs d'assignation + +| Opérateur | Syntaxe | Signification | +|-----------|--------------|---------------------------------------------| +| `=`{.C} | `a = b`{.C} | Affecte la valeur `b` à la variable `a` | +| | | et retourne la valeur de `b` | +| `+=`{.C} | `a += b`{.C} | Additionne la valeur de `b` à `a` et | +| | | assigne le résultat à `a`. | +| `-=`{.C} | `a -= b`{.C} | Soustrait la valeur de `b` à `a` et | +| | | assigne le résultat à `a`. | +| `*=`{.C} | `a *= b`{.C} | Multiplie la valeur de `b` à `a` et | +| | | assigne le résultat à `a`. | +| `/=`{.C} | `a /= b`{.C} | Divise la valeur de `b` à `a` et | +| | | assigne le résultat à `a`. | +| `%=`{.C} | `a %= b`{.C} | Calcule le modulo la valeur de `b` à `a` et | +| | | assigne le résultat à `a`. | + +# Expressions et opérateurs (6/6) + +## Opérateurs d'assignation (suite) + +| Opérateur | Syntaxe | Signification | +|-----------|--------------|---------------------------------------------| +| `++`{.C} | `++a`{.C} | Incrémente la valeur de `a` de 1 et | +| | | retourne le résultat (`a += 1`). | +| `--`{.C} | `--a`{.C} | Décrémente la valeur de `a` de 1 et | +| | | retourne le résultat (`a -= 1`). | +| `++`{.C} | `a++`{.C} | Retourne `a`{.C} et incrémente `a` de 1. | +| `--`{.C} | `a--`{.C} | Retourne `a`{.C} et décrémente `a` de 1. | + + +# Structures de contrôle: `if`{.C} .. `else if`{.C} .. `else`{.C} (1/2) + +## Syntaxe + +```C +if (expression) { + instructions; +} else if (expression) { // optionnel + // il peut y en avoir plusieurs + instructions; +} else { + instructions; // optionnel +} +``` + +```C +if (x) { // si x s'évalue à `vrai` + printf("x s'évalue à vrai.\n"); +} else if (y == 8) { // si y vaut 8 + printf("y vaut 8.\n"); +} else { + printf("Ni l'un ni l'autre.\n"); +} +``` + +# Structures de contrôle: `if`{.C} .. `else if`{.C} .. `else`{.C} (2/2) + +## Pièges + +```C +int x, y; +x = y = 3; +if (x = 2) + printf("x = 2 est vrai.\n"); +else if (y < 8) + printf("y < 8.\n"); +else if (y == 3) + printf("y vaut 3 mais cela ne sera jamais affiché.\n"); +else + printf("Ni l'un ni l'autre.\n"); + x = -1; // toujours évalué +``` + +# Quiz: `if ... else`{.C} + +## [Quiz: `if ... else`{.C}](https://cyberlearn.hes-so.ch/mod/evoting/view.php?id=1033916) + + +# Structures de contrôle: `while`{.C} + +## La boucle `while`{.C} + +```C +while (condition) { + instructions; +} +do { + instructions; +} while (condition); +``` + +## La boucle `while`{.C}, un exemple + +```C +int sum = 0; // syntaxe C99 +while (sum < 10) { + sum += 1; +} +do { + sum += 10; +} while (sum < 100) +``` + +# Structures de contrôle: `for`{.C} + +## La boucle `for`{.C} + +```C +for (expression1; expression2; expression3) { + instructions; +} +``` + +## La boucle `for`{.C} + +```C +int sum = 0; // syntaxe C99 +for (int i = 0; i < 10; i++) { + sum += i; +} + +for (int i = 0; i != 1; i = rand() % 4) { // ésotérique + printf("C'est plus ésotérique.\n"); +} +``` + +# Exercice: la factorielle + +Écrire un programme qui calcule la factorielle d'un nombre +$$ +N! = 1\cdot 2\cdot ... \cdot (N-1)\cdot N. +$$ + +## Par groupe de 3: écrire un pseudo-code + +. . . + +```C +int factorielle(int n) { + i = 1; + fact = 1; + pour i <= n { + fact *= i; + i += 1; + } +} +``` + +# Exercice: la factorielle + +\footnotesize + +Écrire un programme qui calcule la factorielle d'un nombre +$$ +N! = 1\cdot 2\cdot ... \cdot (N-1)\cdot N. +$$ + +## Par groupe de 3: écrire un code en C + +Quand vous avez fini postez le code sur le salon matrix. + +. . . + +```C +#include <stdio.h> +int main() { + int nb = 10; + int fact = 1; + int iter = 2; + while (iter <= nb) { + fact *= iter; + iter++; + } +} +``` + +. . . + +## Comment améliorer ce code? (notez ça sur une feuille) + + +# Entrées/sorties: `printf()`{.C} (1/2) + +## Généralités + +- La fonction `printf()`{.C} permet d'afficher du texte sur le terminal: + + ```C + int printf(const char *format, ...); + ``` +- Nombre d'arguments variables. +- `format`{.C} est le texte, ainsi que le format (type) des variables à afficher. +- Les arguments suivants sont les expressions à afficher. + +# Entrées/sorties: `printf()`{.C} (2/2) + +## Exemple + +```C +#include <stdio.h> +#include <stdlib.h> + +int main() { + printf("Hello world.\n"); + int val = 1; + printf("Hello world %d time.\n", val); + printf("%f squared is equal to %f.\n", 2.5, 2.5*2.5); + return EXIT_SUCCESS; +} +``` + +# Entrées/sorties: `scanf()`{.C} (1/2) + +## Généralités + +- La fonction `scanf()`{.C} permet de lire du texte formaté entré au clavier: + + ```C + int scanf(const char *format, ...); + ``` + +- `format`{.C} est le format des variables à lire (comme `printf()`{.C}). +- Les arguments suivants sont les variables où sont stockées les valeurs lues. + +# Entrées/sorties: `scanf()`{.C} (2/2) + +## Exemple + +```C +#include <stdio.h> +#include <stdlib.h> + +int main() { + printf("Enter 3 numbers: \n"); + int i, j, k; + scanf("%d %d %d", &i, &j, &k); + printf("You entered: %d %d %d\n", i, j, k); + + return EXIT_SUCCESS; +} +``` + +# Exercice: la factorielle en mieux + +## Individuellement + +1. Ajoutez des fonctionnalités à votre code. +2. Écrivez l'algorithme de calcul de deux façon différentes. +3. Pour celles et ceux qui ont fini pendant que les autres essaient: faites-le + en récursif (sans aide). + +. . . + +## Postez vos solutions sur matrix! + + diff --git a/slides/cours_10.md b/slides_2021/cours_10.md similarity index 100% rename from slides/cours_10.md rename to slides_2021/cours_10.md diff --git a/slides/cours_11.md b/slides_2021/cours_11.md similarity index 100% rename from slides/cours_11.md rename to slides_2021/cours_11.md diff --git a/slides/cours_12.md b/slides_2021/cours_12.md similarity index 100% rename from slides/cours_12.md rename to slides_2021/cours_12.md diff --git a/slides/cours_13.md b/slides_2021/cours_13.md similarity index 100% rename from slides/cours_13.md rename to slides_2021/cours_13.md diff --git a/slides/cours_14.md b/slides_2021/cours_14.md similarity index 100% rename from slides/cours_14.md rename to slides_2021/cours_14.md diff --git a/slides/cours_15.md b/slides_2021/cours_15.md similarity index 100% rename from slides/cours_15.md rename to slides_2021/cours_15.md diff --git a/slides/cours_16.md b/slides_2021/cours_16.md similarity index 100% rename from slides/cours_16.md rename to slides_2021/cours_16.md diff --git a/slides/cours_17.md b/slides_2021/cours_17.md similarity index 100% rename from slides/cours_17.md rename to slides_2021/cours_17.md diff --git a/slides/cours_18.md b/slides_2021/cours_18.md similarity index 100% rename from slides/cours_18.md rename to slides_2021/cours_18.md diff --git a/slides/cours_19.md b/slides_2021/cours_19.md similarity index 100% rename from slides/cours_19.md rename to slides_2021/cours_19.md diff --git a/slides/cours_2.md b/slides_2021/cours_2.md similarity index 100% rename from slides/cours_2.md rename to slides_2021/cours_2.md diff --git a/slides/cours_20.md b/slides_2021/cours_20.md similarity index 100% rename from slides/cours_20.md rename to slides_2021/cours_20.md diff --git a/slides/cours_21.md b/slides_2021/cours_21.md similarity index 100% rename from slides/cours_21.md rename to slides_2021/cours_21.md diff --git a/slides/cours_22.md b/slides_2021/cours_22.md similarity index 100% rename from slides/cours_22.md rename to slides_2021/cours_22.md diff --git a/slides/cours_23.md b/slides_2021/cours_23.md similarity index 100% rename from slides/cours_23.md rename to slides_2021/cours_23.md diff --git a/slides/cours_24.md b/slides_2021/cours_24.md similarity index 100% rename from slides/cours_24.md rename to slides_2021/cours_24.md diff --git a/slides/cours_25.md b/slides_2021/cours_25.md similarity index 100% rename from slides/cours_25.md rename to slides_2021/cours_25.md diff --git a/slides/cours_26.md b/slides_2021/cours_26.md similarity index 100% rename from slides/cours_26.md rename to slides_2021/cours_26.md diff --git a/slides/cours_27.md b/slides_2021/cours_27.md similarity index 100% rename from slides/cours_27.md rename to slides_2021/cours_27.md diff --git a/slides/cours_3.md b/slides_2021/cours_3.md similarity index 100% rename from slides/cours_3.md rename to slides_2021/cours_3.md diff --git a/slides/cours_4.md b/slides_2021/cours_4.md similarity index 100% rename from slides/cours_4.md rename to slides_2021/cours_4.md diff --git a/slides/cours_5.md b/slides_2021/cours_5.md similarity index 100% rename from slides/cours_5.md rename to slides_2021/cours_5.md diff --git a/slides/cours_6.md b/slides_2021/cours_6.md similarity index 100% rename from slides/cours_6.md rename to slides_2021/cours_6.md diff --git a/slides/cours_7.md b/slides_2021/cours_7.md similarity index 100% rename from slides/cours_7.md rename to slides_2021/cours_7.md diff --git a/slides/cours_8.md b/slides_2021/cours_8.md similarity index 100% rename from slides/cours_8.md rename to slides_2021/cours_8.md diff --git a/slides/cours_9.md b/slides_2021/cours_9.md similarity index 100% rename from slides/cours_9.md rename to slides_2021/cours_9.md diff --git a/slides/docker-compose.yml b/slides_2021/docker-compose.yml similarity index 100% rename from slides/docker-compose.yml rename to slides_2021/docker-compose.yml diff --git a/slides/figs/.gitignore b/slides_2021/figs/.gitignore similarity index 100% rename from slides/figs/.gitignore rename to slides_2021/figs/.gitignore diff --git a/slides/figs/2reines.svg b/slides_2021/figs/2reines.svg similarity index 100% rename from slides/figs/2reines.svg rename to slides_2021/figs/2reines.svg diff --git a/slides/figs/3reines.svg b/slides_2021/figs/3reines.svg similarity index 100% rename from slides/figs/3reines.svg rename to slides_2021/figs/3reines.svg diff --git a/slides/figs/4reines.svg b/slides_2021/figs/4reines.svg similarity index 100% rename from slides/figs/4reines.svg rename to slides_2021/figs/4reines.svg diff --git a/slides/figs/4reines_sym.svg b/slides_2021/figs/4reines_sym.svg similarity index 100% rename from slides/figs/4reines_sym.svg rename to slides_2021/figs/4reines_sym.svg diff --git a/slides/figs/Binary_search_complexity.svg b/slides_2021/figs/Binary_search_complexity.svg similarity index 100% rename from slides/figs/Binary_search_complexity.svg rename to slides_2021/figs/Binary_search_complexity.svg diff --git a/slides/figs/Float_example.svg b/slides_2021/figs/Float_example.svg similarity index 100% rename from slides/figs/Float_example.svg rename to slides_2021/figs/Float_example.svg diff --git a/slides/figs/Float_example_bare.svg b/slides_2021/figs/Float_example_bare.svg similarity index 100% rename from slides/figs/Float_example_bare.svg rename to slides_2021/figs/Float_example_bare.svg diff --git a/slides/figs/Konigsberg_bridges.png b/slides_2021/figs/Konigsberg_bridges.png similarity index 100% rename from slides/figs/Konigsberg_bridges.png rename to slides_2021/figs/Konigsberg_bridges.png diff --git a/slides/figs/PageRanks-Example.svg b/slides_2021/figs/PageRanks-Example.svg similarity index 100% rename from slides/figs/PageRanks-Example.svg rename to slides_2021/figs/PageRanks-Example.svg diff --git a/slides/figs/Singly-linked-list.svg b/slides_2021/figs/Singly-linked-list.svg similarity index 100% rename from slides/figs/Singly-linked-list.svg rename to slides_2021/figs/Singly-linked-list.svg diff --git a/slides/figs/Social_Network.svg b/slides_2021/figs/Social_Network.svg similarity index 100% rename from slides/figs/Social_Network.svg rename to slides_2021/figs/Social_Network.svg diff --git a/slides/figs/Stack.svg b/slides_2021/figs/Stack.svg similarity index 100% rename from slides/figs/Stack.svg rename to slides_2021/figs/Stack.svg diff --git a/slides/figs/arbre1.png b/slides_2021/figs/arbre1.png similarity index 100% rename from slides/figs/arbre1.png rename to slides_2021/figs/arbre1.png diff --git a/slides/figs/arbre2.png b/slides_2021/figs/arbre2.png similarity index 100% rename from slides/figs/arbre2.png rename to slides_2021/figs/arbre2.png diff --git a/slides/figs/arbre3_1.png b/slides_2021/figs/arbre3_1.png similarity index 100% rename from slides/figs/arbre3_1.png rename to slides_2021/figs/arbre3_1.png diff --git a/slides/figs/arbre3_2.png b/slides_2021/figs/arbre3_2.png similarity index 100% rename from slides/figs/arbre3_2.png rename to slides_2021/figs/arbre3_2.png diff --git a/slides/figs/arbre3_3.png b/slides_2021/figs/arbre3_3.png similarity index 100% rename from slides/figs/arbre3_3.png rename to slides_2021/figs/arbre3_3.png diff --git a/slides/figs/arbre_couvrant_bien.png b/slides_2021/figs/arbre_couvrant_bien.png similarity index 100% rename from slides/figs/arbre_couvrant_bien.png rename to slides_2021/figs/arbre_couvrant_bien.png diff --git a/slides/figs/arbre_couvrant_exemples.png b/slides_2021/figs/arbre_couvrant_exemples.png similarity index 100% rename from slides/figs/arbre_couvrant_exemples.png rename to slides_2021/figs/arbre_couvrant_exemples.png diff --git a/slides/figs/arbre_couvrant_mal.png b/slides_2021/figs/arbre_couvrant_mal.png similarity index 100% rename from slides/figs/arbre_couvrant_mal.png rename to slides_2021/figs/arbre_couvrant_mal.png diff --git a/slides/figs/arbre_couvrant_minimal_exemple.png b/slides_2021/figs/arbre_couvrant_minimal_exemple.png similarity index 100% rename from slides/figs/arbre_couvrant_minimal_exemple.png rename to slides_2021/figs/arbre_couvrant_minimal_exemple.png diff --git a/slides/figs/arbre_couvrant_vide.png b/slides_2021/figs/arbre_couvrant_vide.png similarity index 100% rename from slides/figs/arbre_couvrant_vide.png rename to slides_2021/figs/arbre_couvrant_vide.png diff --git a/slides/figs/arbres_couvrants_parcours.png b/slides_2021/figs/arbres_couvrants_parcours.png similarity index 100% rename from slides/figs/arbres_couvrants_parcours.png rename to slides_2021/figs/arbres_couvrants_parcours.png diff --git a/slides/figs/barbres_1.svg b/slides_2021/figs/barbres_1.svg similarity index 100% rename from slides/figs/barbres_1.svg rename to slides_2021/figs/barbres_1.svg diff --git a/slides/figs/barbres_2.svg b/slides_2021/figs/barbres_2.svg similarity index 100% rename from slides/figs/barbres_2.svg rename to slides_2021/figs/barbres_2.svg diff --git a/slides/figs/barbres_3.svg b/slides_2021/figs/barbres_3.svg similarity index 100% rename from slides/figs/barbres_3.svg rename to slides_2021/figs/barbres_3.svg diff --git a/slides/figs/barbres_4.svg b/slides_2021/figs/barbres_4.svg similarity index 100% rename from slides/figs/barbres_4.svg rename to slides_2021/figs/barbres_4.svg diff --git a/slides/figs/barbres_5.svg b/slides_2021/figs/barbres_5.svg similarity index 100% rename from slides/figs/barbres_5.svg rename to slides_2021/figs/barbres_5.svg diff --git a/slides/figs/barbres_6.svg b/slides_2021/figs/barbres_6.svg similarity index 100% rename from slides/figs/barbres_6.svg rename to slides_2021/figs/barbres_6.svg diff --git a/slides/figs/barbres_7.svg b/slides_2021/figs/barbres_7.svg similarity index 100% rename from slides/figs/barbres_7.svg rename to slides_2021/figs/barbres_7.svg diff --git a/slides/figs/barbres_ex1.png b/slides_2021/figs/barbres_ex1.png similarity index 100% rename from slides/figs/barbres_ex1.png rename to slides_2021/figs/barbres_ex1.png diff --git a/slides/figs/barbres_ex2.png b/slides_2021/figs/barbres_ex2.png similarity index 100% rename from slides/figs/barbres_ex2.png rename to slides_2021/figs/barbres_ex2.png diff --git a/slides/figs/barbres_ex3.png b/slides_2021/figs/barbres_ex3.png similarity index 100% rename from slides/figs/barbres_ex3.png rename to slides_2021/figs/barbres_ex3.png diff --git a/slides/figs/barbres_ex4.png b/slides_2021/figs/barbres_ex4.png similarity index 100% rename from slides/figs/barbres_ex4.png rename to slides_2021/figs/barbres_ex4.png diff --git a/slides/figs/barbres_ex5.png b/slides_2021/figs/barbres_ex5.png similarity index 100% rename from slides/figs/barbres_ex5.png rename to slides_2021/figs/barbres_ex5.png diff --git a/slides/figs/barbres_exemple.png b/slides_2021/figs/barbres_exemple.png similarity index 100% rename from slides/figs/barbres_exemple.png rename to slides_2021/figs/barbres_exemple.png diff --git a/slides/figs/barbres_insert_easy.svg b/slides_2021/figs/barbres_insert_easy.svg similarity index 100% rename from slides/figs/barbres_insert_easy.svg rename to slides_2021/figs/barbres_insert_easy.svg diff --git a/slides/figs/barbres_insert_easy_after.svg b/slides_2021/figs/barbres_insert_easy_after.svg similarity index 100% rename from slides/figs/barbres_insert_easy_after.svg rename to slides_2021/figs/barbres_insert_easy_after.svg diff --git a/slides/figs/barbres_insert_hard_after.svg b/slides_2021/figs/barbres_insert_hard_after.svg similarity index 100% rename from slides/figs/barbres_insert_hard_after.svg rename to slides_2021/figs/barbres_insert_hard_after.svg diff --git a/slides/figs/barbres_insert_hard_before.svg b/slides_2021/figs/barbres_insert_hard_before.svg similarity index 100% rename from slides/figs/barbres_insert_hard_before.svg rename to slides_2021/figs/barbres_insert_hard_before.svg diff --git a/slides/figs/barbres_insert_hard_during.svg b/slides_2021/figs/barbres_insert_hard_during.svg similarity index 100% rename from slides/figs/barbres_insert_hard_during.svg rename to slides_2021/figs/barbres_insert_hard_during.svg diff --git a/slides/figs/barbres_ordre2_supp1.svg b/slides_2021/figs/barbres_ordre2_supp1.svg similarity index 100% rename from slides/figs/barbres_ordre2_supp1.svg rename to slides_2021/figs/barbres_ordre2_supp1.svg diff --git a/slides/figs/barbres_ordre2_supp10.svg b/slides_2021/figs/barbres_ordre2_supp10.svg similarity index 100% rename from slides/figs/barbres_ordre2_supp10.svg rename to slides_2021/figs/barbres_ordre2_supp10.svg diff --git a/slides/figs/barbres_ordre2_supp11.svg b/slides_2021/figs/barbres_ordre2_supp11.svg similarity index 100% rename from slides/figs/barbres_ordre2_supp11.svg rename to slides_2021/figs/barbres_ordre2_supp11.svg diff --git a/slides/figs/barbres_ordre2_supp2.svg b/slides_2021/figs/barbres_ordre2_supp2.svg similarity index 100% rename from slides/figs/barbres_ordre2_supp2.svg rename to slides_2021/figs/barbres_ordre2_supp2.svg diff --git a/slides/figs/barbres_ordre2_supp3.svg b/slides_2021/figs/barbres_ordre2_supp3.svg similarity index 100% rename from slides/figs/barbres_ordre2_supp3.svg rename to slides_2021/figs/barbres_ordre2_supp3.svg diff --git a/slides/figs/barbres_ordre2_supp4.svg b/slides_2021/figs/barbres_ordre2_supp4.svg similarity index 100% rename from slides/figs/barbres_ordre2_supp4.svg rename to slides_2021/figs/barbres_ordre2_supp4.svg diff --git a/slides/figs/barbres_ordre2_supp5.svg b/slides_2021/figs/barbres_ordre2_supp5.svg similarity index 100% rename from slides/figs/barbres_ordre2_supp5.svg rename to slides_2021/figs/barbres_ordre2_supp5.svg diff --git a/slides/figs/barbres_ordre2_supp6.svg b/slides_2021/figs/barbres_ordre2_supp6.svg similarity index 100% rename from slides/figs/barbres_ordre2_supp6.svg rename to slides_2021/figs/barbres_ordre2_supp6.svg diff --git a/slides/figs/barbres_ordre2_supp7.svg b/slides_2021/figs/barbres_ordre2_supp7.svg similarity index 100% rename from slides/figs/barbres_ordre2_supp7.svg rename to slides_2021/figs/barbres_ordre2_supp7.svg diff --git a/slides/figs/barbres_ordre2_supp8.svg b/slides_2021/figs/barbres_ordre2_supp8.svg similarity index 100% rename from slides/figs/barbres_ordre2_supp8.svg rename to slides_2021/figs/barbres_ordre2_supp8.svg diff --git a/slides/figs/barbres_ordre2_supp9.svg b/slides_2021/figs/barbres_ordre2_supp9.svg similarity index 100% rename from slides/figs/barbres_ordre2_supp9.svg rename to slides_2021/figs/barbres_ordre2_supp9.svg diff --git a/slides/figs/barbres_page3.png b/slides_2021/figs/barbres_page3.png similarity index 100% rename from slides/figs/barbres_page3.png rename to slides_2021/figs/barbres_page3.png diff --git a/slides/figs/barbres_struct.png b/slides_2021/figs/barbres_struct.png similarity index 100% rename from slides/figs/barbres_struct.png rename to slides_2021/figs/barbres_struct.png diff --git a/slides/figs/board_blacked_parts.svg b/slides_2021/figs/board_blacked_parts.svg similarity index 100% rename from slides/figs/board_blacked_parts.svg rename to slides_2021/figs/board_blacked_parts.svg diff --git a/slides/figs/cas1a_droite.png b/slides_2021/figs/cas1a_droite.png similarity index 100% rename from slides/figs/cas1a_droite.png rename to slides_2021/figs/cas1a_droite.png diff --git a/slides/figs/cas1a_gauche.png b/slides_2021/figs/cas1a_gauche.png similarity index 100% rename from slides/figs/cas1a_gauche.png rename to slides_2021/figs/cas1a_gauche.png diff --git a/slides/figs/cas1b_droite.png b/slides_2021/figs/cas1b_droite.png similarity index 100% rename from slides/figs/cas1b_droite.png rename to slides_2021/figs/cas1b_droite.png diff --git a/slides/figs/cas1b_gauche.png b/slides_2021/figs/cas1b_gauche.png similarity index 100% rename from slides/figs/cas1b_gauche.png rename to slides_2021/figs/cas1b_gauche.png diff --git a/slides/figs/cas2a_droite.png b/slides_2021/figs/cas2a_droite.png similarity index 100% rename from slides/figs/cas2a_droite.png rename to slides_2021/figs/cas2a_droite.png diff --git a/slides/figs/cas2a_gauche.png b/slides_2021/figs/cas2a_gauche.png similarity index 100% rename from slides/figs/cas2a_gauche.png rename to slides_2021/figs/cas2a_gauche.png diff --git a/slides/figs/cas2b_droite.png b/slides_2021/figs/cas2b_droite.png similarity index 100% rename from slides/figs/cas2b_droite.png rename to slides_2021/figs/cas2b_droite.png diff --git a/slides/figs/cas2b_gauche.png b/slides_2021/figs/cas2b_gauche.png similarity index 100% rename from slides/figs/cas2b_gauche.png rename to slides_2021/figs/cas2b_gauche.png diff --git a/slides/figs/composantes_connexes.svg b/slides_2021/figs/composantes_connexes.svg similarity index 100% rename from slides/figs/composantes_connexes.svg rename to slides_2021/figs/composantes_connexes.svg diff --git a/slides/figs/composantes_fortement_connexes.svg b/slides_2021/figs/composantes_fortement_connexes.svg similarity index 100% rename from slides/figs/composantes_fortement_connexes.svg rename to slides_2021/figs/composantes_fortement_connexes.svg diff --git a/slides/figs/corps1.png b/slides_2021/figs/corps1.png similarity index 100% rename from slides/figs/corps1.png rename to slides_2021/figs/corps1.png diff --git a/slides/figs/corps2.png b/slides_2021/figs/corps2.png similarity index 100% rename from slides/figs/corps2.png rename to slides_2021/figs/corps2.png diff --git a/slides/figs/corps3_1.png b/slides_2021/figs/corps3_1.png similarity index 100% rename from slides/figs/corps3_1.png rename to slides_2021/figs/corps3_1.png diff --git a/slides/figs/corps3_2.png b/slides_2021/figs/corps3_2.png similarity index 100% rename from slides/figs/corps3_2.png rename to slides_2021/figs/corps3_2.png diff --git a/slides/figs/corps3_3.png b/slides_2021/figs/corps3_3.png similarity index 100% rename from slides/figs/corps3_3.png rename to slides_2021/figs/corps3_3.png diff --git a/slides/figs/courts_chemin_intro.pdf b/slides_2021/figs/courts_chemin_intro.pdf similarity index 100% rename from slides/figs/courts_chemin_intro.pdf rename to slides_2021/figs/courts_chemin_intro.pdf diff --git a/slides/figs/dijkstra_0.png b/slides_2021/figs/dijkstra_0.png similarity index 100% rename from slides/figs/dijkstra_0.png rename to slides_2021/figs/dijkstra_0.png diff --git a/slides/figs/dijkstra_1.png b/slides_2021/figs/dijkstra_1.png similarity index 100% rename from slides/figs/dijkstra_1.png rename to slides_2021/figs/dijkstra_1.png diff --git a/slides/figs/dijkstra_2.png b/slides_2021/figs/dijkstra_2.png similarity index 100% rename from slides/figs/dijkstra_2.png rename to slides_2021/figs/dijkstra_2.png diff --git a/slides/figs/dijkstra_3.png b/slides_2021/figs/dijkstra_3.png similarity index 100% rename from slides/figs/dijkstra_3.png rename to slides_2021/figs/dijkstra_3.png diff --git a/slides/figs/dijkstra_4.png b/slides_2021/figs/dijkstra_4.png similarity index 100% rename from slides/figs/dijkstra_4.png rename to slides_2021/figs/dijkstra_4.png diff --git a/slides/figs/dijkstra_5.png b/slides_2021/figs/dijkstra_5.png similarity index 100% rename from slides/figs/dijkstra_5.png rename to slides_2021/figs/dijkstra_5.png diff --git a/slides/figs/dijkstra_6.png b/slides_2021/figs/dijkstra_6.png similarity index 100% rename from slides/figs/dijkstra_6.png rename to slides_2021/figs/dijkstra_6.png diff --git a/slides/figs/dijkstra_7.png b/slides_2021/figs/dijkstra_7.png similarity index 100% rename from slides/figs/dijkstra_7.png rename to slides_2021/figs/dijkstra_7.png diff --git a/slides/figs/dijkstra_ex_0.png b/slides_2021/figs/dijkstra_ex_0.png similarity index 100% rename from slides/figs/dijkstra_ex_0.png rename to slides_2021/figs/dijkstra_ex_0.png diff --git a/slides/figs/dijkstra_ex_1.png b/slides_2021/figs/dijkstra_ex_1.png similarity index 100% rename from slides/figs/dijkstra_ex_1.png rename to slides_2021/figs/dijkstra_ex_1.png diff --git a/slides/figs/dijkstra_ex_2.png b/slides_2021/figs/dijkstra_ex_2.png similarity index 100% rename from slides/figs/dijkstra_ex_2.png rename to slides_2021/figs/dijkstra_ex_2.png diff --git a/slides/figs/dijkstra_ex_3.png b/slides_2021/figs/dijkstra_ex_3.png similarity index 100% rename from slides/figs/dijkstra_ex_3.png rename to slides_2021/figs/dijkstra_ex_3.png diff --git a/slides/figs/dijkstra_ex_4.png b/slides_2021/figs/dijkstra_ex_4.png similarity index 100% rename from slides/figs/dijkstra_ex_4.png rename to slides_2021/figs/dijkstra_ex_4.png diff --git a/slides/figs/dijkstra_ex_5.png b/slides_2021/figs/dijkstra_ex_5.png similarity index 100% rename from slides/figs/dijkstra_ex_5.png rename to slides_2021/figs/dijkstra_ex_5.png diff --git a/slides/figs/dijkstra_exo.png b/slides_2021/figs/dijkstra_exo.png similarity index 100% rename from slides/figs/dijkstra_exo.png rename to slides_2021/figs/dijkstra_exo.png diff --git a/slides/figs/double_rotation_gauche_droite.png b/slides_2021/figs/double_rotation_gauche_droite.png similarity index 100% rename from slides/figs/double_rotation_gauche_droite.png rename to slides_2021/figs/double_rotation_gauche_droite.png diff --git a/slides/figs/doubly_linked_list.svg b/slides_2021/figs/doubly_linked_list.svg similarity index 100% rename from slides/figs/doubly_linked_list.svg rename to slides_2021/figs/doubly_linked_list.svg diff --git a/slides/figs/empty_board.svg b/slides_2021/figs/empty_board.svg similarity index 100% rename from slides/figs/empty_board.svg rename to slides_2021/figs/empty_board.svg diff --git a/slides/figs/ensemble.svg b/slides_2021/figs/ensemble.svg similarity index 100% rename from slides/figs/ensemble.svg rename to slides_2021/figs/ensemble.svg diff --git a/slides/figs/ex_adj_non_or.svg b/slides_2021/figs/ex_adj_non_or.svg similarity index 100% rename from slides/figs/ex_adj_non_or.svg rename to slides_2021/figs/ex_adj_non_or.svg diff --git a/slides/figs/ex_adj_or.svg b/slides_2021/figs/ex_adj_or.svg similarity index 100% rename from slides/figs/ex_adj_or.svg rename to slides_2021/figs/ex_adj_or.svg diff --git a/slides/figs/ex_graph_adj.pdf b/slides_2021/figs/ex_graph_adj.pdf similarity index 100% rename from slides/figs/ex_graph_adj.pdf rename to slides_2021/figs/ex_graph_adj.pdf diff --git a/slides/figs/ex_graph_fort_connexe.pdf b/slides_2021/figs/ex_graph_fort_connexe.pdf similarity index 100% rename from slides/figs/ex_graph_fort_connexe.pdf rename to slides_2021/figs/ex_graph_fort_connexe.pdf diff --git a/slides/figs/ex_graph_list_adj.pdf b/slides_2021/figs/ex_graph_list_adj.pdf similarity index 100% rename from slides/figs/ex_graph_list_adj.pdf rename to slides_2021/figs/ex_graph_list_adj.pdf diff --git a/slides/figs/ex_graph_pond.pdf b/slides_2021/figs/ex_graph_pond.pdf similarity index 100% rename from slides/figs/ex_graph_pond.pdf rename to slides_2021/figs/ex_graph_pond.pdf diff --git a/slides/figs/ex_graphe_boucle.pdf b/slides_2021/figs/ex_graphe_boucle.pdf similarity index 100% rename from slides/figs/ex_graphe_boucle.pdf rename to slides_2021/figs/ex_graphe_boucle.pdf diff --git a/slides/figs/ex_graphe_chaine.pdf b/slides_2021/figs/ex_graphe_chaine.pdf similarity index 100% rename from slides/figs/ex_graphe_chaine.pdf rename to slides_2021/figs/ex_graphe_chaine.pdf diff --git a/slides/figs/ex_graphe_chaine.svg b/slides_2021/figs/ex_graphe_chaine.svg similarity index 100% rename from slides/figs/ex_graphe_chaine.svg rename to slides_2021/figs/ex_graphe_chaine.svg diff --git a/slides/figs/ex_graphe_chaine_elem.pdf b/slides_2021/figs/ex_graphe_chaine_elem.pdf similarity index 100% rename from slides/figs/ex_graphe_chaine_elem.pdf rename to slides_2021/figs/ex_graphe_chaine_elem.pdf diff --git a/slides/figs/ex_graphe_cycle.pdf b/slides_2021/figs/ex_graphe_cycle.pdf similarity index 100% rename from slides/figs/ex_graphe_cycle.pdf rename to slides_2021/figs/ex_graphe_cycle.pdf diff --git a/slides/figs/ex_graphe_non_oriente.svg b/slides_2021/figs/ex_graphe_non_oriente.svg similarity index 100% rename from slides/figs/ex_graphe_non_oriente.svg rename to slides_2021/figs/ex_graphe_non_oriente.svg diff --git a/slides/figs/ex_graphe_oriente.svg b/slides_2021/figs/ex_graphe_oriente.svg similarity index 100% rename from slides/figs/ex_graphe_oriente.svg rename to slides_2021/figs/ex_graphe_oriente.svg diff --git a/slides/figs/ex_graphes.png b/slides_2021/figs/ex_graphes.png similarity index 100% rename from slides/figs/ex_graphes.png rename to slides_2021/figs/ex_graphes.png diff --git a/slides/figs/exemple_neg.png b/slides_2021/figs/exemple_neg.png similarity index 100% rename from slides/figs/exemple_neg.png rename to slides_2021/figs/exemple_neg.png diff --git a/slides/figs/facteur_equilibre.png b/slides_2021/figs/facteur_equilibre.png similarity index 100% rename from slides/figs/facteur_equilibre.png rename to slides_2021/figs/facteur_equilibre.png diff --git a/slides/figs/fig_empty_queue_insert.png b/slides_2021/figs/fig_empty_queue_insert.png similarity index 100% rename from slides/figs/fig_empty_queue_insert.png rename to slides_2021/figs/fig_empty_queue_insert.png diff --git a/slides/figs/fig_hash.png b/slides_2021/figs/fig_hash.png similarity index 100% rename from slides/figs/fig_hash.png rename to slides_2021/figs/fig_hash.png diff --git a/slides/figs/fig_non_empty_queue_insert.png b/slides_2021/figs/fig_non_empty_queue_insert.png similarity index 100% rename from slides/figs/fig_non_empty_queue_insert.png rename to slides_2021/figs/fig_non_empty_queue_insert.png diff --git a/slides/figs/fig_queue_extract.png b/slides_2021/figs/fig_queue_extract.png similarity index 100% rename from slides/figs/fig_queue_extract.png rename to slides_2021/figs/fig_queue_extract.png diff --git a/slides/figs/fig_queue_extract_one.svg b/slides_2021/figs/fig_queue_extract_one.svg similarity index 100% rename from slides/figs/fig_queue_extract_one.svg rename to slides_2021/figs/fig_queue_extract_one.svg diff --git a/slides/figs/fig_queue_representation.png b/slides_2021/figs/fig_queue_representation.png similarity index 100% rename from slides/figs/fig_queue_representation.png rename to slides_2021/figs/fig_queue_representation.png diff --git a/slides/figs/fig_recursivite_8_reines.png b/slides_2021/figs/fig_recursivite_8_reines.png similarity index 100% rename from slides/figs/fig_recursivite_8_reines.png rename to slides_2021/figs/fig_recursivite_8_reines.png diff --git a/slides/figs/floyd_exemple.png b/slides_2021/figs/floyd_exemple.png similarity index 100% rename from slides/figs/floyd_exemple.png rename to slides_2021/figs/floyd_exemple.png diff --git a/slides/figs/floyd_exercice.png b/slides_2021/figs/floyd_exercice.png similarity index 100% rename from slides/figs/floyd_exercice.png rename to slides_2021/figs/floyd_exercice.png diff --git a/slides/figs/force_1.png b/slides_2021/figs/force_1.png similarity index 100% rename from slides/figs/force_1.png rename to slides_2021/figs/force_1.png diff --git a/slides/figs/force_2.png b/slides_2021/figs/force_2.png similarity index 100% rename from slides/figs/force_2.png rename to slides_2021/figs/force_2.png diff --git a/slides/figs/force_3.png b/slides_2021/figs/force_3.png similarity index 100% rename from slides/figs/force_3.png rename to slides_2021/figs/force_3.png diff --git a/slides/figs/force_4.png b/slides_2021/figs/force_4.png similarity index 100% rename from slides/figs/force_4.png rename to slides_2021/figs/force_4.png diff --git a/slides/figs/force_5.png b/slides_2021/figs/force_5.png similarity index 100% rename from slides/figs/force_5.png rename to slides_2021/figs/force_5.png diff --git a/slides/figs/force_6.png b/slides_2021/figs/force_6.png similarity index 100% rename from slides/figs/force_6.png rename to slides_2021/figs/force_6.png diff --git a/slides/figs/force_7.png b/slides_2021/figs/force_7.png similarity index 100% rename from slides/figs/force_7.png rename to slides_2021/figs/force_7.png diff --git a/slides/figs/graphe_connexe.svg b/slides_2021/figs/graphe_connexe.svg similarity index 100% rename from slides/figs/graphe_connexe.svg rename to slides_2021/figs/graphe_connexe.svg diff --git a/slides/figs/heap_tree.svg b/slides_2021/figs/heap_tree.svg similarity index 100% rename from slides/figs/heap_tree.svg rename to slides_2021/figs/heap_tree.svg diff --git a/slides/figs/kruskal_0.png b/slides_2021/figs/kruskal_0.png similarity index 100% rename from slides/figs/kruskal_0.png rename to slides_2021/figs/kruskal_0.png diff --git a/slides/figs/kruskal_1.png b/slides_2021/figs/kruskal_1.png similarity index 100% rename from slides/figs/kruskal_1.png rename to slides_2021/figs/kruskal_1.png diff --git a/slides/figs/kruskal_2.png b/slides_2021/figs/kruskal_2.png similarity index 100% rename from slides/figs/kruskal_2.png rename to slides_2021/figs/kruskal_2.png diff --git a/slides/figs/kruskal_3.png b/slides_2021/figs/kruskal_3.png similarity index 100% rename from slides/figs/kruskal_3.png rename to slides_2021/figs/kruskal_3.png diff --git a/slides/figs/kruskal_4.png b/slides_2021/figs/kruskal_4.png similarity index 100% rename from slides/figs/kruskal_4.png rename to slides_2021/figs/kruskal_4.png diff --git a/slides/figs/kruskal_cycle.png b/slides_2021/figs/kruskal_cycle.png similarity index 100% rename from slides/figs/kruskal_cycle.png rename to slides_2021/figs/kruskal_cycle.png diff --git a/slides/figs/matrix.png b/slides_2021/figs/matrix.png similarity index 100% rename from slides/figs/matrix.png rename to slides_2021/figs/matrix.png diff --git a/slides/figs/nbody_bare.png b/slides_2021/figs/nbody_bare.png similarity index 100% rename from slides/figs/nbody_bare.png rename to slides_2021/figs/nbody_bare.png diff --git a/slides/figs/nbody_group.png b/slides_2021/figs/nbody_group.png similarity index 100% rename from slides/figs/nbody_group.png rename to slides_2021/figs/nbody_group.png diff --git a/slides/figs/nbody_n2.png b/slides_2021/figs/nbody_n2.png similarity index 100% rename from slides/figs/nbody_n2.png rename to slides_2021/figs/nbody_n2.png diff --git a/slides/figs/nbody_qt.png b/slides_2021/figs/nbody_qt.png similarity index 100% rename from slides/figs/nbody_qt.png rename to slides_2021/figs/nbody_qt.png diff --git a/slides/figs/nbody_qt_withtree.png b/slides_2021/figs/nbody_qt_withtree.png similarity index 100% rename from slides/figs/nbody_qt_withtree.png rename to slides_2021/figs/nbody_qt_withtree.png diff --git a/slides/figs/parcours_larg.pdf b/slides_2021/figs/parcours_larg.pdf similarity index 100% rename from slides/figs/parcours_larg.pdf rename to slides_2021/figs/parcours_larg.pdf diff --git a/slides/figs/parcours_larg_0.pdf b/slides_2021/figs/parcours_larg_0.pdf similarity index 100% rename from slides/figs/parcours_larg_0.pdf rename to slides_2021/figs/parcours_larg_0.pdf diff --git a/slides/figs/parcours_larg_1.pdf b/slides_2021/figs/parcours_larg_1.pdf similarity index 100% rename from slides/figs/parcours_larg_1.pdf rename to slides_2021/figs/parcours_larg_1.pdf diff --git a/slides/figs/parcours_larg_2.pdf b/slides_2021/figs/parcours_larg_2.pdf similarity index 100% rename from slides/figs/parcours_larg_2.pdf rename to slides_2021/figs/parcours_larg_2.pdf diff --git a/slides/figs/parcours_larg_3.pdf b/slides_2021/figs/parcours_larg_3.pdf similarity index 100% rename from slides/figs/parcours_larg_3.pdf rename to slides_2021/figs/parcours_larg_3.pdf diff --git a/slides/figs/parcours_larg_4.pdf b/slides_2021/figs/parcours_larg_4.pdf similarity index 100% rename from slides/figs/parcours_larg_4.pdf rename to slides_2021/figs/parcours_larg_4.pdf diff --git a/slides/figs/parcours_larg_5.pdf b/slides_2021/figs/parcours_larg_5.pdf similarity index 100% rename from slides/figs/parcours_larg_5.pdf rename to slides_2021/figs/parcours_larg_5.pdf diff --git a/slides/figs/parcours_larg_6.pdf b/slides_2021/figs/parcours_larg_6.pdf similarity index 100% rename from slides/figs/parcours_larg_6.pdf rename to slides_2021/figs/parcours_larg_6.pdf diff --git a/slides/figs/parcours_prof.pdf b/slides_2021/figs/parcours_prof.pdf similarity index 100% rename from slides/figs/parcours_prof.pdf rename to slides_2021/figs/parcours_prof.pdf diff --git a/slides/figs/pointer_struct.svg b/slides_2021/figs/pointer_struct.svg similarity index 100% rename from slides/figs/pointer_struct.svg rename to slides_2021/figs/pointer_struct.svg diff --git a/slides/figs/prim_0.png b/slides_2021/figs/prim_0.png similarity index 100% rename from slides/figs/prim_0.png rename to slides_2021/figs/prim_0.png diff --git a/slides/figs/prim_1.png b/slides_2021/figs/prim_1.png similarity index 100% rename from slides/figs/prim_1.png rename to slides_2021/figs/prim_1.png diff --git a/slides/figs/prim_2.png b/slides_2021/figs/prim_2.png similarity index 100% rename from slides/figs/prim_2.png rename to slides_2021/figs/prim_2.png diff --git a/slides/figs/prim_3.png b/slides_2021/figs/prim_3.png similarity index 100% rename from slides/figs/prim_3.png rename to slides_2021/figs/prim_3.png diff --git a/slides/figs/prim_4.png b/slides_2021/figs/prim_4.png similarity index 100% rename from slides/figs/prim_4.png rename to slides_2021/figs/prim_4.png diff --git a/slides/figs/prim_5.png b/slides_2021/figs/prim_5.png similarity index 100% rename from slides/figs/prim_5.png rename to slides_2021/figs/prim_5.png diff --git a/slides/figs/prim_exercice.png b/slides_2021/figs/prim_exercice.png similarity index 100% rename from slides/figs/prim_exercice.png rename to slides_2021/figs/prim_exercice.png diff --git a/slides/figs/prim_solution.png b/slides_2021/figs/prim_solution.png similarity index 100% rename from slides/figs/prim_solution.png rename to slides_2021/figs/prim_solution.png diff --git a/slides/figs/quad_ex.svg b/slides_2021/figs/quad_ex.svg similarity index 100% rename from slides/figs/quad_ex.svg rename to slides_2021/figs/quad_ex.svg diff --git a/slides/figs/quad_img.svg b/slides_2021/figs/quad_img.svg similarity index 100% rename from slides/figs/quad_img.svg rename to slides_2021/figs/quad_img.svg diff --git a/slides/figs/quad_img_simple.svg b/slides_2021/figs/quad_img_simple.svg similarity index 100% rename from slides/figs/quad_img_simple.svg rename to slides_2021/figs/quad_img_simple.svg diff --git a/slides/figs/quad_img_simple_comp.svg b/slides_2021/figs/quad_img_simple_comp.svg similarity index 100% rename from slides/figs/quad_img_simple_comp.svg rename to slides_2021/figs/quad_img_simple_comp.svg diff --git a/slides/figs/quad_img_simple_comp_avg.svg b/slides_2021/figs/quad_img_simple_comp_avg.svg similarity index 100% rename from slides/figs/quad_img_simple_comp_avg.svg rename to slides_2021/figs/quad_img_simple_comp_avg.svg diff --git a/slides/figs/quad_img_simple_comp_loss.svg b/slides_2021/figs/quad_img_simple_comp_loss.svg similarity index 100% rename from slides/figs/quad_img_simple_comp_loss.svg rename to slides_2021/figs/quad_img_simple_comp_loss.svg diff --git a/slides/figs/quad_img_simple_variation.svg b/slides_2021/figs/quad_img_simple_variation.svg similarity index 100% rename from slides/figs/quad_img_simple_variation.svg rename to slides_2021/figs/quad_img_simple_variation.svg diff --git a/slides/figs/quad_struct.svg b/slides_2021/figs/quad_struct.svg similarity index 100% rename from slides/figs/quad_struct.svg rename to slides_2021/figs/quad_struct.svg diff --git a/slides/figs/quicksort.svg b/slides_2021/figs/quicksort.svg similarity index 100% rename from slides/figs/quicksort.svg rename to slides_2021/figs/quicksort.svg diff --git a/slides/figs/rotation_gauche_droite.png b/slides_2021/figs/rotation_gauche_droite.png similarity index 100% rename from slides/figs/rotation_gauche_droite.png rename to slides_2021/figs/rotation_gauche_droite.png diff --git a/slides/figs/sorted_list_example.svg b/slides_2021/figs/sorted_list_example.svg similarity index 100% rename from slides/figs/sorted_list_example.svg rename to slides_2021/figs/sorted_list_example.svg diff --git a/slides/figs/sorted_list_extract_any.svg b/slides_2021/figs/sorted_list_extract_any.svg similarity index 100% rename from slides/figs/sorted_list_extract_any.svg rename to slides_2021/figs/sorted_list_extract_any.svg diff --git a/slides/figs/sorted_list_extract_first.svg b/slides_2021/figs/sorted_list_extract_first.svg similarity index 100% rename from slides/figs/sorted_list_extract_first.svg rename to slides_2021/figs/sorted_list_extract_first.svg diff --git a/slides/figs/sorted_list_insert_any.svg b/slides_2021/figs/sorted_list_insert_any.svg similarity index 100% rename from slides/figs/sorted_list_insert_any.svg rename to slides_2021/figs/sorted_list_insert_any.svg diff --git a/slides/figs/sorted_list_insert_first.svg b/slides_2021/figs/sorted_list_insert_first.svg similarity index 100% rename from slides/figs/sorted_list_insert_first.svg rename to slides_2021/figs/sorted_list_insert_first.svg diff --git a/slides/figs/sorted_list_insert_one.svg b/slides_2021/figs/sorted_list_insert_one.svg similarity index 100% rename from slides/figs/sorted_list_insert_one.svg rename to slides_2021/figs/sorted_list_insert_one.svg diff --git a/slides/figs/sorted_list_position.svg b/slides_2021/figs/sorted_list_position.svg similarity index 100% rename from slides/figs/sorted_list_position.svg rename to slides_2021/figs/sorted_list_position.svg diff --git a/slides/figs/soubly_linked_list.svg b/slides_2021/figs/soubly_linked_list.svg similarity index 100% rename from slides/figs/soubly_linked_list.svg rename to slides_2021/figs/soubly_linked_list.svg diff --git a/slides/figs/taux_change.pdf b/slides_2021/figs/taux_change.pdf similarity index 100% rename from slides/figs/taux_change.pdf rename to slides_2021/figs/taux_change.pdf diff --git a/slides/figs/taux_change_graphe.pdf b/slides_2021/figs/taux_change_graphe.pdf similarity index 100% rename from slides/figs/taux_change_graphe.pdf rename to slides_2021/figs/taux_change_graphe.pdf diff --git a/slides/figs/taux_change_graphe_log.pdf b/slides_2021/figs/taux_change_graphe_log.pdf similarity index 100% rename from slides/figs/taux_change_graphe_log.pdf rename to slides_2021/figs/taux_change_graphe_log.pdf diff --git a/slides/figs/tri_bulles.svg b/slides_2021/figs/tri_bulles.svg similarity index 100% rename from slides/figs/tri_bulles.svg rename to slides_2021/figs/tri_bulles.svg diff --git a/slides/figs/tri_insertion.svg b/slides_2021/figs/tri_insertion.svg similarity index 100% rename from slides/figs/tri_insertion.svg rename to slides_2021/figs/tri_insertion.svg diff --git a/slides/figs/tri_piles.svg b/slides_2021/figs/tri_piles.svg similarity index 100% rename from slides/figs/tri_piles.svg rename to slides_2021/figs/tri_piles.svg diff --git a/slides_2021/gen_index.sh b/slides_2021/gen_index.sh new file mode 100755 index 0000000..5c72edf --- /dev/null +++ b/slides_2021/gen_index.sh @@ -0,0 +1,59 @@ +#!/bin/bash + +set -e + +function get_info() { + local field=$(echo "$fullName" | sed "$2q;d" $1); + IFS=$3; + local field=($field); + if [ "${field}" != $5 ]; then + return 1 + fi + local field=${field[1]}; + IFS=$4; + local field=($field); + local field=${field[1]}; + echo "$field" +} + +function fail() { + printf '%s\n' "$1" >&2 ## Send message to stderr. + exit "${2-1}" ## Return a code specified by $2, or 1 by default. +} + +OIFS=$IFS +NUM_LINE=2 +PREFIX="" +# PREFIX=cours/algo/slides/ + +classes=() +for i in *.md; do + [ -f "$i" ] || break + date="$(get_info $i 3 ":" '"' "date")" + if [ "$date" == 1 ]; then + fail "Error date field not found" + fi + comp="$(get_info $i 2 ":" '"' "title")" + if [ "$comp" == 1 ]; then + fail "Error title field not found" + fi + i="${i%.*}" + class="[${date} ${comp}](${PREFIX}${i}.pdf)" + classes+=("$class") +done +IFS=$'\n' +classes=($(sort <<<"${classes[*]}")) +date=$(date '+%Y-%m-%d') +echo "---" >> index.md +echo "title: \"Slides du cours d'algorithmique\"" >> index.md +echo "date: \"${date}\"" >> index.md +echo "---" >> index.md +echo "" >> index.md +echo "# Tous les slides du cours d'algorithmique" >> index.md +echo "" >> index.md +for i in ${classes[*]}; do + echo "* $i" >> index.md +done + + +IFS=$OIFS diff --git a/slides/graphviz/quad_ex.dot b/slides_2021/graphviz/quad_ex.dot similarity index 100% rename from slides/graphviz/quad_ex.dot rename to slides_2021/graphviz/quad_ex.dot diff --git a/slides/graphviz/quad_img.dot b/slides_2021/graphviz/quad_img.dot similarity index 100% rename from slides/graphviz/quad_img.dot rename to slides_2021/graphviz/quad_img.dot diff --git a/slides/graphviz/quad_img_simple.dot b/slides_2021/graphviz/quad_img_simple.dot similarity index 100% rename from slides/graphviz/quad_img_simple.dot rename to slides_2021/graphviz/quad_img_simple.dot diff --git a/slides/graphviz/quad_img_simple_comp.dot b/slides_2021/graphviz/quad_img_simple_comp.dot similarity index 100% rename from slides/graphviz/quad_img_simple_comp.dot rename to slides_2021/graphviz/quad_img_simple_comp.dot diff --git a/slides/graphviz/quad_img_simple_comp_avg.dot b/slides_2021/graphviz/quad_img_simple_comp_avg.dot similarity index 100% rename from slides/graphviz/quad_img_simple_comp_avg.dot rename to slides_2021/graphviz/quad_img_simple_comp_avg.dot diff --git a/slides/graphviz/quad_struct.dot b/slides_2021/graphviz/quad_struct.dot similarity index 100% rename from slides/graphviz/quad_struct.dot rename to slides_2021/graphviz/quad_struct.dot diff --git a/slides_2021/intro.md b/slides_2021/intro.md new file mode 100644 index 0000000..5dc3246 --- /dev/null +++ b/slides_2021/intro.md @@ -0,0 +1,69 @@ +--- +title: "Introduction générale" +date: "2020-09-16" +--- + +# La hotline + +Nom Mél Bureau +-------------------- ------------------------------ -------------------- +Paul Albuquerque paul.albuquerque@hesge.ch B410 +Orestis Malaspinas orestis.malaspinas@hesge.ch A401 +-------------------- ------------------------------ -------------------- + +Utilisez le libre service (l'horaire sera fixé prochainement). + +Salon de discussion [Matrix](https://matrix.to/#/!tuZtXjUSPbnRfBsFXv:matrix.org?via=matrix.org), installez [element.io](https://element.io). + +{width=20%} + +# Cyberlearn + +Tout le contenu de ce qu'on raconte se trouve sur cyberlearn: + +- Algorithmes et structures de données + - <https://cyberlearn.hes-so.ch/course/view.php?id=13941> + - Clé d'inscription: algo_2020_21 + +- Programmation Sequentielle en C + - <https://cyberlearn.hes-so.ch/course/view.php?id=12399> + - Clé d'inscription: PS_2018 + +# Organisation du module + +* Deux cours, 50% chacun. +1. Algorithmes et structures de données: + * 1er semestre: + * bases de programmation en C jusqu'à Noël. + * algorithmique jusqu'à fin janvier. + * 2e semestre: + * algorithmique. + * Deux évaluations écrites par semestre. +2. Programmation séquentielle en C + * Familiarisation avec l'environnement Linux. + * Travaux pratiques en C. + * Apprentissage du gestionnaire de versions: git. + * Plusieurs "petits" exercices illustrant les concepts d'algorithmique + (1-2 séances). + * Évaluations: + * Un projet de programmation. + * Une évaluation machine. + +# Sondage: expérience de programmation + +## [Sondage: expérience de linux](https://cyberlearn.hes-so.ch/mod/evoting/view.php?id=1291283) + +## [Sondage: expérience de programmation](https://cyberlearn.hes-so.ch/mod/evoting/view.php?id=1035242) + +**Installez un lecteur de QR code s'il-vous-plaît.** + +# Questions? + +- N'hésitez pas à poser des *questions*, nous sommes là pour ça! [^1] +- Ne restez pas coincés pendant des jours sur un problème. +- Utilisez le *libre-service*! +- N'hésitez pas à faire des *retours*: *négatifs* ou *positifs*. + +[^1]: Chaque étudiant·e·s a un quota de 5 questions par semestre. + + diff --git a/slides_2021/metadata.yaml b/slides_2021/metadata.yaml new file mode 100644 index 0000000..fb966bc --- /dev/null +++ b/slides_2021/metadata.yaml @@ -0,0 +1,9 @@ +--- +subtitle: "Algorithmique et structures de données, 2021-2022" +author: "Paul Albuquerque (B410), Pierre Künzli et Orestis Malaspinas (A401), ISC, HEPIA" +institute: En partie inspirés des supports de cours de P. Albuquerque +lang: fr-CH +revealjs-url: /reveal.js +mathjaxurl: "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-AMS_HTML" +--- + diff --git a/slides_2021/my_highlight.theme b/slides_2021/my_highlight.theme new file mode 100644 index 0000000..1d80b47 --- /dev/null +++ b/slides_2021/my_highlight.theme @@ -0,0 +1,204 @@ +{ + "text-color": null, + "background-color": "#f0f0f0", + "line-number-color": "#aaaaaa", + "line-number-background-color": null, + "text-styles": { + "Other": { + "text-color": "#8f5902", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Attribute": { + "text-color": "#c4a000", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "SpecialString": { + "text-color": "#4e9a06", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Annotation": { + "text-color": "#8f5902", + "background-color": null, + "bold": true, + "italic": true, + "underline": false + }, + "Function": { + "text-color": "#000000", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "String": { + "text-color": "#4e9a06", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "ControlFlow": { + "text-color": "#204a87", + "background-color": null, + "bold": true, + "italic": false, + "underline": false + }, + "Operator": { + "text-color": "#ce5c00", + "background-color": null, + "bold": true, + "italic": false, + "underline": false + }, + "Error": { + "text-color": "#a40000", + "background-color": null, + "bold": true, + "italic": false, + "underline": false + }, + "BaseN": { + "text-color": "#0000cf", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Alert": { + "text-color": "#ef2929", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Variable": { + "text-color": "#000000", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Extension": { + "text-color": null, + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Preprocessor": { + "text-color": "#8f5902", + "background-color": null, + "bold": false, + "italic": true, + "underline": false + }, + "Information": { + "text-color": "#8f5902", + "background-color": null, + "bold": true, + "italic": true, + "underline": false + }, + "VerbatimString": { + "text-color": "#4e9a06", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Warning": { + "text-color": "#8f5902", + "background-color": null, + "bold": true, + "italic": true, + "underline": false + }, + "Documentation": { + "text-color": "#8f5902", + "background-color": null, + "bold": true, + "italic": true, + "underline": false + }, + "Import": { + "text-color": null, + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Char": { + "text-color": "#4e9a06", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "DataType": { + "text-color": "#204a87", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Float": { + "text-color": "#0000cf", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Comment": { + "text-color": "#8f5902", + "background-color": null, + "bold": false, + "italic": true, + "underline": false + }, + "CommentVar": { + "text-color": "#8f5902", + "background-color": null, + "bold": true, + "italic": true, + "underline": false + }, + "Constant": { + "text-color": "#000000", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "SpecialChar": { + "text-color": "#000000", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "DecVal": { + "text-color": "#0000cf", + "background-color": null, + "bold": false, + "italic": false, + "underline": false + }, + "Keyword": { + "text-color": "#204a87", + "background-color": null, + "bold": true, + "italic": false, + "underline": false + } + } +} diff --git a/slides/reveal.js/.gitignore b/slides_2021/reveal.js/.gitignore similarity index 100% rename from slides/reveal.js/.gitignore rename to slides_2021/reveal.js/.gitignore diff --git a/slides/reveal.js/.npmignore b/slides_2021/reveal.js/.npmignore similarity index 100% rename from slides/reveal.js/.npmignore rename to slides_2021/reveal.js/.npmignore diff --git a/slides/reveal.js/CONTRIBUTING.md b/slides_2021/reveal.js/CONTRIBUTING.md similarity index 100% rename from slides/reveal.js/CONTRIBUTING.md rename to slides_2021/reveal.js/CONTRIBUTING.md diff --git a/slides/reveal.js/LICENSE b/slides_2021/reveal.js/LICENSE similarity index 100% rename from slides/reveal.js/LICENSE rename to slides_2021/reveal.js/LICENSE diff --git a/slides/reveal.js/README.md b/slides_2021/reveal.js/README.md similarity index 100% rename from slides/reveal.js/README.md rename to slides_2021/reveal.js/README.md diff --git a/slides/reveal.js/css/layout.scss b/slides_2021/reveal.js/css/layout.scss similarity index 100% rename from slides/reveal.js/css/layout.scss rename to slides_2021/reveal.js/css/layout.scss diff --git a/slides/reveal.js/css/print/paper.scss b/slides_2021/reveal.js/css/print/paper.scss similarity index 100% rename from slides/reveal.js/css/print/paper.scss rename to slides_2021/reveal.js/css/print/paper.scss diff --git a/slides/reveal.js/css/print/pdf.scss b/slides_2021/reveal.js/css/print/pdf.scss similarity index 100% rename from slides/reveal.js/css/print/pdf.scss rename to slides_2021/reveal.js/css/print/pdf.scss diff --git a/slides/reveal.js/css/reveal.scss b/slides_2021/reveal.js/css/reveal.scss similarity index 100% rename from slides/reveal.js/css/reveal.scss rename to slides_2021/reveal.js/css/reveal.scss diff --git a/slides/reveal.js/css/theme/README.md b/slides_2021/reveal.js/css/theme/README.md similarity index 100% rename from slides/reveal.js/css/theme/README.md rename to slides_2021/reveal.js/css/theme/README.md diff --git a/slides/reveal.js/css/theme/source/beige.scss b/slides_2021/reveal.js/css/theme/source/beige.scss similarity index 100% rename from slides/reveal.js/css/theme/source/beige.scss rename to slides_2021/reveal.js/css/theme/source/beige.scss diff --git a/slides/reveal.js/css/theme/source/black.scss b/slides_2021/reveal.js/css/theme/source/black.scss similarity index 100% rename from slides/reveal.js/css/theme/source/black.scss rename to slides_2021/reveal.js/css/theme/source/black.scss diff --git a/slides/reveal.js/css/theme/source/blood.scss b/slides_2021/reveal.js/css/theme/source/blood.scss similarity index 100% rename from slides/reveal.js/css/theme/source/blood.scss rename to slides_2021/reveal.js/css/theme/source/blood.scss diff --git a/slides/reveal.js/css/theme/source/league.scss b/slides_2021/reveal.js/css/theme/source/league.scss similarity index 100% rename from slides/reveal.js/css/theme/source/league.scss rename to slides_2021/reveal.js/css/theme/source/league.scss diff --git a/slides/reveal.js/css/theme/source/moon.scss b/slides_2021/reveal.js/css/theme/source/moon.scss similarity index 100% rename from slides/reveal.js/css/theme/source/moon.scss rename to slides_2021/reveal.js/css/theme/source/moon.scss diff --git a/slides/reveal.js/css/theme/source/night.scss b/slides_2021/reveal.js/css/theme/source/night.scss similarity index 100% rename from slides/reveal.js/css/theme/source/night.scss rename to slides_2021/reveal.js/css/theme/source/night.scss diff --git a/slides/reveal.js/css/theme/source/serif.scss b/slides_2021/reveal.js/css/theme/source/serif.scss similarity index 100% rename from slides/reveal.js/css/theme/source/serif.scss rename to slides_2021/reveal.js/css/theme/source/serif.scss diff --git a/slides/reveal.js/css/theme/source/simple.scss b/slides_2021/reveal.js/css/theme/source/simple.scss similarity index 100% rename from slides/reveal.js/css/theme/source/simple.scss rename to slides_2021/reveal.js/css/theme/source/simple.scss diff --git a/slides/reveal.js/css/theme/source/sky.scss b/slides_2021/reveal.js/css/theme/source/sky.scss similarity index 100% rename from slides/reveal.js/css/theme/source/sky.scss rename to slides_2021/reveal.js/css/theme/source/sky.scss diff --git a/slides/reveal.js/css/theme/source/solarized.scss b/slides_2021/reveal.js/css/theme/source/solarized.scss similarity index 100% rename from slides/reveal.js/css/theme/source/solarized.scss rename to slides_2021/reveal.js/css/theme/source/solarized.scss diff --git a/slides/reveal.js/css/theme/source/white.scss b/slides_2021/reveal.js/css/theme/source/white.scss similarity index 100% rename from slides/reveal.js/css/theme/source/white.scss rename to slides_2021/reveal.js/css/theme/source/white.scss diff --git a/slides/reveal.js/css/theme/template/exposer.scss b/slides_2021/reveal.js/css/theme/template/exposer.scss similarity index 100% rename from slides/reveal.js/css/theme/template/exposer.scss rename to slides_2021/reveal.js/css/theme/template/exposer.scss diff --git a/slides/reveal.js/css/theme/template/mixins.scss b/slides_2021/reveal.js/css/theme/template/mixins.scss similarity index 100% rename from slides/reveal.js/css/theme/template/mixins.scss rename to slides_2021/reveal.js/css/theme/template/mixins.scss diff --git a/slides/reveal.js/css/theme/template/settings.scss b/slides_2021/reveal.js/css/theme/template/settings.scss similarity index 100% rename from slides/reveal.js/css/theme/template/settings.scss rename to slides_2021/reveal.js/css/theme/template/settings.scss diff --git a/slides/reveal.js/css/theme/template/theme.scss b/slides_2021/reveal.js/css/theme/template/theme.scss similarity index 100% rename from slides/reveal.js/css/theme/template/theme.scss rename to slides_2021/reveal.js/css/theme/template/theme.scss diff --git a/slides/reveal.js/dist/reset.css b/slides_2021/reveal.js/dist/reset.css similarity index 100% rename from slides/reveal.js/dist/reset.css rename to slides_2021/reveal.js/dist/reset.css diff --git a/slides/reveal.js/dist/reveal.css b/slides_2021/reveal.js/dist/reveal.css similarity index 100% rename from slides/reveal.js/dist/reveal.css rename to slides_2021/reveal.js/dist/reveal.css diff --git a/slides/reveal.js/dist/reveal.esm.js b/slides_2021/reveal.js/dist/reveal.esm.js similarity index 100% rename from slides/reveal.js/dist/reveal.esm.js rename to slides_2021/reveal.js/dist/reveal.esm.js diff --git a/slides/reveal.js/dist/reveal.js b/slides_2021/reveal.js/dist/reveal.js similarity index 100% rename from slides/reveal.js/dist/reveal.js rename to slides_2021/reveal.js/dist/reveal.js diff --git a/slides/reveal.js/dist/theme/beige.css b/slides_2021/reveal.js/dist/theme/beige.css similarity index 100% rename from slides/reveal.js/dist/theme/beige.css rename to slides_2021/reveal.js/dist/theme/beige.css diff --git a/slides/reveal.js/dist/theme/black.css b/slides_2021/reveal.js/dist/theme/black.css similarity index 100% rename from slides/reveal.js/dist/theme/black.css rename to slides_2021/reveal.js/dist/theme/black.css diff --git a/slides/reveal.js/dist/theme/blood.css b/slides_2021/reveal.js/dist/theme/blood.css similarity index 100% rename from slides/reveal.js/dist/theme/blood.css rename to slides_2021/reveal.js/dist/theme/blood.css diff --git a/slides/reveal.js/dist/theme/fonts/league-gothic/LICENSE b/slides_2021/reveal.js/dist/theme/fonts/league-gothic/LICENSE similarity index 100% rename from slides/reveal.js/dist/theme/fonts/league-gothic/LICENSE rename to slides_2021/reveal.js/dist/theme/fonts/league-gothic/LICENSE diff --git a/slides/reveal.js/dist/theme/fonts/league-gothic/league-gothic.css b/slides_2021/reveal.js/dist/theme/fonts/league-gothic/league-gothic.css similarity index 100% rename from slides/reveal.js/dist/theme/fonts/league-gothic/league-gothic.css rename to slides_2021/reveal.js/dist/theme/fonts/league-gothic/league-gothic.css diff --git a/slides/reveal.js/dist/theme/fonts/league-gothic/league-gothic.eot b/slides_2021/reveal.js/dist/theme/fonts/league-gothic/league-gothic.eot similarity index 100% rename from slides/reveal.js/dist/theme/fonts/league-gothic/league-gothic.eot rename to slides_2021/reveal.js/dist/theme/fonts/league-gothic/league-gothic.eot diff --git a/slides/reveal.js/dist/theme/fonts/league-gothic/league-gothic.ttf b/slides_2021/reveal.js/dist/theme/fonts/league-gothic/league-gothic.ttf similarity index 100% rename from slides/reveal.js/dist/theme/fonts/league-gothic/league-gothic.ttf rename to slides_2021/reveal.js/dist/theme/fonts/league-gothic/league-gothic.ttf diff --git a/slides/reveal.js/dist/theme/fonts/league-gothic/league-gothic.woff b/slides_2021/reveal.js/dist/theme/fonts/league-gothic/league-gothic.woff similarity index 100% rename from slides/reveal.js/dist/theme/fonts/league-gothic/league-gothic.woff rename to slides_2021/reveal.js/dist/theme/fonts/league-gothic/league-gothic.woff diff --git a/slides/reveal.js/dist/theme/fonts/source-sans-pro/LICENSE b/slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/LICENSE similarity index 100% rename from slides/reveal.js/dist/theme/fonts/source-sans-pro/LICENSE rename to slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/LICENSE diff --git a/slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.eot b/slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.eot similarity index 100% rename from slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.eot rename to slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.eot diff --git a/slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.ttf b/slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.ttf similarity index 100% rename from slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.ttf rename to slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.ttf diff --git a/slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.woff b/slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.woff similarity index 100% rename from slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.woff rename to slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-italic.woff diff --git a/slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.eot b/slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.eot similarity index 100% rename from slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.eot rename to slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.eot diff --git a/slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.ttf b/slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.ttf similarity index 100% rename from slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.ttf rename to slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.ttf diff --git a/slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.woff b/slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.woff similarity index 100% rename from slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.woff rename to slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-regular.woff diff --git a/slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.eot b/slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.eot similarity index 100% rename from slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.eot rename to slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.eot diff --git a/slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.ttf b/slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.ttf similarity index 100% rename from slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.ttf rename to slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.ttf diff --git a/slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.woff b/slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.woff similarity index 100% rename from slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.woff rename to slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibold.woff diff --git a/slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.eot b/slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.eot similarity index 100% rename from slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.eot rename to slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.eot diff --git a/slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.ttf b/slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.ttf similarity index 100% rename from slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.ttf rename to slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.ttf diff --git a/slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.woff b/slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.woff similarity index 100% rename from slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.woff rename to slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro-semibolditalic.woff diff --git a/slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro.css b/slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro.css similarity index 100% rename from slides/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro.css rename to slides_2021/reveal.js/dist/theme/fonts/source-sans-pro/source-sans-pro.css diff --git a/slides/reveal.js/dist/theme/league.css b/slides_2021/reveal.js/dist/theme/league.css similarity index 100% rename from slides/reveal.js/dist/theme/league.css rename to slides_2021/reveal.js/dist/theme/league.css diff --git a/slides/reveal.js/dist/theme/moon.css b/slides_2021/reveal.js/dist/theme/moon.css similarity index 100% rename from slides/reveal.js/dist/theme/moon.css rename to slides_2021/reveal.js/dist/theme/moon.css diff --git a/slides/reveal.js/dist/theme/night.css b/slides_2021/reveal.js/dist/theme/night.css similarity index 100% rename from slides/reveal.js/dist/theme/night.css rename to slides_2021/reveal.js/dist/theme/night.css diff --git a/slides/reveal.js/dist/theme/serif.css b/slides_2021/reveal.js/dist/theme/serif.css similarity index 100% rename from slides/reveal.js/dist/theme/serif.css rename to slides_2021/reveal.js/dist/theme/serif.css diff --git a/slides/reveal.js/dist/theme/simple.css b/slides_2021/reveal.js/dist/theme/simple.css similarity index 100% rename from slides/reveal.js/dist/theme/simple.css rename to slides_2021/reveal.js/dist/theme/simple.css diff --git a/slides/reveal.js/dist/theme/sky.css b/slides_2021/reveal.js/dist/theme/sky.css similarity index 100% rename from slides/reveal.js/dist/theme/sky.css rename to slides_2021/reveal.js/dist/theme/sky.css diff --git a/slides/reveal.js/dist/theme/solarized.css b/slides_2021/reveal.js/dist/theme/solarized.css similarity index 100% rename from slides/reveal.js/dist/theme/solarized.css rename to slides_2021/reveal.js/dist/theme/solarized.css diff --git a/slides/reveal.js/dist/theme/white.css b/slides_2021/reveal.js/dist/theme/white.css similarity index 100% rename from slides/reveal.js/dist/theme/white.css rename to slides_2021/reveal.js/dist/theme/white.css diff --git a/slides/reveal.js/gulpfile.js b/slides_2021/reveal.js/gulpfile.js similarity index 100% rename from slides/reveal.js/gulpfile.js rename to slides_2021/reveal.js/gulpfile.js diff --git a/slides/reveal.js/js/components/playback.js b/slides_2021/reveal.js/js/components/playback.js similarity index 100% rename from slides/reveal.js/js/components/playback.js rename to slides_2021/reveal.js/js/components/playback.js diff --git a/slides/reveal.js/js/config.js b/slides_2021/reveal.js/js/config.js similarity index 100% rename from slides/reveal.js/js/config.js rename to slides_2021/reveal.js/js/config.js diff --git a/slides/reveal.js/js/controllers/autoanimate.js b/slides_2021/reveal.js/js/controllers/autoanimate.js similarity index 100% rename from slides/reveal.js/js/controllers/autoanimate.js rename to slides_2021/reveal.js/js/controllers/autoanimate.js diff --git a/slides/reveal.js/js/controllers/backgrounds.js b/slides_2021/reveal.js/js/controllers/backgrounds.js similarity index 100% rename from slides/reveal.js/js/controllers/backgrounds.js rename to slides_2021/reveal.js/js/controllers/backgrounds.js diff --git a/slides/reveal.js/js/controllers/controls.js b/slides_2021/reveal.js/js/controllers/controls.js similarity index 100% rename from slides/reveal.js/js/controllers/controls.js rename to slides_2021/reveal.js/js/controllers/controls.js diff --git a/slides/reveal.js/js/controllers/focus.js b/slides_2021/reveal.js/js/controllers/focus.js similarity index 100% rename from slides/reveal.js/js/controllers/focus.js rename to slides_2021/reveal.js/js/controllers/focus.js diff --git a/slides/reveal.js/js/controllers/fragments.js b/slides_2021/reveal.js/js/controllers/fragments.js similarity index 100% rename from slides/reveal.js/js/controllers/fragments.js rename to slides_2021/reveal.js/js/controllers/fragments.js diff --git a/slides/reveal.js/js/controllers/keyboard.js b/slides_2021/reveal.js/js/controllers/keyboard.js similarity index 100% rename from slides/reveal.js/js/controllers/keyboard.js rename to slides_2021/reveal.js/js/controllers/keyboard.js diff --git a/slides/reveal.js/js/controllers/location.js b/slides_2021/reveal.js/js/controllers/location.js similarity index 100% rename from slides/reveal.js/js/controllers/location.js rename to slides_2021/reveal.js/js/controllers/location.js diff --git a/slides/reveal.js/js/controllers/notes.js b/slides_2021/reveal.js/js/controllers/notes.js similarity index 100% rename from slides/reveal.js/js/controllers/notes.js rename to slides_2021/reveal.js/js/controllers/notes.js diff --git a/slides/reveal.js/js/controllers/overview.js b/slides_2021/reveal.js/js/controllers/overview.js similarity index 100% rename from slides/reveal.js/js/controllers/overview.js rename to slides_2021/reveal.js/js/controllers/overview.js diff --git a/slides/reveal.js/js/controllers/plugins.js b/slides_2021/reveal.js/js/controllers/plugins.js similarity index 100% rename from slides/reveal.js/js/controllers/plugins.js rename to slides_2021/reveal.js/js/controllers/plugins.js diff --git a/slides/reveal.js/js/controllers/pointer.js b/slides_2021/reveal.js/js/controllers/pointer.js similarity index 100% rename from slides/reveal.js/js/controllers/pointer.js rename to slides_2021/reveal.js/js/controllers/pointer.js diff --git a/slides/reveal.js/js/controllers/print.js b/slides_2021/reveal.js/js/controllers/print.js similarity index 100% rename from slides/reveal.js/js/controllers/print.js rename to slides_2021/reveal.js/js/controllers/print.js diff --git a/slides/reveal.js/js/controllers/progress.js b/slides_2021/reveal.js/js/controllers/progress.js similarity index 100% rename from slides/reveal.js/js/controllers/progress.js rename to slides_2021/reveal.js/js/controllers/progress.js diff --git a/slides/reveal.js/js/controllers/slidecontent.js b/slides_2021/reveal.js/js/controllers/slidecontent.js similarity index 100% rename from slides/reveal.js/js/controllers/slidecontent.js rename to slides_2021/reveal.js/js/controllers/slidecontent.js diff --git a/slides/reveal.js/js/controllers/slidenumber.js b/slides_2021/reveal.js/js/controllers/slidenumber.js similarity index 100% rename from slides/reveal.js/js/controllers/slidenumber.js rename to slides_2021/reveal.js/js/controllers/slidenumber.js diff --git a/slides/reveal.js/js/controllers/touch.js b/slides_2021/reveal.js/js/controllers/touch.js similarity index 100% rename from slides/reveal.js/js/controllers/touch.js rename to slides_2021/reveal.js/js/controllers/touch.js diff --git a/slides/reveal.js/js/index.js b/slides_2021/reveal.js/js/index.js similarity index 100% rename from slides/reveal.js/js/index.js rename to slides_2021/reveal.js/js/index.js diff --git a/slides/reveal.js/js/reveal.js b/slides_2021/reveal.js/js/reveal.js similarity index 100% rename from slides/reveal.js/js/reveal.js rename to slides_2021/reveal.js/js/reveal.js diff --git a/slides/reveal.js/js/utils/color.js b/slides_2021/reveal.js/js/utils/color.js similarity index 100% rename from slides/reveal.js/js/utils/color.js rename to slides_2021/reveal.js/js/utils/color.js diff --git a/slides/reveal.js/js/utils/constants.js b/slides_2021/reveal.js/js/utils/constants.js similarity index 100% rename from slides/reveal.js/js/utils/constants.js rename to slides_2021/reveal.js/js/utils/constants.js diff --git a/slides/reveal.js/js/utils/device.js b/slides_2021/reveal.js/js/utils/device.js similarity index 100% rename from slides/reveal.js/js/utils/device.js rename to slides_2021/reveal.js/js/utils/device.js diff --git a/slides/reveal.js/js/utils/loader.js b/slides_2021/reveal.js/js/utils/loader.js similarity index 100% rename from slides/reveal.js/js/utils/loader.js rename to slides_2021/reveal.js/js/utils/loader.js diff --git a/slides/reveal.js/js/utils/util.js b/slides_2021/reveal.js/js/utils/util.js similarity index 100% rename from slides/reveal.js/js/utils/util.js rename to slides_2021/reveal.js/js/utils/util.js diff --git a/slides/reveal.js/package-lock.json b/slides_2021/reveal.js/package-lock.json similarity index 100% rename from slides/reveal.js/package-lock.json rename to slides_2021/reveal.js/package-lock.json diff --git a/slides/reveal.js/package.json b/slides_2021/reveal.js/package.json similarity index 100% rename from slides/reveal.js/package.json rename to slides_2021/reveal.js/package.json diff --git a/slides/reveal.js/plugin/highlight/highlight.esm.js b/slides_2021/reveal.js/plugin/highlight/highlight.esm.js similarity index 100% rename from slides/reveal.js/plugin/highlight/highlight.esm.js rename to slides_2021/reveal.js/plugin/highlight/highlight.esm.js diff --git a/slides/reveal.js/plugin/highlight/highlight.js b/slides_2021/reveal.js/plugin/highlight/highlight.js similarity index 100% rename from slides/reveal.js/plugin/highlight/highlight.js rename to slides_2021/reveal.js/plugin/highlight/highlight.js diff --git a/slides/reveal.js/plugin/highlight/monokai.css b/slides_2021/reveal.js/plugin/highlight/monokai.css similarity index 100% rename from slides/reveal.js/plugin/highlight/monokai.css rename to slides_2021/reveal.js/plugin/highlight/monokai.css diff --git a/slides/reveal.js/plugin/highlight/plugin.js b/slides_2021/reveal.js/plugin/highlight/plugin.js similarity index 100% rename from slides/reveal.js/plugin/highlight/plugin.js rename to slides_2021/reveal.js/plugin/highlight/plugin.js diff --git a/slides/reveal.js/plugin/highlight/zenburn.css b/slides_2021/reveal.js/plugin/highlight/zenburn.css similarity index 100% rename from slides/reveal.js/plugin/highlight/zenburn.css rename to slides_2021/reveal.js/plugin/highlight/zenburn.css diff --git a/slides/reveal.js/plugin/markdown/markdown.esm.js b/slides_2021/reveal.js/plugin/markdown/markdown.esm.js similarity index 100% rename from slides/reveal.js/plugin/markdown/markdown.esm.js rename to slides_2021/reveal.js/plugin/markdown/markdown.esm.js diff --git a/slides/reveal.js/plugin/markdown/markdown.js b/slides_2021/reveal.js/plugin/markdown/markdown.js similarity index 100% rename from slides/reveal.js/plugin/markdown/markdown.js rename to slides_2021/reveal.js/plugin/markdown/markdown.js diff --git a/slides/reveal.js/plugin/markdown/plugin.js b/slides_2021/reveal.js/plugin/markdown/plugin.js similarity index 100% rename from slides/reveal.js/plugin/markdown/plugin.js rename to slides_2021/reveal.js/plugin/markdown/plugin.js diff --git a/slides/reveal.js/plugin/math/math.esm.js b/slides_2021/reveal.js/plugin/math/math.esm.js similarity index 100% rename from slides/reveal.js/plugin/math/math.esm.js rename to slides_2021/reveal.js/plugin/math/math.esm.js diff --git a/slides/reveal.js/plugin/math/math.js b/slides_2021/reveal.js/plugin/math/math.js similarity index 100% rename from slides/reveal.js/plugin/math/math.js rename to slides_2021/reveal.js/plugin/math/math.js diff --git a/slides/reveal.js/plugin/math/plugin.js b/slides_2021/reveal.js/plugin/math/plugin.js similarity index 100% rename from slides/reveal.js/plugin/math/plugin.js rename to slides_2021/reveal.js/plugin/math/plugin.js diff --git a/slides/reveal.js/plugin/notes/notes.esm.js b/slides_2021/reveal.js/plugin/notes/notes.esm.js similarity index 100% rename from slides/reveal.js/plugin/notes/notes.esm.js rename to slides_2021/reveal.js/plugin/notes/notes.esm.js diff --git a/slides/reveal.js/plugin/notes/notes.js b/slides_2021/reveal.js/plugin/notes/notes.js similarity index 100% rename from slides/reveal.js/plugin/notes/notes.js rename to slides_2021/reveal.js/plugin/notes/notes.js diff --git a/slides/reveal.js/plugin/notes/plugin.js b/slides_2021/reveal.js/plugin/notes/plugin.js similarity index 100% rename from slides/reveal.js/plugin/notes/plugin.js rename to slides_2021/reveal.js/plugin/notes/plugin.js diff --git a/slides/reveal.js/plugin/search/plugin.js b/slides_2021/reveal.js/plugin/search/plugin.js similarity index 100% rename from slides/reveal.js/plugin/search/plugin.js rename to slides_2021/reveal.js/plugin/search/plugin.js diff --git a/slides/reveal.js/plugin/search/search.esm.js b/slides_2021/reveal.js/plugin/search/search.esm.js similarity index 100% rename from slides/reveal.js/plugin/search/search.esm.js rename to slides_2021/reveal.js/plugin/search/search.esm.js diff --git a/slides/reveal.js/plugin/search/search.js b/slides_2021/reveal.js/plugin/search/search.js similarity index 100% rename from slides/reveal.js/plugin/search/search.js rename to slides_2021/reveal.js/plugin/search/search.js diff --git a/slides/reveal.js/plugin/zoom/plugin.js b/slides_2021/reveal.js/plugin/zoom/plugin.js similarity index 100% rename from slides/reveal.js/plugin/zoom/plugin.js rename to slides_2021/reveal.js/plugin/zoom/plugin.js diff --git a/slides/reveal.js/plugin/zoom/zoom.esm.js b/slides_2021/reveal.js/plugin/zoom/zoom.esm.js similarity index 100% rename from slides/reveal.js/plugin/zoom/zoom.esm.js rename to slides_2021/reveal.js/plugin/zoom/zoom.esm.js diff --git a/slides/reveal.js/plugin/zoom/zoom.js b/slides_2021/reveal.js/plugin/zoom/zoom.js similarity index 100% rename from slides/reveal.js/plugin/zoom/zoom.js rename to slides_2021/reveal.js/plugin/zoom/zoom.js -- GitLab