Best practices in programming - October 2015
Section outline
-
Best practices in programming
Location: L-floor, building Y55, room 12 (Y55-L-12), University of Zurich
Dates: 19-20 October 2015
Overview
The course will focus on learning and internalizing the practices of unit testing, refactoring, and version control through hands-on experience. The first morning will start with an introduction into these concepts and tools used to support them. In the afternoon, we will transition to a code clinic and work together in small groups applying these practices to make improvements to code brought by participants. The second day will continue with the code clinic.
Learning objectives
At the end of the workshop, the participants will be able to:
- identify and avoid the most common mistakes in the process of writing software in a scientific context
- improve the quality of her/his code
- exploit techniques for effectively developing software
The focus of this course is not object-oriented programming, software architecture, design patterns or algorithms. The goal of this course is to introduce skills and techniques for effectively developing software.Audience
If the answer to two or more of the following questions is “yes”, then this course is for you.
- Do you write software to analyze data or implement in-silico models as part of your daily work?
- Do you write scientific publications based on software you created yourself but do not know what unit testing, refactoring or version control are?
- Are you writing code that you find hard to understand some weeks later?
- Do you have thousands of lines of code, but no automated way of verifying that the code works correctly?
- Do you find yourself regularly using “copy & paste” to re-use code you wrote earlier?
- Do small changes in your code later cause trouble in other unexpected places?Prerequisits
Knowledge: Working knowledge of one programming language.
Technical: Participants should bring their own laptop with a Wifi connection.
Tutors
Franz-Josef Elmer, Bernd Rinn, Uwe Schmitt, Jakub Straszewski, Milan Simonovic
Location
Institute of Molecular Sciences, University of Zurich.
Application
This course is full. You can add your name to the waiting list at the following link.
The registration fees for academics are 50 CHF. This includes course content material and coffee breaks. Participants from non-academic institutions should contact us before applying.
Deadline for applications and cancellation is set to the 10 October 2015.
Additional information
No exam is planned.
You are welcome to register to the SIB courses mailing-list to be informed of all future courses and workshops, as well as all important deadlines using the form here.
For more information, please contact training@isb-sib.ch.
Please note that your participation to SIB courses is subject to the general conditions described here.
-
Important note: participants must bring their own computers
Schedule
First Day
10h - Welcome talk & start with the coffee
10:15 General Programming Principles (Kuba)
10:45 Unit Testing (Uwe)
11:15 break without coffee
11:30 Refactoring (FJE)
12:00 Git (Milan)
12:30 Lunch
14:00 Code clinic
15:30 - coffee break
15:45 Code clinic
18:00 free time
Second Day
9:00 Code Clinic
10h30 Coffee break
10:45 Code Clinic
12:00 Lunch break
13:30 Code Clinic
15:30 Coffee break
15:45 Code Clinic
17:45 Closing remarks