This course aims to give life scientists, bioinformaticians, and other scientists with some experience in programming and scripting an understanding of the underlying principles of software development, design, and programming. The course aims to strengthen the understanding of more advanced programming concepts, ability to produce more reusable scripts through modular programming and to enable a better understanding of how to evaluate a script or programs performance.
We will cover an introduction to Algorithms and Data structures, Programming Paradigms especially structured and object oriented programming and to give a overview of other paradigms like functional programming. Modular development and (code) reusability, testing and optimisation.
We will cover theory with bridging practical examples and applications to enhance the theoretical understanding of the principles.
Recommended knowledge of Git and programming in Python, or equivalent, of either NBIS/ELIXIR-SE Tools for Reproducible research or
https://coderefinery.github.io/2023-09-19-workshop/ (material still available).
We assume familiarity with python at least equivalent of the python part of the UPPMAX introductory course or Python programming with applications to bioinformatics https://uppsala.instructure.com/courses/85913.
When: Nov 27 - Dec 1, 9:00-16:00
Where: Online (Zoom). The link will be sent to registered participants prior to the course.
Online on-boarding: Friday Nov 24 10:00-11:00, drop-in. Get help with setups.
The course material may be found here.