BEGIN:VCALENDAR
VERSION:2.0
PRODID:icalendar-ruby
CALSCALE:GREGORIAN
BEGIN:VEVENT
DTSTAMP:20260618T120858Z
UID:9e463dfa-8292-4138-9dcd-ff06f4a3e7ed
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\nidentify and avoid the most common mistakes in the process of writing 
 software in a scientific context\nimprove the quality of their code\nexplo
 it 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\, perl\, Matlab.\n\n**Tec
 hnical / material**\n* Participants will need to share with the trainers s
 ome extracts of their code at least 2 weeks before the course.\n\n# Progra
 mme\n**Day 1** \n* Lectures “Principles”\, “Clean code”\, “git
 ”\n* Code Clinics\n\n**Day 2**\n* Lectures « Automated Testing »\, « 
 Refactoring »\n* Code Clinics\n\n# Application\n\nThe registration fees f
 or academics are **200 CHF** and **1000 CHF** for for-profit companies.\n\
 nWhile participants are registered on a first come\, first served basis\, 
 exceptions may be made to ensure diversity and equity\, which may increase
  the time before your registration is confirmed.\n\nApplications will clos
 e on **18/06/2026** or as soon as the places will be filled up. Deadline f
 or free-of-charge cancellation is set to **18/06/2026**. Cancellations aft
 er this date will not be reimbursed. \n\nYou will be informed by email of 
 your registration confirmation. Upon reception of the confirmation email\,
  participants will be asked to confirm attendance by paying the registrati
 on fees within 5 days.\n\n# Venue and Time\nThis course will be take place
  in Zurich and start at 9:00 and end around 17:00. \n\nDetailed informatio
 n will be provided to the registered participants in due time.\n\n\n#  Add
 itional information\nCoordination: Grégoire Rossier\, SIB Training Group\
 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/20260702_BBPRO
END:VEVENT
END:VCALENDAR
