diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/404.html b/404.html new file mode 100644 index 0000000..f8414f0 --- /dev/null +++ b/404.html @@ -0,0 +1,3 @@ + +
In this course, you will become familiar with tools and best practices for +scientific software development. This course will not teach a programming +language, but we teach the tools you need to do programming well and avoid +common inefficiency traps. The tools we teach are practically a requirement for +any scientist who needs to write code. The main focus is on using +Git for efficiently writing and maintaining research software.
+Do you identify with any of these below, then this course is for you:
+This course is not designed for "professional software engineers" or to make +you one. You can register with your friends/group as a team and you'll +work together in exercise rooms, and you'll be able to work together after the +course as well.
+This is not a course about a specific programming language or the Linux/Unix +terminal shell. We assume that you are somehow familiar with the programming +language that you use in your work and research. Most of the course applies to +any programming language.
+ + + +It is possible to obtain a certificate from the course with a little extra +work. The certificate is equivalent to 1 ECTS and your study supervisor will +be able to register it as a credit in your university study credit system. +Please make sure that your supervisor/study program accepts it.
+Learners with a valid Aalto student number will automatically get the credit +registered in Aalto systems. Please note that this does not apply to +participants affiliated with TU Delft or other universities who have own +criteria for workshop certificates and credits.
+To obtain a certificate, you must be affiliated with a university, or similar +research organisation. We expect you to follow the 6 days of the course and +provide us with the following three text documents sent from your university email:
+git log --all
for the forked repository. Explain what you did. git log --all
for the newly created repository. Explain what you did.git clone
and a git fork
?During the workshop we will provide with contact addresses where you should +send these documents to.
+As this is a very simple homework, the use of generative AI (like ChatGPT) is not allowed. We also have access to ChatGPT and we know how to write prompts that can generate the answers to these homework, so it is very easy for us to check when AI was used. Submissions suspected of being generated by AI will be rejected.
+ + + +For our workshops and events we use the code of conduct published on our project +website.
+ + + +Are you writing code and managing data for your research? +Do you feel like wasting too much time on manual work? +Do you struggle to understand and reuse older code?
+Join the CodeRefinery workshop 10-12 and 17-19 September 2024, for free and online.
+The workshop covers good coding practices, reproducible research principles, and using Git for collaboration. +It consists of streamed lectures and exercises. +You may register individually or as a team. In-person exercise sessions are available in some locations.
+For registration and more information, please visit https://coderefinery.github.io/2024-09-10-workshop.
+ + + +CodeRefinery invites everyone interested in improving their software practice +skills to join the CodeRefinery workshop, September 10-12, and 17-19, 2024, for free and online.
+For more information and registration, please visit: +https://coderefinery.github.io/2024-09-10-workshop/.
+ + + +CodeRefinery is teaching good enough FAIR research software development practices in two workshops a year with all open source lesson materials (https://coderefinery.org/lessons/#lessons-that-we-teach-in-our-tools-workshops).
+The next iteration will be September 10-12 and 17-19 9-13 CEST (info and registration on our event page) and we have four ways for YOU to be part of and support it:
+Advertise to your network; check our communications page for advertisement texts
+Be a learner or observer; register on our event webpage .
+Become a co-instructor for any of our lessons, you will be onboarded and never alone; a nice way to start your teaching journey or expand your teaching horizon :) If this sounds interesting to you, say hi in #coderefinery-tools-workshop channel or come to one of our open planning meetings every Monday at 14 CEST: Connection details on our collaborative document
+"Bring your own classroom" - You do not have the capacity to provide a workshop on version control and other FAIR research software development practices yourself, but know your community would need it? -> Provide a space to watch the CodeRefinery workshop together!
+We also wrote a blog post about this model including feedback from previous classrooms
+ + + +Bring your own classroom to a CodeRefinery workshop! +Provide a learning space, without organizing a full training by yourself. +Materials are open, lectures streamed, the only thing you have to do is facilitate the learning experience! +Read more: https://coderefinery.org/blog/bring-your-own-classroom/
+ + + +Here we collect email texts which we have sent to participants. They are +hopefully useful for late registrations or future workshops.
++ If you registered late and cannot find the link to the Q&A document, + please contact us. See the bottom of this page for contact details. +
++ Subject: Bring your own classroom to a CodeRefinery workshop +
++ +
Bring your own classroom to a CodeRefinery workshop! +Provide a learning space, without organizing a full training by yourself. +Materials are open, lectures streamed, the only thing you have to do is facilitate the learning experience! +Read more: https://coderefinery.org/blog/bring-your-own-classroom/
+ + + ++ Subject: Bring your own classroom to a CodeRefinery workshop +
++ +
CodeRefinery is teaching good enough FAIR research software development practices in two workshops a year with all open source lesson materials (https://coderefinery.org/lessons/#lessons-that-we-teach-in-our-tools-workshops).
+The next iteration will be September 10-12 and 17-19 9-13 CEST (info and registration on our event page) and we have four ways for YOU to be part of and support it:
+Advertise to your network; check our communications page for advertisement texts
+Be a learner or observer; register on our event webpage .
+Become a co-instructor for any of our lessons, you will be onboarded and never alone; a nice way to start your teaching journey or expand your teaching horizon :) If this sounds interesting to you, say hi in #coderefinery-tools-workshop channel or come to one of our open planning meetings every Monday at 14 CEST: Connection details on our collaborative document
+"Bring your own classroom" - You do not have the capacity to provide a workshop on version control and other FAIR research software development practices yourself, but know your community would need it? -> Provide a space to watch the CodeRefinery workshop together!
+We also wrote a blog post about this model including feedback from previous classrooms
+ + + ++ Subject: CodeRefinery workshop announcement +
++ +
CodeRefinery invites everyone interested in improving their software practice +skills to join the CodeRefinery workshop, September 10-12, and 17-19, 2024, for free and online.
+For more information and registration, please visit: +https://coderefinery.github.io/2024-09-10-workshop/.
+ + + ++ Subject: CodeRefinery workshop announcement +
++ +
Are you writing code and managing data for your research? +Do you feel like wasting too much time on manual work? +Do you struggle to understand and reuse older code?
+Join the CodeRefinery workshop 10-12 and 17-19 September 2024, for free and online.
+The workshop covers good coding practices, reproducible research principles, and using Git for collaboration. +It consists of streamed lectures and exercises. +You may register individually or as a team. In-person exercise sessions are available in some locations.
+For registration and more information, please visit https://coderefinery.github.io/2024-09-10-workshop.
+ + + ++ Subject: CodeRefinery workshop starts tomorrow - practical information +
++ +
Dear {first_name},
+The CodeRefinery workshop starts tomorrow, Tuesday September 10th at 9:00 Central European Summer Time (CEST, Oslo) / 10:00 EEST (Helsinki)!
+We expect a dynamic and exciting workshop and very much look forward to it. +This is all you need for the full workshop experience tomorrow:
+If you participate as a team, we recommend that you reserve a physical or video room for your team to work together during the exercises of the first workshop week.
+OPTIONAL: if you want to run Git from your computer, please install required software before the workshop:
+Schedule and lecture material:
+If you have any questions, please write to support@coderefinery.org or reply to me.
+Kind regards, +CodeRefinery team
+ + + ++ Subject: CodeRefinery workshop practical information +
++ +
Dear all,
+We are happy to have you onboard of our workshop that starts in less than two weeks from now:
+https://coderefinery.github.io/2024-09-10-workshop/
+Please install the required software before the workshop: https://coderefinery.github.io/installation/
+If you need assistance with the installation, we offer two help sessions on September 4th and 5th. Please check the schedule in your time zone: https://coderefinery.github.io/2024-09-10-workshop/#schedule . +Connection details for the installation help sessions: XX .
+Here are all relevant resources that you need in order to connect during the workshop:
+You may follow the workshop lectures via Twitch in a web browser, no account needed: https://twitch.tv/coderefinery
+Please use this collaborative document to ask questions during the workshop: XX
+Schedule and lecture materials: https://coderefinery.github.io/2024-09-10-workshop/#schedule
+
+We will take a break for lunch each day, which we have done our best to schedule at a time that will work for most locations as we are across multiple time zones.
+For those who need 1 ECTS credit, please check https://coderefinery.github.io/2024-09-10-workshop/certificates/
+If you have any questions, please write to support@coderefinery.org
+Best regards, +Enrico and Diana, on behalf of the CodeRefinery team
+ + + +Dear all,
+We are happy to have you onboard of our workshop that starts in less than two weeks from now:
+https://coderefinery.github.io/2024-09-10-workshop/
+Please install the required software before the workshop: https://coderefinery.github.io/installation/
+If you need assistance with the installation, we offer two help sessions on September 4th and 5th. Please check the schedule in your time zone: https://coderefinery.github.io/2024-09-10-workshop/#schedule . +Connection details for the installation help sessions: XX .
+Here are all relevant resources that you need in order to connect during the workshop:
+You may follow the workshop lectures via Twitch in a web browser, no account needed: https://twitch.tv/coderefinery
+Please use this collaborative document to ask questions during the workshop: XX
+Schedule and lecture materials: https://coderefinery.github.io/2024-09-10-workshop/#schedule
+
+We will take a break for lunch each day, which we have done our best to schedule at a time that will work for most locations as we are across multiple time zones.
+For those who need 1 ECTS credit, please check https://coderefinery.github.io/2024-09-10-workshop/certificates/
+If you have any questions, please write to support@coderefinery.org
+Best regards, +Enrico and Diana, on behalf of the CodeRefinery team
+ + + +Dear {first_name},
+The CodeRefinery workshop starts tomorrow, Tuesday September 10th at 9:00 Central European Summer Time (CEST, Oslo) / 10:00 EEST (Helsinki)!
+We expect a dynamic and exciting workshop and very much look forward to it. +This is all you need for the full workshop experience tomorrow:
+If you participate as a team, we recommend that you reserve a physical or video room for your team to work together during the exercises of the first workshop week.
+OPTIONAL: if you want to run Git from your computer, please install required software before the workshop:
+Schedule and lecture material:
+If you have any questions, please write to support@coderefinery.org or reply to me.
+Kind regards, +CodeRefinery team
+ + + +Day 1:
+Day 2:
+Day 3:
+In week 2, the instructors will go through exercises on stream and invite +learners to participate with questions using the collaborative document.
+We will not switch between lectures and group exercise sessions in week 2. For +groups that wish to go through exercises on their own, we recommend to schedule +separate sessions for this.
+ + + +There is no deadline and you are welcome to register and join even after +the event started. You can attend just those days or sessions you want but +please register anyway.
+Should all in a team sign up? Or only one person? We recommend that all +register so that they get all necessary information.
+If you want to join as organization to provide local helpers or in-person +sessions, please do! This usually takes the form of a "watching party" with +coordinated breaks for exercises.
+Some organizations offer their own registration form. In this case please +register with them and then you do not have to register here centrally as well. +We will then make sure that everybody gets all necessary information.
+ + + + ++ All times are displayed in the local timezone of your browser. + Detected timezone offset compared to UTC: + + +
++ Breaks: 10 minutes every hour, between xx:50 and xx:10, but it is + difficult for us to indicate exactly when. +
++ | +
+
+ + Onboarding + |
+
+ + +, + + + + - + + + + | ++ + On-boarding for team leaders / local hosts (option 1) + + + + | +
+ | +
+
+ + Onboarding (you don't need to attend all sessions, choose the one that is better for you) + |
+
+ + +, + + + + - + + + + | ++ + On-boarding for team leaders / local hosts (option 2) + + + + | +
+ | +
+
+ + Installation help + |
+
+ + +, + + + + - + + + + | ++ + Installation help for everybody (option 1) + + + + | +
+ | +
+
+ + Installation help (you don't need to attend all sessions, choose the one that is better for you) + |
+
+ + +, + + + + - + + + + | ++ + Installation help for everybody (option 2) + + + + | +
+ | +
+
+ + Day 1 + |
+
+ + +, + + + + - + + + + | +
+
+ Welcome and introduction
+
+
+
+
+ Presenters: Samantha
+
+
+ |
+
+ + +, + + + + - + + + + | +
+
+ Introduction to version control with Git - part 1/4
+
+
+
+ Why we want to track versions and how to go back in time to a working version: Motivation, Browsing, Commiting
+
+
+
+
+ Presenters: Radovan and Richard
+
+
+ |
+
+ + +, + + + + - + + + + | +
+
+ Introduction to version control with Git - part 2/4
+
+
+
+ Merging
+
+
+
+
+ Presenters: Radovan and Richard
+
+
+ |
+
+ | +
+
+ + Day 2 + |
+
+ + +, + + + + - + + + + | +
+
+ Introduction to version control with Git - part 3/4
+
+
+
+
+
+
+ Presenters: Radovan and Bjørn
+
+
+ |
+
+ + +, + + + + - + + + + | +
+
+ Introduction to version control with Git - part 4/4
+
+
+
+ Sharing work
+
+
+
+
+ Presenters: Radovan and Bjørn
+
+
+ |
+
+ | +
+
+ + Day 3 + |
+
+ + +, + + + + - + + + + | +
+
+ Collaborative distributed version control - part 1/2
+
+
+
+
+
+
+ Presenters: Sabry and Dhanya
+
+
+ |
+
+ + +, + + + + - + + + + | +
+
+ Collaborative distributed version control - part 2/2
+
+
+
+
+
+
+ Presenters: Sabry and Dhanya
+
+
+ |
+
+ | +
+
+ + Day 4 + |
+
+ + +, + + + + - + + + + | +
+
+ Reproducible research
+
+
+
+ Preparing code to be usable by you and others in the future
+
+
+
+
+ Presenters: Thomas and Teemu
+
+
+ |
+
+ + +, + + + + - + + + + | +
+
+ Social coding and open software
+
+
+
+ What can you do to get credit for your code and to allow reuse
+
+
+
+
+ Presenters: Richard and Hossein
+
+
+ |
+
+ | +
+
+ + Day 5 + |
+
+ + +, + + + + - + + + + | +
+
+ How to document your research software
+
+
+
+
+ Presenters: Jarno and Ashwin
+
+
+ |
+
+ + +, + + + + - + + + + | +
+
+ Jupyter notebooks
+
+
+
+ A tool to write and share executable notebooks and data visualization
+
+
+
+
+ Presenters: Diana and Jarno
+
+
+ |
+
+ | +
+
+ + Day 6 + |
+
+ + +, + + + + - + + + + | +
+
+ Automated testing
+
+
+
+ Preventing yourself and others from breaking your functioning code
+
+
+
+
+ Presenters: Bjørn and TBA
+
+
+ |
+
+ + +, + + + + - + + + + | +
+
+ Modular code development
+
+
+
+ Making reusing parts of your code easier
+
+
+
+
+ Presenters: Yu and Richard
+
+
+ |
+
+ + +, + + + + - + + + + | +
+
+ Concluding remarks, general Q&A, and where to go from here
+
+
+
+
+ Presenters: Richard
+
+
+ |
+
+ | +
+
+ + Optional: Bring your own code session + |
+
+ + +, + + + + - + + + + | ++ + Bring your own code and discuss and ask; you can also join this session if you have not attended the workshop + + + + | +
+ | +
+
+ + Optional: Bring your own code session + |
+
+ + +, + + + + - + + + + | ++ + Bring your own code and discuss and ask; you can also join this session if you have not attended the workshop + + + + | +
Do you know some of the topics, but want to review them? +Do you wish your colleagues or friends would use these tools? +Why not attend as a team leader? +Gather some friends who want to learn the topics and follow the workshop together. +You don't need to be an expert: if you have been through CodeRefinery once or have some familiarity +with the topics, and you are confident to call an expert helper when needed, +then you have all it takes to lead a team to success, +or lead even more people and join as an organization (see below).
+Help us answer questions from the participants in the online Q&A document (collaborative notes).
+Some partners offer local support, such as breakout rooms, to their local +teams. You can become a partner to +support your community!
+We collect here the exercise groups that we know:
+Anyone may watch the livestream (https://twitch.tv/coderefinery). +You are free to attend just those days or sessions you want. +Read more about how to attend a livestream course or watch the video on YouTube. +Some partners host own video- or in-person exercise rooms.
+ + + + +This document is a placeholder and will be replaced by the actual questions and +notes.
+ + + +Here we will share during/after the workshop (anonymized) questions, answer, +and feedback from the collaborative notes.
+There is no deadline and you are welcome to register and join even after +the event started. You can attend just those days or sessions you want but +please register anyway.
+Should all in a team sign up? Or only one person? We recommend that all +register so that they get all necessary information.
+If you want to join as organization to provide local helpers or in-person +sessions, please do! This usually takes the form of a "watching party" with +coordinated breaks for exercises.
+Some organizations offer their own registration form. In this case please +register with them and then you do not have to register here centrally as well. +We will then make sure that everybody gets all necessary information.
+ + + +It takes a bit of time to install and configure the required software but with +500 or more participants it is not doable to debug these during the workshop +and we ask you to install and configure these before you arrive at the +workshop following the instructions and checklist on this +page.
+Please make sure that Git is configured, and verify the configuration +(text instructions, video).
+We offer install help sessions (see schedule). Please use one of these. It will +improve the workshop experience for you and others.
+In CodeRefinery, we try to teach you tools that we see being used in the +research world and tools we consider important. This sometimes leads to +situations where a tool that is commonly used is not the tool that is most open +or anonymous.
+We encourage everyone to install the software we suggest, to be +able to follow the course without additional issues. However, if you do not +want to use the software or services we suggest for any reason (we understand +that there are good reasons for doing so) you should be aware that the hands-on +aspects of the course are unlikely to apply as is.
+In any case, we suggest +following the instructors and fellow learners to learn about the suggested +software and its possible differences with your choice of tools. In many cases +there may even be a more open/ anonymous tool for the job, we hope you +understand that we can not offer support for every possible tool (everyone has +their preferences). Our decision for using the tools we suggest in this +workshop is based on what we think will be most useful for most of our +learners. Here we try to balance between usefulness and privacy and hope we are +doing a good job. If you are unsure about anything or do not agree with our +choice, feel free to contact us or contribute directly to our lesson material +to make it more inclusive while also being useful for the majority of our +learners.
+ + + +