--- title: Exercise leader hackmd march '22 tags: workshop-2022-March --- # Exercise leader hackmd March '22 Dear Exercise leader, You have made it here, awesome! Thank you for attending the exercise leader onboarding session. Hope you will enjoy the workshop :) > We just recently renamed the exercise leader position; before we used to call you 'helpers', some may forget about this renaming in between, but yes, also with helpers, we mean you. ## Update your availability Please use "Manage registration" in email to keep your availability during the workshop up to date to make planning easier for us. - RB: that is good. But in addition it will help me if you send an email to radovan.bast@uit.no if something changes in your availability. I am watching the database but just to make sure I don't miss anything. I will also hopefully later today send info about your exercise group. ## Onboarding times * March 16 (Wednesday) 12:00-13:00 CET * March 17 (Thursday) 12:00-13:00 CET [Onboarding material](https://coderefinery.org/manuals/exercise-leaders/) ### Agenda 1. Introduction and Icebreaker 2. Reviewing learners survey 3. Short overview on what will happen in workshop - teams - stream vs zoom - main session vs breakoutrooms - HackMD and expert helpers 4. How to be an exercise leader - [Code of conduct](https://coderefinery.org/about/code-of-conduct/) - positive learning environment - things to avoid 5. In breakoutrooms - Helper as moderator and time keeper - breakoutroom strategies - common problems 6. Path ahead with CodeRefinery 7. Open questions 8. Transition to installation help ## Important links [Schedule](https://coderefinery.org/2022-03-22-workshop/#schedule) with link to lesson material and exercises ## Learner survey Executive summary of the survey results: - half the participants are graduate students - half the participants use Windows - half the participants use Git - programming languages: 71% Python, 12% R, 12% Matlab, 10% Fortran, 8% C++ - half the participants use GitHub - most people have some programming experience - 20% are new to command line/ terminal - 40% have learned about workshop from a friend/colleague #### Answers to "What do you expect to get from this course?" Simplifying my life with version control. Changed one line of code that broke and do not ever wish to search for the error again (through lines and lines) - would rather mark changes with git and be able to simply revert back to original/better track modifications. SO excited for this workshop! I might start using version control again and implement automated testing. A good understanding of the best practices when it comes to version control and reproducibility in code/data analysis To improve my coding efficiency and documentation skills. In particular, be fluent in git managing branches in collaborative software and improve the software design to make it easier for the rest of collaborators To be a better programmer How to improve reproducible research and get better at Git. Improve my code, make it more reusable, distribute it and make easier to collaborate. Be introduced and obtain new overall knowledge that will help me transition from beginner to a more intermediate level with respect to writing, adjusting and managing code (my own and others that I collaborate with). Hope that it will make me more efficient and organized in my job :-) A better understanding of the functions of web-based repositories and better code practice when working on larger projects with multiple contributors. a wider base of general knowledge I expect to get enough experience to start using github version control on my proyects. Plus, I expect to get some additional information on automated testing. skills and tools that help me organize my work as a student and in a job later on Practicalities to adopt. Mostly some hints of how to use Git(hub) in a good way.. better getting to know software management tools, code organization advice, code structure tips, learning how to better document my code I am looking to improve code documentation, modularity, and collaboration in my projects. I am also trying to understand code better. New skills refresh I expect at least to start using GitHub for creating code web-based repositories and for managing version control, as it is now mandatory for reproducible research I already have quite some experience coding but I would like to learn more about version control, collaborative platforms to code with other researchers, and, in general, improve my coding skills to have more efficient codes that are also easier to understand by others To get a better understanding on how to seamlessly integrate testing procedures into my code. A better structure for my version control and since multiple PhD'ers from my group are taking the course, we hope to use it as kick-start to some more collaborative code development in our commonly used numerical C++ toolbox 1. Familiarity with Git for version control 2. Better programming practices 1. Familiarity with Git for version control 2. Better programming practices I hope to learn how to structure my coding (workflow) better and learn some good-practice habits for this. If applicable I would also like to learn to write more clean and reproducible code. Learn good practices of coding and code management, for single-author repositories, but also how to collaborate on repositories effectively and structured/well-managed. Enough experience to start using GitHub confidently and to start writing code properly so that I can take part in larger projects learn better coding practices; learn how to best collaborate on github; how to make research reproducible Learn about professional development of scientific software and how to organize our study programs so that students will learn this. Improve my workflow and cross-PC compatibility, and better long-term use and re-use of my code Learn to use Git more efficiently, learn how to balance the need for testing against constraints on the code development time, learn the most important best practices of research code development. Improving a bit my programming skills and also learning where and how I can find/modify codes that already exist. To learn the best pratices in version control. To be able to develop a workflow that speeds up my work. To learn how to develop modular code To learn how to document my code. How to best organize/set up my programs/scripts in a reproducible way, how to back them up and test them correctly, and how to most efficiently collaborate on them with peers. I expect to get the part of essential knowledge for programming that one does not get during studies as a physicist I would like to learn how github, gitlab and this kind of tools work, the options they have and how to use them. Also learn how to do automated testing of a code. To be better at coding. Learning about how to document correctly, saving versions of the code and not ruin them permanently and to work with other people with the same code. I once tried to use SVN but I did not understand it I hope to learn more about how to use Git in an efficient way in collaborative projects - right now I use it for my own project but without branches etc. I am also very interested in getting into better coding practice and standards that make it easier to share the code, so regarding open source and usefulness to oth ers. To handle git better and know more about how to use common tools for developing such as automated testing, git services (continuous integration) and so on. I don't want to spend hours figuring out what did I do two weeks ago in my scripts. I hope to learn more about version control. Probably there are a lot more other things to learn that I do not even know about. Learn how to git Have a better overview of version control, Git mechanisms, software licensing and general insights on how to have handle better complex codes I hope that this course will help me perform better version control and more modular code packaging for my pipeline development project. ## Icebreaker What motivated you to become an exercise leader? * great way to learn! * specifically for this workshop: a good way to evaluate the advantages of this large-scale online teaching format; more generally: to help other people learn the skills being taught and to learn more myself. * Learn by teaching... and love for coderefinery ;-) * I like to teach and really like the pedagogics in the CodeRefinery sphere. Good way to learn when you are on the other side as well! * * Use coderefineries to solve learning challenges at TU Delft * my colleagues * * great learning experience * Fully learn topics in which I have gaps and have experience in teaching what I know * To help others having an easier life whilw using reproducible tools + also learn more * To keep on learning and be able toTo keep on learning and be able toTo keep on learning and be able toTo keep on learning and be able toTo keep on learning and be able toTo keep on learning and be able toTo keep on learning and be able toTo keep on learning and be able to * Learning * Save the world!! :) * IIII * Better research management within the group and learning best practice on sharing data and code. I have a bit of knowledge in using github so my team mates suggested I get involved as an excerise leader. How can we motivate people to become an exercise leader? * explain how coderefineries solve community challenges in your research community * Be enthusiastic during the breackout sessions * enphasize the value of the course, possibly by helping people to aquire university credits from participating. * reach out to former participants to join as exercise leader * start a closer collaboration with CodeRefinery ## Questions * clarification: the install session later, there is no expectation that exercise leads help there. you are welcome to attend and also ask questions but we have people who will be in the later session to help learners installing things. * Are the workshop material somewhere available? (I may have just missed those..) * the lesson sites are linked from [the schedule on the workshop page](https://coderefinery.org/2022-03-22-workshop/#schedule) * Will there be more installation sessions who sign up last minute? - only today and tomorrow. for very last minute registrations I will recommend people to send an email if something does not work. * Will the instructors share the breakout sessions exercises in advance? - yes, we will put a schedule in advance and all (almost all?) sessions now how have a list of exercises. * Do I need to register a Twitch account to be able to follow the workshop & be an exercise lead? - No, no need to register an account. One would only need an account to write in twitch chat which we will anyway not recommend to use and probably cannot watch (but probably need to watch for any abuse). * You link to The Carpentries Code of Conduct (CoC) for the workshop. Does Code Refinery have its own process for reporting CoC violations, its own Code of Conduct Committee, etc? Who should we contact if we witness a violation? Who handles CoC reports for Code Refinery workshops? - we have a contact form but I admit we do not have a well defined committee to handle it. We will formalize this before the event. Thanks for raising this. - in the meantime we fixed this ## Interested in more CodeRefinery? Join our [chat](https://coderefinery.zulipchat.com), introduce yourself in `#new members` and get to know the community. We will post in `#announce` if exercise leaders are needed for the next workshop. ---