Tools for Scientific Software Development and Data Science (2024)
Enrolment options
Important!
Course is from 9.00 to 15.30 on each course day.
Dates: 16, 17 September and 7 October/2...
Important!
Course is from 9.00 to 15.30 on each course day.
Dates: 16, 17 September and 7 October/25 October 2024
Location: Fredrik Bajers Vej 7C room 3-204, Aalborg 9220
Welcome to Tools for Scientific Software Development and Data Science (2024)The development of eScience and Data Science across research fields means many researchers have to spend a significant amount of time at their computers. As a consequence, we need to ensure that our skill set and toolbox is up to date and that we can accurately, effectively and in a research-wise justifiable manner conduct our research with a computer.
Who is this course for?
If you in your daily work do any of these:
· Process data on a computer
· Adapt code and scripts from colleagues or peers
· Write code/scripts used by you, your colleagues or peers
then this course is for you. However, this is not a programming course.
Are you looking for a course on a specific programming language?
Check out the following courses:
· Scientific Computing using Python - 1. Python + Scientific Computing
· Scientific Computing using Python - High Performance Computing In Python
Objectives
In this course you will learn the practical skills and craftsmanship to increase your day-to-day research productivity and be able to use and/or produce scientific software with a high degree of compliance to modern research standards. After the completion of the course you should
· have knowledge and understanding of collaboration practices in writing program code and managing data to ensure high quality scientific research and development
· be able to with confidence assess and utilise IT work environments for scientific research and development projects
· be able to apply current software development principles in development of program code and computational scripts for the use in scientific research
In more common terms you will learn to e.g.:
· apply the widely used commandline interface/shell bash in your daily work.
· apply the widely used version control system Git in your daily work.
· understand concepts related to computational reproducibility and data management.
Format
Hands-on interactive three-day event with participatory live-coding, demos and presentations. The participants are encouraged to follow and run the same examples as shown during the course. The workshop will contain several smaller practical 5-10 minutes exercises and breaks.
Course structure
1. Day:
§ Introduction: why are we here?
§ Work in practice: what IT resources are available to me?
§ Get efficient with the command line interface (shells: MacOS(zsh), Linux(bash) - Windows users will use a Linux environment)
§ Basic version control: Git and what you need for your everyday work
2. Day:
§ Code smart: software development principles to live by
§ Be smart: using automatic testing (with examples in Matlab, R and Python)
§ Work smart: instead of (re)writing code use scripts to combine existing rutines to produce the output you need
3. Day:
§ Advanced version control: Git as a platform for collaboration
§ Show off your examples with Jupyter notebook
§ Get more out of your code: Computational Reproducibility
§ Get more out of your data: FAIR (findability, accessibility, interoperability, and reusability).
We will not teach a specific programming language and will try to keep the presented material as language-independent as possible.
This is not a programming course.
Prerequisites
· You will need to bring a laptop with Windows / OS X / Linux.
· You know the basics of a least one programming language.
· You can navigate your computer, locate files etc.
· Read Wilson et. al. “Good enough practices in scientific computing” and start thinking about the presented ideas and to what extent it can be adapted in your work.
We expect that:
· You actively participate and work on the examples and exercises.
· You talk to your neighbors and help each other.
· Ask for help if both you and your neighbors are stuck.
Course project
The course project will contain several elements from the course. Participants are presented with a default project, or can take on a project based on their existing work if they find this option suitable. The project will require additional work following the three course days.
ECTS: 2: Participants attending at least 80% of the course and submitting an acceptable course project receive credits.
Lecturers: Special consultant Gergely István Barsi
Dates: 16, 17 September and 7 October 2024
Location: Fredrik Bajers Vej 7C room 3-204
City: Aalborg
Zip Code: 9220
Number of seats: 30
Deadline: 26 August 2024
Important information concerning PhD courses: We have over some time experienced problems with no-shows for both project and general courses. It has now reached a point where we are forced to take action. Therefore, the Doctoral School has decided to introduce a no-show fee of DKK 3.000 for each course where the student does not show up. Cancellations are accepted no later than 2 weeks before start of the course. Registered illness is of course an acceptable reason for not showing up on those days. Furthermore, all courses open for registration approximately four months before start. This can hopefully also provide new students a chance to register for courses during the year. We look forward to your registration.
For external PhD students: This course is a general course and is prioritized for PhD Students enrolled at Aalborg University. If there are available seats, PhD students from other universities will be accepted. You will be notified shortly after the deadline if you have been accepted.
For inquiries regarding registration, cancellation, or waiting list, please contact the PhD administration, aauphd@adm.aau.dk