====== English translation ====== ====== Julia for optimization and teaching ====== **Quick links** [[https://juliateachingctu.github.io/Julia-for-Optimization-and-Learning/stable/|scripts]] [[https://cw.felk.cvut.cz/forum/forum-1788.html|forum]] [[https://cw.felk.cvut.cz/brute/teacher/course/1362|BRUTE]] [[https://fel.cvut.cz/cz/education/rozvrhy-ng.B221/public/html/predmety/69/85/p6985806.html|timetable]] **The course is part of [[https://prg.ai/minor/17347/|prg.ai]].** **[[../start|CZECH TRANSLATION]] is available as well.** ===== Introduction ===== The [[https://julialang.org/|Julia]] programming language is increasingly used by the community for its suitability in numerical computing. The course consists of two parts. The first part presents the Julia language and shows its basics. The second part first shows the basic idea of mathematical optimization and applies it to machine learning, statistics, and optimal control of differential equations. While the first part shows the individual concepts of Julia, the second part combines them into longer logical code sections. Individual applications are always explained theoretically, simple functions are programmed by hand, and then packages are shown where the code is already complete. The course concludes with a final project. The student can choose a topic or try working with real data by choosing a competition from Kaggle. ===== Lectures and exercises ===== * Lecturers: Lukáš Adam, Vašek Mácha, Michaela Mašková. * The grant is 1+3 overall. The first half of the semester is 0+4, the second half is 2+2. * Lectures and exercises follow the online [[https://juliateachingctu.github.io/Julia-for-Optimization-and-Learning/stable/|skripts]]. * Consultations are available by appointment. ^ Datum ^ Téma ^ Kvízy a úkoly ^ Deadline ^ | 22. 9. | Motivational lecture and basics of Julia | quiz | 28. 9. | | 29. 9. | Data Structures | quiz | 5. 10. | | 6. 10. | Conditions and loops | quiz | 12. 10. | | 13. 10. | Methods and functions | homework | 19. 10.| | 20. 10. | Commonly used packages | quiz | 26. 10.| | 27. 10. | Type system | quiz | 2. 11. | | 3. 11. | Code organization | quiz | 9. 11. | | 10. 11. | Optimization | homework | 16. 11. | | 17. 11. | //National holiday// | | | | 24. 11. | Regression and classification | quiz | 30. 11. | | 1. 12. | Neural networks I | quiz | 7. 12. | | 8. 12. | Neural networks II | homework | 14. 12. | | 15. 12. | Statistics| quiz | 11. 1.| | 12. 1. | //Project consultation// | | | ===== Assessment and Examination ===== The course ends with a graded credit. The student will receive a grade according to the points earned. | Online quizzes | max. 9 points | | Homework | max. 30 points | | Project | max. 61 points | | **Total** | max. 100 points | The grade is awarded according to the following scoring interfaces. ^ Points | [0, 50) | [50, 60) | [60, 70) | [70, 80) | [80, 90) | [90, 100] | ^ Grade | F | E | D | C | B | A | ==== Online quizzes ==== The purpose of the online quiz is to review the material over the course of the semester. Each quiz requires you to select the correct answer from the options provided. There is no limit to the number of times a quiz can be repeated. We will assign 9 quizzes during the semester, and you will receive 1 point for each quiz if completed on time. There are 0 points for late submission. Each quiz will be given in BRUTE. You will have one week to complete the quizzes. ==== Homework ==== The goal of the homework is to program a short function that will automatically evaluate on unknown inputs. You will receive an evaluation of the function you have written immediately after uploading. As with the quizzes, there is no limit to the number of uploads of each function. You will be given 3 homework assignments during the semester, and if completed on time, you will receive 10 points for each. Late submissions will be deducted 0.5 points for each day late. Each homework assignment will be given in BRUTE. There is one week to complete the homework. More detailed information about the structure is in the custom [[./hw/start|section]]. ==== Project ==== The goal of the final project is to demonstrate the skills learned in the course. The topic of the final project must be approved by one of the instructors by the deadline listed below. The student chooses the project and presents a brief description of the project and functionality to one of the instructors. Without this approval, the project cannot be defended. The project is followed by a project defense. More detailed information on project design, implementation and approval is in a separate [[./project/start|section]]. **The following deadlines apply for project approval:** * The project must be proposed in person //no later// than the lecture on 12. 1. * Potential required modifications must be developed by 19. 1.