Programming formalisms for life scientists and bioinformaticians
Overview
This course aims to give scientist and bioinformaticians and others working with scientific software with some experience in programming and scripting an understanding of the underlying principles of 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.
The course 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) re-usability, testing and optimisation
The modules will cover theory with bridging practical examples and applications to enhance the theoretical understanding of the principles.
Programming formalism for scientists and bioinformaticians
24- 28 October 2022
Audience Course open to PhD students, postdocs, and other researchers. Note that priority is given to Swedish academia.
Fee This online training event has no fee.
By accepting to participate in the course, you will be agreeing to follow the NBIS Training Code of Conduct.
Covered topics
- Algorithms and Data Structures
- Programming Paradigms
- Systematic Development
- Modular Devlopment and Programming
- Testing and Test driven development
- Optimisation
Learning outcomes
- The participants shall have an introductory understanding of formal algorithms and Algorithm design
- The participants shall know some common data structures and how to utilise it in our design
- The participants shall be familiar with the object oriented paradigm
- The participants shall have an overview of other design and development paradigms
- The participants shall have a basic understanding of modular programming and modular design
- The participant shall have an understanding of the software life cycle
- The participants shall be familiar with common development practices and "best practices" of software development
- The participants shall have an introductory understanding of Testing and test driven design
- The participants shall have an introductory understanding of source control
- The participants shall have an introduction to common concerns and practices in optimisation in development of software
Application
This is a national course. The course is open for PhD students, postdocs, group leaders and core facility staff. We do accept application from other countries, but give priority to applicants from Swedish universities prior to applicants from industry and academics from other countries.
Please note that NBIS training events do not provide any formal university credits. The training content is estimated to correspond to a certain number of credits, however the estimated credits are just guidelines. If formal credits are crucial, the student needs to confer with the home department before submitting a course application in order to establish whether the course is valid for formal credits or not.
Entry requirements
- Basic knowledge in Python and command line (bash). are desirable to help following along with the later part of the course
Schedule
Monday:
Tuesday:
Time | Topic | Teacher | Assistant |
---|---|---|---|
09:00 - 09:15 | Welcome | Marcus | |
09:15 - 12:00 |
Algorithms and Data Structures |
Marcus | |
12:00 - 13:00 | Lunch | ||
13:00 - 16:00 |
Algorithms and Data Structures | Marcus |
Wednesday:
Thursday:
Friday:
Precourse material
Please read carefully the Precourse material before the course start.
Course staff
Lars Eklund - course leader (lars.eklund@scilifelab.se)
Björn Claremar - teacher (bjorn.claremar@uppmax.uu.se)
Marcus Lundberg - teacher (marcus.lundberg@uppmax.uu.se)
Matias Piqueras - teacher (matias.piqueras@uppmax.uu.se)
Per Johnsson - teacher (per.johnsson@nbis.se)
Jon Ander Novella - teacher (jon.novella@nbis.se)
