BEGIN:VCALENDAR
VERSION:2.0
PRODID:icalendar-ruby
CALSCALE:GREGORIAN
BEGIN:VEVENT
DTSTAMP:20260618T033046Z
UID:80007d95-5cd8-46bd-a6bb-f3de838fb0e1
DTSTART:20240703T090000Z
DTEND:20240704T170000Z
DESCRIPTION:# Overview\nThe workshop will focus on learning and internalizi
 ng the practices of unit testing\, refactoring\, and version control throu
 gh 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 apply
 ing these practices to make improvements to **code brought by participants
 **. The second day will continue with the code clinic.\n\nThe focus of thi
 s course **is not** object-oriented programming\, software architecture\, 
 design patterns or algorithms. The goal of this course is to introduce ski
 lls and techniques for effectively developing software.\n\n# Audience\nIf 
 the answer to two or more of the following questions is “yes”\, then t
 his course is for you.\n\nDo you write software to analyze data or impleme
 nt in-silico models as part of your daily work?\nDo you write scientific p
 ublications based on software you created yourself but do not know what un
 it testing\, refactoring or version control are?\nAre you writing code tha
 t you find hard to understand some weeks later?\nDo you have thousands of 
 lines of code\, but no automated way of verifying that the code works corr
 ectly?\nDo you find yourself regularly using “copy &amp\; paste” to re
 -use code you wrote earlier?\nDo small changes in your code later cause tr
 ouble in other unexpected places?\n\n\n# Learning objectives\nAt the end o
 f the workshop\, the participants should be able to:\n\nidentify and avoid
  the most common mistakes in the process of writing software in a scientif
 ic context\nimprove the quality of her/his code\nexploit techniques for ef
 fectively developing software\n\n\n# Prerequisites\n\n**Knowledge / compet
 encies**\n* Working knowledge of one of the following programming language
 s: R\, python\, C/C++\, java\, perl\, Matlab.\n\n**Technical / material**\
 n* Participants will need send some extracts of their code at least 2 week
 s before the course\n\n# Programme\n**Day 1** \n* Lectures “Principles
 ”\, “Clean code”\, “git”\n* Code Clinics\n\n**Day 2**\n* Lecture
 s « Automated Testing »\, « Refactoring »\n* Code Clinics\n\n# Applica
 tion\nThe registration fees for academics are **200 CHF** and **1000 CHF**
  for for-profit companies.\n\nYou will be informed by email of your regist
 ration confirmation. Upon reception of the confirmation email\, participan
 ts will be asked to confirm attendance by paying the fees within 5 days.\n
 \nDeadline for free-of-charge cancellation is set to **17/06/2024**. Cance
 llation after this date will not be reimbursed. Please note that participa
 tion in SIB courses is subject to our [general conditions](https://www.sib
 .swiss/training/terms-and-conditions).\n\n# Venue and Time\nThis course wi
 ll be take in Zurich and start at 9:00 and end around 17:00. Detailed info
 rmation will be provided to the participants.\n\n\n#  Additional informati
 on\nCoordination: Grégoire Rossier\n\nInstructors: to be announced later\
 n\nWe will recommend 0.5 ECTS credits for this course (given that you prov
 ide your code and work on it).\n\nYou are welcome to register to the SIB c
 ourses mailing list to be informed of all future courses and workshops\, a
 s well as all important deadlines using the form [here](https://lists.sib.
 swiss/mailman/listinfo/courses).\n\nPlease note that participation in SIB 
 courses is subject to our [general conditions](https://www.sib.swiss/train
 ing/terms-and-conditions).\n\nSIB abides by the [ELIXIR Code of Conduct](h
 ttps://elixir-europe.org/events/code-of-conduct). Participants of SIB cour
 ses are also required to abide by the same code.\n\nFor more information\,
  please contact [training@sib.swiss](mailto://training@sib.swiss).
SUMMARY:Best Practices in Programming
URL;VALUE=URI:https://www.sib.swiss/training/course/20240703_BPP
END:VEVENT
END:VCALENDAR
