Skip to content

matildamakkonen/CDWAssignment

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Code Design Workshop

For many of us, programming is a big part of our scientific work, and that part is only becoming bigger. So, we spend hours upon hours in front of the computer trying to write code for the problems we are trying to solve. Come spend some time with us to get better at it, it’ll be worth your while! We are hosting a three-day workshop on code design, specially tailored to our department.

Some of our projects last pretty long and code gets piled upon code for years. Have you ever experienced the frustration of an out of control codebase, so progress of your once exciting research slows down to a crawl? This is a common problem wherever code is written, and computer scientists have been studying ways to address this problem for years. Now, it is immediately obvious that not every researcher can and should have to obtain a degree in computer science before touching any code. However, we think that the fundamentals of solving this problem can and should be taught to every person interested in improving their day-to-day coding experience. Good code design will help you be faster, more accurate and motivated throughout a project.

Therefore, we have created a three-day workshop on how to write better analysis code. We are now set to accept participants. The workshop will be held online via Zoom.

Timetable for the workshop:

Monday 19.04
    12:00 – 14:00 Lecture about code design.
                  Introduction of part 1 of the assignment.

Thursday 22.04
    24:00 Deadline for submitting a first version of part 1.
          Work can continue until Monday 26.04.

Friday 23.04
    12:00 Everyone gets assigned a project to review.

Monday 26.04
    10:00 – 14:00 Presenting the reviews for part 1.
                  Everyone will get two timeslots: one giving and one for receiving a review.
    14:00 Second part of the exercise will be revealed.

Thursday 29.04
    24:00 Deadline for summitting a first version of part 2.
          Work can continue until Monday 03.05.

Monday 03.05
    10:00 – 14:00 Presenting the reviews for part 2.
                  Everyone will get two timeslots: one giving and one for receiving a review.
    14:00 - 15:00 Recap session and closing

Workshop Organizers

This workshop is brought to you by Susanne Merz and Marijn van Vliet, members of the department of Neuroscience and Biomedical Engineering (NBE) of Aalto University.

Pre-assignment

For this workshop we assume that you are able to program in Python. To test your Python knowledge, we created a pre-exercise: Gizmo. The exercise is meant to test your knowledge of some important features of the Python programming language and the NumPy and Pandas libraries. Create pull requests (PR's) to the Gizmo repository to solve the challenges. Upon PR submission, the GitHub action robots will check your code and report back how well you did. You can then add more commits to your PR until all tests come back green, which means you win! When it's not immediately obvious to you how to solve a challengde using only a few lines of code, it is likely you can learn a new Python trick by checking the links given in the exercise sheet.

Data analysis challenge

During the workshop, you will create a, short but not trivial, data analysis pipeline. Then, every group will review the work from another group, based on the design principles we covered in the theory session. This code-review process is going to be our main teaching tool in this workshop. We have set up some rules for code review, which you can find here: ReviewProcess.pdf.

Find the instructions for the assignment here:

  1. Overview of the pipeline
  2. The assignment, part 1: implementation instructions
  3. The assignment, part 2: will be revealed after part 1 is completed.

Lecture slides

The slides presented during the theory session can be found here: TheorySlides.pdf.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 100.0%