A pedagogical repository providing examples to support the learning of the Julia programming language and the activities of the Special Interest Group community at the University of Birmingham. The repository is organised into folders arranged by ascending levels of programming proficiency and also includes examples of data visualisation. It is licensed under the MIT No Attribution licence.
此教育资源库中所包含的实操演示/实例,为助于Julia编程语言的学习,以及对伯明翰大学 特别兴趣小组组织的相关社区活动提供的支持。该资源库编排顺序以编程语言使用流利度依 次递增,同时还包括数据可视化示例。此教学资源库使用 MIT 无需署名许可协议。
This is the official repository of the Special Interest Group (SIG) for the Julia Programming Language at the University of Birmingham (UoB).
The Special Interest Group was established in November 2024 by Dr Vincenzo Brachetta, with the aim of supporting the growing community of Julia users and enabling researchers to benefit from this innovative programming language.
Julia is a high-performance, modern programming language whose development began in 2009 and culminated in its official release in 2012. Its principal objective is to resolve the long-standing two-language problem (Bezanson et al., 2017): the trade-off between ease of development and computational performance. Julia has been shown to achieve performance comparable to C while retaining a syntax similar to Python, as evidenced by various numerical benchmarks (Bezanson et al., 2017; Guillaume, 2022).
The numbered directories reflect a suggested learning path, progressing from introductory material to more practical and applied topics. Users are welcome to follow this order or navigate directly to sections of interest, depending on their background and goals.
| Directory | Description |
|---|---|
01-Basic |
Fundamental syntax and data types |
02-Fundamentals |
Core programming concepts |
03-ControlStructures |
Conditionals, loops, and flow control |
04-Functions |
Defining and composing functions |
| Directory | Description |
|---|---|
05-FileHandling |
Reading and writing data |
06-DataVisualisation |
Plotting and visual data exploration |
| Directory | Description |
|---|---|
07-JupyterNotebooks |
Interactive workflows with Jupyter |
08-Docstrings |
Writing documentation for Julia code |
09-Testing |
Unit testing and software quality |
All users are warmly encouraged to use and adapt these examples freely, in accordance with the licence governing this repository.
Contributions are welcome from anyone interested in Julia or scientific computing. Whether you are a member of the JuliaSIG community or an external collaborator, you are encouraged to submit new tutorials, corrections, or improvements to existing material. Please ensure that any added content is consistent with the style and structure of the repository.
This repository was initially developed by Dr Vincenzo Brachetta. Additional contributions by other collaborators are acknowledged within the individual files to which they contributed.
Special thanks are extended to the Birmingham Environment for Academic Research (BEAR) team at the University of Birmingham for their support of this project — in particular, to the Researcher Engagement & Data Group within BEAR.
- Bezanson, J., Edelman, A., Karpinski, S., & Shah, V. B. (2017). Julia: A fresh approach to numerical computing. SIAM Review, 59(1), 65–98.
- Guillaume, D. (2022). Machine learning and combinatorial optimization algorithms, with applications to railway planning. Unpublished PhD thesis. École des Ponts ParisTech.
- Storopoli, J., Huijzer, R., & Alonso, L. (2021). Julia Data Science. Available at: https://juliadatascience.io. ISBN: 9798489859165. Accessed 8 January 2025.
This repository is released under the MIT No Attribution (MIT-0) licence.
The full licence text is available in the LICENSE file.