Mini Course: Intro to Programming

This Mini Course will focus on teaching the basics of computer programming, using the language of Python.

In today's scientific world, it is almost required to possess some computer programming skills. In this course, we will cover as much as possible the basics of programming, using the language of Python. This language has been picked for its relative user-friendliness, but will not be explored in depth as the emphasis of this event is teaching a skill-set as transferable to other languages as possible.

This is the 6th edition of this course, armed with that  experience we will make your learning experience that much better. Designing the course will be a lot easier too!

If you are interested, sign up below!

Target audience

This course is suitable for anyone, no prior experience in programming is necessary.

Teachers

The teachers will be Md Abrar Jahin (intern), Nicholas Wardhana (postdoc) and Jeremie Gillet (nerd).

Program (Sixth edition, January 2022)

The program will be as shown below. The first session is meant to help people install Python, although Anaconda makes it very simple on every platform.

Date Time Topic Teacher
Wednesday, January 19 2PM - 3PM [optional] Installing Python: technical support Jeremie
Wednesday, January 19 3PM - 5PM Intro, using Anaconda, variables, lists Abrar
Friday, January 21 3PM - 5PM Strings, control structures Abrar
Monday, January 24 3PM - 5PM Functions Nicholas
WednesdayJanuary 26 3PM - 5PM IO, Python ecosystem and practices Jeremie

You will find all the material used for the course here.

Program (Fifth edition, August 2020)

The teachers were Kenneth Dudley (Technican), Ankur Dhar, Vsevolod "Seva" Nikulin (PhD students) and Jeremie Gillet (nerd).

The program will be as shown below. The first session is meant to help people install Python, although Anaconda makes it very simple on every platform.

Date Time Topic Teacher
Wednesday, August 5 9AM - 10AM [optional] Installing Python: technical support Jeremie
Wednesday, August 5 10AM - 12PM Intro, using Anaconda, variables, lists Jeremie
Thursday, August 6 10AM - 12PM Strings, control structures Kenneth
Wednesday, August 12 10AM - 12PM Functions Seva
Thursday, August 13 10AM - 12PM IO, Python ecosystem and practices Ankur

You will find all the material used for the course here.

You will find the footage here.

Program (Fourth edition, March 2019)

The teachers were be Ankur Dhar, Vsevolod "Seva" Nikulin (PhD students) and Jeremie Gillet (nerd).

The program will be as shown below. The first session is meant to help people install Python, although Anaconda makes it very simple on every platform.

Date Time Topic Teacher
Monday, March 18 4PM to 5PM [optional] Installing Python: technical support Jeremie
Tuesday, March 19 3PM to 5PM Intro, using Anaconda, variables, lists Jeremie
Wednesday, March 20 3PM to 5PM Strings, control structures Jeremie
Tuesday, March 26 3PM to 5PM Functions Seva
Wednesday, March 27 3PM to 5PM IO, Python ecosystem and practices Ankur
 

You can find the slides and coded used during the course here.

Program (Third edition, March 2018)

The teachers were Bianca Sieveritz, Ruth Thompson (PhD students), Stefano Pascarelli (intern) and Peter Bratby (postdoc).

The program will be as shown below. Learning how to program can only be achieved through practice, which is why homework will be assigned on each lesson. Make sure you complete it.

Date Time Topic Teacher
Monday, March 26 12:30PM to 1PM [optional] Installing Python: technical support Jeremie
Monday, March 26 1PM to 3PM Intro, using Anaconda, variables, lists Ruth
Thursday, March 29 1PM to 3PM Strings, control structures Stefano
Monday, April 2 1PM to 3PM Functions (in B701) Bianca
Thursday, April 5 1PM to 3PM IO, Python ecosystem and practices Peter

You can find the material (slides, code, exercices and solutions) used in this Skill Pill here.

Program (Second edition, March 2017)

A first short session will provide help with installing Python to anyone who requires it:

  Friday, March 17
15:00 ~ 16:00 Installing Python (B715)

And the actual program will be as follows:

  Saturday, March 18   Saturday, March 25
10:00 ~ 11:00 Data types and variables (Bianca) 10:00 ~ 11:00 Classes (Peter)
11:15 ~ 12:15 List manipulation (Lena) 11:15 ~ 12:15 String manipulation (Lena) 
12:15 ~13:30 Lunch break 12:15 ~13:30 Lunch break
13:30 ~ 15:30 Control Structures (Clive) 13:30 ~ 16:00 Input and Output (Jeremie)
15:45 ~ 17:30 Functions (Peter) 16:15 ~ 18:00  Python scope and workflow (James)

You can download all the material (notes, exercises and code) that we used during this Skill Pill here.

Program (First edition, February 2016)

The program was as follows:

  Saturday, February 13   Saturday, February 20
10:00 ~ 11:00 Data types and variables (Bianca Sieveritz) 10:00 ~ 12:00 Reading and Writing files (Jeremie Gillet)
11:15 ~ 12:15 List manipulation (Yuka Suzuki) 12:00 ~13:30 Lunch break
12:15 ~13:30 Lunch break 13:30 ~15:30 Numpy - Arrays and matrices (Yuka Suzuki)
13:30 ~ 15:30 Conditions, loops and functions (James Schloss) 15:45 ~ 17:00 Matplotlib (Bianca Sieveritz)
15:45 ~ 17:30 String manipulation (Jeremie Gillet)  17:15 ~ 17:45  Why use Python? (James Schloss)

You can download all the material (notes, exercises and code) that we used during this Skill Pill here.

More information

  • Location: B701, AKA computer lab, Lab 3.
  • Zoom link: if you prefer joining remotely, or if B701 exceeds 50% capacity, you can join using this link
  • What to bring: a laptop, with Anaconda installed with Python 3 (NOT 2). You can find Anaconda here. Please install those ahead of time and if you need any technical help, please show up at the first, optional session.
  • Video Recording: this course might be recorded and uploaded online, only the teacher will be recorded. Contact Jeremie Gillet if you have reservations about this.
  • Drinks: There will be free coffee and tea, bring your cup!

If you are interested in the course but cannot participate to this particular event, let us know and we will contact you for any later occurrence of the course.

Thank you very much for your interest.

For students: describe your current abilities with computer programming. What languages have you used? For teachers: describe briefly your level of expertise in programming and Python (do you use it in your research? how often? which other languages?).
For students: explain briefly the reasons for enrolling in this course (for a class? lab rotation? fun?). For teachers: describe briefly why you wish to teach this course.
Any additional thing you would like to let us know.