Introduction to scientific computing

Europe/Brussels
Guysen (GIGA meeting rooms)

Guysen

GIGA meeting rooms

Description

Course presentation

Summary

The modern world is ever more dependent on computer science and information technology advances. Especially in life science in recent years, exponentially growing amounts of biological information have been obtained and deposited in various databases. The predominant source – but not only – of this data is “high-throughput” experimentation, involving simultaneous execution of hundreds or thousands of experiments. A comprehensive understanding of biological phenomena can be achieved only through the integration of all available biological information and different data analysis tools and applications. It becomes crucial for modern scientists to acquire skills that will enable them to efficiently deal with this “data explosion”. It is not surprising that scientists with strong computer skills fare better in their position and research. This course aims to provide learners with the basic notions underlying computer science as necessary for biomedical science. The focus of this course in on computer architecture, scientific computing and basic programming.

Aim of the course

To provide participants with basic knowledge on computer architecture, available storage and computing resources, good IT practices, and some programming skills in MATLAB.

By the end of the course, the participants should:

  • understand personal computer & cluster architecture along with mass-storage, and their usage;
  • be acquainted with the available IT resources and people incharge at the GIGA/ULiège IT infrastructure;
  • be aware some principles of good programming practice;
  • know about the main operational systems & programming languages;
  • write basic scripts and functions in MATLAB.

Matlab/Octave programming

Teaching  resources

This will be the main MOOC about MATLAB programming:

Schedule

  • On the 1st, 2nd and 3rd afternoon, we will broadly introduce the topics to be studied on the MOOC and in the book chapters (PDF files to be provided on site) for the following week. A list of exercises to be completed in pairs will also be provided.
  • On the 2nd, 3rd and 4th afternoon, we will debrief the online course, answer the questions regarding the theory, and solve the exercises that created most difficulties.

The list of chapters to read, videos to watch and exercises are provided in the main time table.


Practicalities

Target group

PhD candidate, postdoctoral researchers and PI’s. 
Course is limited to 15 participants.

Duration of the course and workload

4 days: October Thursday 6, then Monday 10, 17, and 24.
In total, 32 hours + online classes.

Prerequisites

For the practical and programming sessions:

The bioinformatics team wiki provides practical information about the mass-storage and cluster, including good practice recommendation and how to connect. Do not hesitate to contact them if you don't have access or are not sure you have access to the GIGA mass storage.

IT requirements: at the very least make sure you have your 'u' or 's' account (preferably the former) officially registered as part of the GIGA. You can check this with Gaëlle Massart from the GIGA admin.

Organization of the course

The course uses “blended teaching”, i.e. relies on a mixture of in-person lectures & meetings and web-based classes:

  • 4 days, over the course of 4 weeks, for in-person teaching with
    • in the morning, background and more theoretical lectures;
    • in the afternoon, explanations and demo-ing for the practical parts.
  • the remaining 3 weeks, with on line programming courses and exercises to solve, plus extra-lectures on topics covered in-person (when available).

Some of the lectures were recorded in October 2020 and are available here.

Speakers & Contributors

in alphabetical order:

  • Mohamed Bahri
  • Martin Grignard
  • Gregory Hammad
  • Arnaud Lavergne
  • Alice Mayer
  • Christophe Phillips
  • Pierre-François Pirlet
  • David Stern
  • Yves Wesche

Support resources

Additional resources & extra lectures

Scientific computing, IT & Linux:

Reproducibility & reliability, QA & QC in software, and Open Source Software

Git, GitHub, Gitlab

 

    • 09:30 10:00
      Welcome + Introduction to computer science : historical perspective, computer structure, operating systems & languages 30m
      Speaker: Prof. Christophe Phillips (GIGA in silico medicine & CRC in vivo imaging)
    • 10:00 11:00
      Data representation & storage: bits/bytes, data format, signal discretization, compression 1h
      Speaker: Dr Mohamed Bahri
    • 11:00 11:30
      Coffee break 30m
    • 11:30 12:00
      ULiège IT resources by the SeGI/UDI’s 30m
      Speaker: Mr Yves Wesche
    • 12:00 12:30
      GIGA-ULiege Mass storage 30m
      Speaker: David Stern
    • 12:30 13:30
      Lunch break 1h
    • 13:30 14:30
      Access to and use of the mass storage 1h
      Speaker: Dr Alice Mayer
    • 14:30 15:00
      Coffee break 30m
    • 15:00 17:00
      Matlab & Octave practical 2h

      See the 'minutes' for the program

      Speakers: Prof. Christophe Phillips (GIGA in silico medicine & CRC in vivo imaging) , Dr Mohamed Bahri

      Resources

      Home-work for next week

      Chapters to read:

      • 1 to 5, all sections
      • (Skip this one if you are a beginner) 6, sections 1/2 (all) + 4 (advanced) + 3/5/6 (optional)

      Video:

      • 1.1-3; 2.1-5; 3.1; 4.1-3

      Exercises:

      • Chapter 1:
        • #9, 10, 25 (very basic)
        • #35 (interesting & useful but easier after reading Chap. 2)
      • Chapter 2: #35, 42, 47 (useful vector manipulation)
      • Chapter 3: #12, 29 (1st script and function!) 
      • Chapter 4: #17, 18, 30 (about IF's and SWITCH's)

      Maybe skip next one and do it next week. as it's not for beginners. :-)

      • Chapter 5:
        • #10, 17, 20, 32 (about FOR's and WHILE's)
        • #40 (more advanced and complicated)
      • Chapter 6:  Write functions that return
        • the day index since January 1, 2022 based on a date expressed as [dd mm yyyy] (you can assume the date is taken in 2022 to begin with).
        • the name day (Monday, Tuesday,...) for a date,  expressed as [dd mm yyyy], knowing that January 1, 2022, is a Saturday (you can assume the date is taken in 2022 to begin with).
    • 09:30 10:30
      Introduction to algorithmic thinking: Different types of algorithms, computer logic. 1h
      Speaker: Dr Mohamed Bahri
    • 10:30 11:00
      Coffee break 30m
    • 11:00 12:00
      Code versioning & Git, an introduction. 1h
      Speaker: Prof. Christophe Phillips (GIGA in silico medicine & CRC in vivo imaging)
    • 12:00 13:00
      Lunch break 1h
    • 13:00 15:00
      GitHub/Gitlab account hands-on check and explanations 2h
      Speaker: Dr Grégory Hammad (GIGA-CRC in vivo imaging)
    • 15:00 15:30
      Coffee break 30m
    • 15:30 17:30
      Matlab & Octave practical 2h

      See the 'minutes' for the program

      Speakers: Prof. Christophe Phillips (GIGA in silico medicine & CRC in vivo imaging) , Dr Mohamed Bahri

      Resources 

      • edX MATLAB and Octave for Beginners: https://www.edx.org/course/matlab-and-octave-for-beginners 
      • Book (in pdf): https://www.sciencedirect.com/book/9780128045251/matlab 
      • Course content (videos) + book (in pdf): https://dox.uliege.be/index.php/s/5n1F6UgDnJFmNdv 
         

      Home-work for next week

      Chapters to read:

      • Chapter 5, all sections
      • Chapter 6, sections 1/2 (all) + 4 (advanced) + 3/5/6 (optional) not for beginners :-)
      • Chapter 7: sections 1/2/3 + 4 (optional)
      • Chapter 8: sections 1/2 + 3/4/5 (advanced)

      Video:

      • 3.2-4; 5.1, 5.2

      Exercises:

      • Chapter 5:
        • #10, 17, 20, 32 (about FOR's and WHILE's)
        • #40 (more advanced and complicated)
      • Chapter 6:  Write functions that return
        • the day index since January 1, 2022 based on a date expressed as [dd mm yyyy] (you can assume the date is taken in 2022 to begin with).
        • the name day (Monday, Tuesday,...) for a date,  expressed as [dd mm yyyy], knowing that January 1, 2022, is a Saturday(you can assume the date is taken in 2022 to begin with).
      • Chapter 7 : 6, 14, 24, 30
      • Chapter 8 : 8, 26, 31
    • 09:30 10:30
      Good practices in scientific computing: Code modularity, validation, optimization, documentation 1h
      Speaker: Prof. Christophe Phillips (GIGA in silico medicine & CRC in vivo imaging)
    • 10:30 11:00
      Coffee break 30m
    • 11:00 13:00
      Working with High Performance Computing Clusters & parallel processing (including hands-on on GIGA cluster). 2h
      Speaker: Dr Alice Mayer
    • 13:00 14:00
      Lunch break 1h
    • 14:00 15:00
      Research Data Management and Reproducibility: good habits for good research 1h
      Speaker: Dr Judith Biernaux (ARD ULiege)
    • 15:00 15:30
      Coffee break 30m
    • 15:30 17:30
      Matlab & Octave practical 2h

      See the 'minutes' for the program

      Speakers: Prof. Christophe Phillips (GIGA in silico medicine & CRC in vivo imaging) , Dr Mohamed Bahri

      Resources

      Home-work for next week

      Chapters to read:

      • Chapter 9: sections 1 + 3 (advanced)
      • Chapter 10: sections 1, 2
      • Chapter 12: sections 15 + 2 (advanced)

      Video:

      • 3.2-4; 5.1, 5.2

      Exercises:

      • Chapter 10 : 2, 4, 12, 25, 26 
      • Chapter 12 : 3, 12, 16
    • 09:30 10:30
      Working with personal data ? Think GDPR! 1h
      Speaker: Mr Pierre-François Pirlet
    • 10:30 11:00
      Coffee break 30m
    • 11:00 12:15
      Data processing in genomics, from the sequencers to the results: data management, pipelines and containers, reproductibility. 1h 15m
      Speaker: Dr Arnaud Lavergne
    • 12:15 13:15
      Lunch break 1h
    • 13:15 15:15
      Matlab & Octave practical 2h
      Speakers: Prof. Christophe Phillips (GIGA in silico medicine & CRC in vivo imaging) , Dr Mohamed Bahri
    • 15:15 15:45
      Coffee break 30m
    • 15:45 16:00
      Closing comments + Q&A 15m
      Speakers: Prof. Christophe Phillips (GIGA in silico medicine & CRC in vivo imaging) , Dr Mohamed Bahri