Skip to content

vbrachetta/JuliaSIG

Repository files navigation

JuliaSIG — Julia Special Interest Group at the University of Birmingham

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 无需署名许可协议。


Overview

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).


Repository Structure

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.

Core Julia Language

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

Working with Data

Directory Description
05-FileHandling Reading and writing data
06-DataVisualisation Plotting and visual data exploration

Development Tools and Best Practices

Directory Description
07-JupyterNotebooks Interactive workflows with Jupyter
08-Docstrings Writing documentation for Julia code
09-Testing Unit testing and software quality

Usage

All users are warmly encouraged to use and adapt these examples freely, in accordance with the licence governing this repository.


Contributing

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.


Authors and Acknowledgements

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.


References

  • 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.

Licence

This repository is released under the MIT No Attribution (MIT-0) licence. The full licence text is available in the LICENSE file.

About

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.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors