diff --git a/00-syllabus slides.pdf b/00-syllabus slides.pdf deleted file mode 100644 index d974704ee0da405adee54e1dfc91d196de733e4f..0000000000000000000000000000000000000000 Binary files a/00-syllabus slides.pdf and /dev/null differ diff --git a/00-syllabus.ipynb b/00-syllabus.ipynb deleted file mode 100644 index 42cf265d888c26fbc08a0807fab94dcaac6d0cd3..0000000000000000000000000000000000000000 --- a/00-syllabus.ipynb +++ /dev/null @@ -1,187 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "9d0330d6", - "metadata": { - "slideshow": { - "slide_type": "slide" - } - }, - "source": [ - "# UE5 Fundamentals of Algorithms\n", - "## Syllabus\n", - "### Ecole Centrale de Lyon, Bachelor of Science in Data Science for Responsible Business\n", - "#### Romain Vuillemot\n", - "<center><img src=\"figures/Logo_ECL.png\" style=\"width:300px\"></center>\n" - ] - }, - { - "cell_type": "markdown", - "id": "d655ed46", - "metadata": { - "slideshow": { - "slide_type": "skip" - } - }, - "source": [ - "---" - ] - }, - { - "cell_type": "markdown", - "id": "905ddfde", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "## Course Description\n", - "\n", - "- Basis of algorithms (sorting, search) and data structure (arrays, lists)\n", - "- Justification of the choice of data structures\n", - "- Calculate the complexity of an algorithm\n", - "- Optimize algorithms\n", - "- Writing programs using algorithms" - ] - }, - { - "cell_type": "markdown", - "id": "0e4c3653", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "## Outline\n", - "\n", - "1. [Data structures and complexity](01-introduction.ipynb)\n", - "\n", - "2. Recursion\n", - "\n", - "3. Lists, search, sort\n", - "\n", - "4. Stacks and Queues\n", - "\n", - "5. Sorting\n", - "\n", - "6. Hashing\n", - "\n", - "7. Trees\n", - "\n", - "8. Trees and their representation\n", - "\n", - "9. Tree Algorithms\n", - "\n", - "(..)" - ] - }, - { - "cell_type": "markdown", - "id": "b88aa26d", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "## Outline (cont.)\n", - "\n", - "(..)\n", - "\n", - "10. Binary and n-trees\n", - "\n", - "11. Graphs\n", - "\n", - "12. Divide and conquer Programming\n", - "\n", - "13. Dynamic Programming\n", - "\n", - "14. Greedy Algorithms\n", - "\n", - "15. Graphs shortest path algorithm" - ] - }, - { - "cell_type": "markdown", - "id": "b71dbd2b", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "## Assignments\n", - "\n", - "_For all the assignments you need to: explain your solution, give the complexity and justify it, and implement it in Python using server test cases._\n", - "\n", - "- Assignment 1\n", - "\n", - "- Assignment 2\n", - "\n", - "- Assignment 3\n", - "\n", - "- Assignment 4\n", - "\n", - "- Assignment 5\n" - ] - }, - { - "cell_type": "markdown", - "id": "f7624374", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "## Quizz\n", - "\n", - "1. Quizz 1\n", - "2. Quizz 2\n", - "3. Quizz 3\n", - "4. Quizz 4\n", - "5. Quizz 5\n", - "6. Quizz 6" - ] - }, - { - "cell_type": "markdown", - "id": "5e41c72c", - "metadata": { - "slideshow": { - "slide_type": "subslide" - } - }, - "source": [ - "## Readings\n", - "\n", - "TBD" - ] - } - ], - "metadata": { - "celltoolbar": "Slideshow", - "kernelspec": { - "display_name": "Python 3 (ipykernel)", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.10.9" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/01-introduction slides.pdf b/01-introduction-slides.pdf similarity index 100% rename from 01-introduction slides.pdf rename to 01-introduction-slides.pdf diff --git a/README.md b/README.md index ceec02409fa5e3f1ad665141ce9ea8879a5f1227..a4e6401b86eaeb13a9897a933925db8fb416846b 100644 --- a/README.md +++ b/README.md @@ -11,39 +11,47 @@ Instructor: [Romain Vuillemot](romain.vuillemot@ec-lyon.fr) - Writing programs using algorithms - ## Outline -📖 == expected reading beforet the class day +### Lecture 1 - **Data structures and complexity** | [notebook](01-introduction.ipynb) | [slides](01-introduction-slides.pdf) + +📖 [Python for Everybody](pdf/pythonlearn.pdf) chapter 9 (dictionnaries), chapter 10 (tuples) + +### Lecture 2 - **Recursion** | [notebook](02-recursion.ipynb) | [slides](02-recursion-slides.ipynb) | [exercices](02-recursion-exercices.ipynb) + +📖 [Think Python](pdf/thinkpython2.pdf) chapter 5 (Conditionals and recursion) + +### Lecture 3 - **Lists, search, sort** -1. **Data structures and complexity** - [notebook](01-introduction.ipynb), [slides (pdf)](01-introduction.ipynb) +📖 [Think Python](pdf/thinkpython2.pdf) chapter 11 (lists), chapter 12 (tuples) -- 📖 [Python for Everybody](pdf/pythonlearn.pdf) chapter 8 (lists), 9 (dictionnaries), 10 (tuples) +📖 [Python for Everybody](pdf/pythonlearn.pdf) chapter 8 (lists) -2. **Recursion** - [notebook](02-recursion.ipynb), [slides (pdf)](02-recursion.ipynb) +Next topics: -- 📖 [Think Python](pdf/thinkpython2.pdf) chapter 5 (Conditionals and recursion)) +1. **Advanced sorting** -3. **Stacks and Queues** +2. **Hashing** -4. **Sorting** +3. **Trees** -5. **Hashing** +4. **Trees and their representation** -6. **Trees** +5. **Tree Algorithms** -7. **Trees and their representation** +6. **Binary and n-trees** -8. **Tree Algorithms** +7. **Graphs** -9. **Binary and n-trees** +8. **Divide and conquer Programming** -10. **Graphs** +9. **Dynamic Programming** -11. **Divide and conquer Programming** +10. **Greedy Algorithms** -12. **Dynamic Programming** +11. **Graphs shortest path algorithm** -13. **Greedy Algorithms** +## Books -14. **Graphs shortest path algorithm** \ No newline at end of file +- [Think Python](pdf/thinkpython2.pdf), 2nd edition, by Allen B. Downey +- [Python for Everybody](pdf/pythonlearn.pdf), by Charles Severance \ No newline at end of file diff --git a/course_id/outbound/01-listes.ipynb/testgrade.ipynb b/course_id/outbound/01-listes.ipynb/testgrade.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..c75bc9afc44f5f374587d51cfe73e5f48a2f207c --- /dev/null +++ b/course_id/outbound/01-listes.ipynb/testgrade.ipynb @@ -0,0 +1,80 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 4, + "id": "ff85f1e7", + "metadata": { + "deletable": false, + "nbgrader": { + "cell_type": "code", + "checksum": "274f66a6493e86253b22688664dd1a6b", + "grade": false, + "grade_id": "cell-3cc0f00c3678cddb", + "locked": false, + "schema_version": 3, + "solution": true, + "task": false + } + }, + "outputs": [], + "source": [ + "a=1" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "de920222", + "metadata": { + "deletable": false, + "editable": false, + "nbgrader": { + "cell_type": "code", + "checksum": "662a5f86ec714facc3a4fa54f5440e9b", + "grade": true, + "grade_id": "cell-013c5c6e09af8284", + "locked": true, + "points": 1, + "schema_version": 3, + "solution": false, + "task": false + } + }, + "outputs": [], + "source": [ + "\n", + "assert isinstance(a, int)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2a5c3cfe", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.9" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}