English translation

Julia for optimization and teaching

Quick links scripts forum BRUTE timetable

The course is part of prg.ai.

CZECH TRANSLATION is available as well.

Introduction

The 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

  • Lectures: Milan Papež (papezmil@fel.cvut.cz)
  • Labs: Michaela Mašková (maskomic@fel.cvut.cz), Šimon Soldát (soldasim@fel.cvut.cz)
  • 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 skripts.
  • Consultations are available by appointment.
Date Lecture + exercise Topic Homework Points Deadline
25. 9. 2025 0+4 Basics of Julia I
2. 10. 2025 0+4 Basics of Julia II hw01 2 points 9. 10.
9. 10. 2025 0+4 Commonly used packages
16. 10. 2025 0+4 Methods and functions hw02 8 points 23. 10.
23. 10. 2025 0+4 Type system
30. 10. 2025 0+4 Code organization I hw03 10 points 6. 11.
6. 11. 2025 0+4 Code organization II
13. 11. 2025 2+2 Optimization hw04 10 points 20. 11.
20. 11. 2025 2+2 Regression and classification
27. 11. 2025 2+2 Neural networks I hw05 10 points 4. 12.
4. 12. 2025 2+2 Neural networks II
11. 12. 2025 2+2 Statistics
18. 12. 2025 4+0 Project consultation

Assessment and Examination

The course ends with a graded credit. The student will receive a grade according to the points earned.

Homework max. 40 points
Project max. 60 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

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 5 homework assignments during the semester, from which you can obtain up to 40 points. 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 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 its 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 section.

The following deadlines apply for project approval:
  • The project must be proposed in person no later than the lecture on 18. 12. 2025
courses/b0b36jul/en/start.txt · Last modified: 2025/09/24 22:00 by soldasim