BEGIN:VCALENDAR
VERSION:2.0
PRODID:icalendar-ruby
CALSCALE:GREGORIAN
BEGIN:VEVENT
DTSTAMP:20260818T161931Z
UID:04a8af8d-b2cd-4ce3-93f4-e9d359679d96
DTSTART:20260702T090000Z
DTEND:20260703T170000Z
DESCRIPTION:A certain number of places will be attributed in priority to CU
 SO members!\n\n# Overview\n\nAlthough AI coding tools are becoming more po
 werful\, fundamental programming and software engineering skills are still
  required in order to evaluate results and use AI support effectively. \n\
 nThis workshop will focus on learning and internalising unit testing\, ref
 actoring\, and version control practices through hands-on experience. \n\n
 On the first morning\, there will be an introduction to these concepts and
  the supporting tools. In the afternoon and on the second day\, participan
 ts will work in small groups in a code clinic to apply these practices and
  improve **their own code**. Due to its practical nature involving a lot o
 f code handling\, discussion and experience-sharing\, the course cannot be
  taught remotely.\n\nThis course **does not** focus on object-oriented pro
 gramming\, software architecture\, design patterns\, or algorithms. The go
 al is to introduce skills and techniques for effectively developing softwa
 re.\n\n# Audience\nIf the answer to two or more of the following questions
  is “yes”\, then this course is for you:\n\nDo you write software to a
 nalyze data or implement in-silico models as part of your daily work?\nDo 
 you write scientific publications based on software you created yourself b
 ut do not know what unit testing\, refactoring or version control are?\nAr
 e you writing code that you find hard to understand some weeks later?\nDo 
 you have thousands of lines of code\, but no automated way of verifying th
 at the code works correctly?\nDo you find yourself regularly using “copy
  &amp\; paste” to re-use code you wrote earlier?\nDo small changes in yo
 ur code later cause trouble in other unexpected places?\n\n\n# Learning ob
 jectives\nAt the end of the workshop\, the participants should be able to:
 \n\n* **identify** and **avoid** the most common mistakes in the process o
 f writing software in a scientific context\n* **improve** the quality of t
 heir code\n* **exploit** techniques for effectively developing software\n\
 n\n# Prerequisites\n\n**Knowledge / competencies**\n* Working knowledge of
  one of the following programming languages: R\, python\, C/C++\, java\, p
 erl\, Matlab.\n\n**Technical / material**\n* Participants will need to sha
 re with the trainers some extracts of their code at least 2 weeks before t
 he course.\n\n# Programme\n**Day 1** \n* Lectures “Principles”\, “Cl
 ean code”\, “git”\n* Code Clinics\n\n**Day 2**\n* Lectures « Automa
 ted Testing »\, « Refactoring »\n* Code Clinics\n\n# Application\n\nThe
  registration fees for academics are **200 CHF** and **1000 CHF** for for-
 profit companies.\n\nWhile participants are registered on a first come\, f
 irst served basis\, exceptions may be made to ensure diversity and equity\
 , which may increase the time before your registration is confirmed.\n\nAp
 plications will close on **18/06/2026** or as soon as the places will be f
 illed up. Deadline for free-of-charge cancellation is set to **18/06/2026*
 *. Cancellations after this date will not be reimbursed. \n\nYou will be i
 nformed by email of your registration confirmation. Upon reception of the 
 confirmation email\, participants will be asked to confirm attendance by p
 aying the registration fees within 5 days.\n\n# Venue and Time\nThis cours
 e will be take place in Zurich and start at 9:00 and end around 17:00. \n\
 nDetailed information will be provided to the registered participants in d
 ue time.\n\n\n#  Additional information\nCoordination: Grégoire Rossier\,
  SIB Training Group\n\nWe will recommend 0.5 ECTS credits for this course 
 (given that you provide your code and work on it).\n\nYou are welcome to r
 egister to the SIB courses mailing list to be informed of all future cours
 es and workshops\, as well as all important deadlines using the form [here
 ](https://lists.sib.swiss/mailman/listinfo/courses).\n\nPlease note that p
 articipation in SIB courses is subject to our [general conditions](https:/
 /www.sib.swiss/training/terms-and-conditions).\n\nSIB abides by the [ELIXI
 R Code of Conduct](https://elixir-europe.org/events/code-of-conduct). Part
 icipants of SIB courses are also required to abide by the same code.\n\nFo
 r 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/20260702_BBPRO
END:VEVENT
END:VCALENDAR
