BEGIN:VCALENDAR
VERSION:2.0
PRODID:icalendar-ruby
CALSCALE:GREGORIAN
BEGIN:VEVENT
DTSTAMP:20260407T181332Z
UID:b5a217b9-bd8c-4c0e-965c-358489c4bd81
DTSTART:20260702T090000Z
DTEND:20260703T170000Z
DESCRIPTION:A certain number of places will be attributed in priority to CU
 SO members!\n\n# Overview\n\nThis workshop will focus on learning and inte
 rnalising the practices of unit testing\, refactoring\, and version contro
 l through hands-on experience. The first morning will begin with an introd
 uction to these concepts and the tools that support them. In the afternoon
  and on the second day\, we will transition to a code clinic\, where we wi
 ll work together in small groups to apply these practices and improve the 
 **code brought by participants**. Due to the hands-on nature of the course
 \, which involves a lot of code handling\, discussions\, and sharing exper
 iences\, it will not be taught remotely.\n\nThe focus of this course **is 
 not** object-oriented programming\, software architecture\, design pattern
 s or algorithms. The goal of this course is to introduce skills and techni
 ques for effectively developing software.\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 analyze data or implement in-silico m
 odels as part of your daily work?\nDo you write scientific publications ba
 sed on software you created yourself but do not know what unit testing\, r
 efactoring or version control are?\nAre you writing code that you find har
 d to understand some weeks later?\nDo you have thousands of lines of code\
 , but no automated way of verifying that the code works correctly?\nDo you
  find yourself regularly using “copy &amp\; paste” to re-use code you 
 wrote earlier?\nDo small changes in your code later cause trouble in other
  unexpected places?\n\n\n# Learning objectives\nAt the end of the workshop
 \, the participants should be able to:\n\nidentify and avoid the most comm
 on mistakes in the process of writing software in a scientific context\nim
 prove the quality of their code\nexploit techniques for effectively develo
 ping software\n\n\n# Prerequisites\n\n**Knowledge / competencies**\n* Work
 ing knowledge of one of the following programming languages: R\, python\, 
 C/C++\, java\, perl\, Matlab.\n\n**Technical / material**\n* Participants 
 will need to share with the trainers some extracts of their code at least 
 2 weeks before the course.\n\n# Programme\n**Day 1** \n* Lectures “Princ
 iples”\, “Clean code”\, “git”\n* Code Clinics\n\n**Day 2**\n* Le
 ctures « Automated Testing »\, « Refactoring »\n* Code Clinics\n\n# Ap
 plication\n\nThe registration fees for academics are **200 CHF** and **100
 0 CHF** for for-profit companies.\n\nWhile participants are registered on 
 a first come\, first served basis\, exceptions may be made to ensure diver
 sity and equity\, which may increase the time before your registration is 
 confirmed.\n\nApplications will close on **18/06/2025** or as soon as the 
 places will be filled up. Deadline for free-of-charge cancellation is set 
 to **18/06/2025**. Cancellations after this date will not be reimbursed. \
 n\nYou will be informed by email of your registration confirmation. Upon r
 eception of the confirmation email\, participants will be asked to confirm
  attendance by paying the registration fees within 5 days.\n\n# Venue and 
 Time\nThis course will be take place in Zurich and start at 9:00 and end a
 round 17:00. \n\nDetailed information will be provided to the registered p
 articipants in due 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 register to the SIB courses mailing list to be informed of
  all future courses and workshops\, as well as all important deadlines usi
 ng the form [here](https://lists.sib.swiss/mailman/listinfo/courses).\n\nP
 lease note that participation in SIB courses is subject to our [general co
 nditions](https://www.sib.swiss/training/terms-and-conditions).\n\nSIB abi
 des by the [ELIXIR Code of Conduct](https://elixir-europe.org/events/code-
 of-conduct). Participants of SIB courses 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
