Programming in Julia

Login to KOS for course enrollment Display time-table
Code Completion Credits Range Language
BI-JUL.21 KZ 5 3C Czech
Garant předmětu:
Tomáš Kalvoda
Tomáš Kalvoda
Tomáš Kalvoda
Department of Applied Mathematics

The goal of the course is to introduce the students to Julia, a modern programming language and scientific programming environment. In the first part, the students will learn the basic concepts and features of Julia. The second part is focused on thematically diverse applications of tools available in Julia. Students will learn how to work effectively in the Julia environment and get an overview of its capabilities for solving problems in various fields, which they can encounter during their studies.


Basics of programming and algorithmization as covered by BIE-PA1 and BIE-PA2 courses is assumed.

Syllabus of lectures:

There are not lectures.

Syllabus of tutorials:

1. Introduction to scientific computing (motivation, history, present state, available tools, goals and problems).

2. Introduction to the Julia programming language (installation, packaging ecosystem, REPL, Juno IDE, Jupyter).

3. Flow control structures; type system: abstract, concrete, and parametric types; number types as an illustration.

4. Functions and methods, macros and metaprogramming.

5. Multidimensional arrays and matrix types.

6. Standard library (with emphasis on packages Linear algebra and Statistics).

7. Tools for parallel computation and profiling.

8. Modules, package and project development, documentation generation.

9. Visualization and manipulation with graphics (packages Plots, Gadfly, Images).

10. Data import and export (package DataFrames, various formats, reading, writing, data processing).

11. Optimization problems (package JuMP).

12. Differential equations (package DifferentialEquations).

13. Julia in Machine learning (selected topics from packages Flux and JuliaML).

Study Objective:
Study materials:

1. Balbaert I., Salceanu A. : Julia 1.0 Programming Complete Reference Guide. Packt Publishing, 2019. ISBN 978-1-83882-224-8.

2. Bezanson J., Edelman A., Karpinski S., Shah V. B. : Julia: A Fresh Approach to Numerical Computing. SIAM, 2017.

3. Nagar S. : Beginning Julia Programming-For Engineers and Scientists. Springer, 2017. ISBN 978-1-4842-3171-5.

Further information:
Time-table for winter semester 2024/2025:
Time-table is not available yet
Time-table for summer semester 2024/2025:
Time-table is not available yet
The course is a part of the following study plans:
Data valid to 2024-04-19
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/en/predmet6613906.html