From 83b1168cacd9de4a013b0eb21b1ceb0c6257950a Mon Sep 17 00:00:00 2001 From: Rantaharju Jarno Date: Mon, 5 Aug 2024 15:33:05 +0300 Subject: [PATCH 1/5] Lesson development lesson, quick structure --- content/lesson-development.md | 37 ++++++++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/content/lesson-development.md b/content/lesson-development.md index 55772e0..6bb34c6 100644 --- a/content/lesson-development.md +++ b/content/lesson-development.md @@ -4,16 +4,47 @@ :::{objectives} - Understand how collaborative development of lesson material works +- Understand the design of CodeRefinery lessons - Be able to contribute to existing CodeRefinery lessons ::: :::{instructor-note} -- Teaching: ? min -- Exercises: ? min +- Teaching: 30 min +- Exercises: 30 min ::: -Here the episode sections and text ... +# A look over existing lessons (10min) + +## Current Tools Workshop + +## Other lessons + + +# Backward lesson design (15min) + + +# Contributing issues and pull requests (5min) + + +# Exercises: + +## Lesson design exercise (10-20min, or longer) + + - Pick a lesson topic. Any of the Tools Workshop lessons are OK, + or you can choose any other topic you might want to teach. + - Write down three learning objectives. What abilities would you + expect the student to have at the end of the lesson? + - Brainstorm an exercise that demonstrates one of those objectives. + - If you have time: + - Create two more exercises + - Write chapter headers for a quick structure + + +## Contributing exercies (10-20min) + + - Read an issue on a CodeRefinery lesson's GitHub page. + - Brainstorm solutions. Write a comment in the issue. :::{keypoints} From 6f1d432d1f43fa07fecf1ea07778f8ac8e8f9434 Mon Sep 17 00:00:00 2001 From: Rantaharju Jarno Date: Tue, 6 Aug 2024 12:38:20 +0300 Subject: [PATCH 2/5] Explain backward lesson development --- content/lesson-development.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/content/lesson-development.md b/content/lesson-development.md index 6bb34c6..b90778c 100644 --- a/content/lesson-development.md +++ b/content/lesson-development.md @@ -23,6 +23,35 @@ # Backward lesson design (15min) +### Why "Backward" + +The "natural" way to design a lesson, that people often default to, is +to write down material you want to cover and then springle in related +exercises. This approach has a couple of significant downsides: + - The content feel meandering and it's unclear what is meant to be learned. + - The exercises and exam may not test the intended learning outcomes. + +In backward lesson design we start from the learning objective and the +"final exam" and work backwards from there to + +### The method: + + 1. Understand you learners + 2. brainstorm rough ideas + 3. Start from learning objectives. Write down 1-3 overarching learning + objectives for the lesson. + - think of the things your learners will + be able to do at the end of the lesson. Think simple! The simpler + the better. Think of three main points they will remember, of which + maybe one or two are a concrete skill. + 4. Write an summative assesment for each outcome. Try to think of engaging + and active exercises. + 5. For a longer lesson, add intermediate goals and formative assesments + to bridge between the starting point and the learning objective and put them + in a reasonable order. + 6. Write just enough material to get from one assessment (exercise) to another. + 7. Describe the course so the learners know if it is relevant to them. + # Contributing issues and pull requests (5min) From 13ccded3cbd5312a3936e1c244efdc0b1e0496e0 Mon Sep 17 00:00:00 2001 From: Rantaharju Jarno Date: Tue, 6 Aug 2024 16:20:34 +0300 Subject: [PATCH 3/5] Add a list of lessons and descriptions --- content/lesson-development.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/content/lesson-development.md b/content/lesson-development.md index b90778c..4c444a0 100644 --- a/content/lesson-development.md +++ b/content/lesson-development.md @@ -18,6 +18,28 @@ ## Current Tools Workshop +There is a current list of Tools Workshop lessons on +[coderefinery.org/lessons](https://coderefinery.org/lessons). + +Days 1-3 focus on the practical use of version control. Version control +is a prerequisite for the somewhat less technical lessons on days 4-6. + +One way to understand the structure is that the first 3 days have a +single **learning objective**: applying the forking workflow to interact +with open source codes. The second half branches of to multiple useful +directions. + + * **Days 1-2**: [Introduction to version control](https://coderefinery.github.io/git-intro/) + * **Day 3**: [Collaborative distributed version control](https://coderefinery.github.io/git-collaborative/) + * **Day 4**: [Reproducible research](https://coderefinery.github.io/reproducible-research/) + * **Day 4**: [Social coding and open software](https://coderefinery.github.io/social-coding/) + * **Day 5**: [How to document your research software](https://coderefinery.github.io/documentation/) + * **Day 5**: [Jupyter notebooks](https://coderefinery.github.io/jupyter/) + * **Day 6**: [Automated testing](https://coderefinery.github.io/testing/) + * **Day 6**: [Modular code development type-along](https://coderefinery.github.io/modular-type-along/) + + + ## Other lessons From c0dee68c0c64803b2137f55f491f6b3dd824cbe7 Mon Sep 17 00:00:00 2001 From: Rantaharju Jarno Date: Wed, 7 Aug 2024 10:53:03 +0300 Subject: [PATCH 4/5] Mention other lessons and link to the repo list --- content/lesson-development.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/content/lesson-development.md b/content/lesson-development.md index 4c444a0..5a6fe95 100644 --- a/content/lesson-development.md +++ b/content/lesson-development.md @@ -39,9 +39,15 @@ directions. * **Day 6**: [Modular code development type-along](https://coderefinery.github.io/modular-type-along/) - ## Other lessons +All of our lessons, including main lessons, but also additional lessons for +other workshops like this one, are on our +[GitHub page](https://github.com/orgs/coderefinery/repositories). The +repositories also contain exercises and workshop pages. All our lessons are +shared under Creative Commons Attribution, so feel free to use them for your +own purposes, modify them and make them better. + # Backward lesson design (15min) From 1f7223245e246bd4bfb471b406f3922a5feb59e2 Mon Sep 17 00:00:00 2001 From: Rantaharju Jarno Date: Wed, 7 Aug 2024 13:23:11 +0300 Subject: [PATCH 5/5] Add info about contributing --- content/lesson-development.md | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/content/lesson-development.md b/content/lesson-development.md index 5a6fe95..a56dc92 100644 --- a/content/lesson-development.md +++ b/content/lesson-development.md @@ -81,7 +81,34 @@ In backward lesson design we start from the learning objective and the 7. Describe the course so the learners know if it is relevant to them. -# Contributing issues and pull requests (5min) +# Contributing (5min) + +Our lessons are **collaboratively developed**. They are made by many people, and +there is no single fixed master plan (but there should be, in the instructors or +maintainer’s guide). We encourage everyone to contribute to the lessons. + +Lessons are reviewed very often - essentially, before each workshop by the +instructor of that workshop. This can be a quick review, looking at issues and +fixing easy things, or more thorough. + +Every so often (such as at this training), there is an extensive hackathon period of +fully revising a lesson and making major improvements. + +We’ve made the [lesson-review](https://coderefinery.github.io/manuals/lesson-review/) +checklist to guide the review process. + +If you are looking for a quick way to contribute, you can always check issues and +pull requests on GitHub. + - From a lesson page, click "Edit on GitHub" in the top right corner + - Click for the "Issues" or "Pull Requests" panel at the top of the page + - Comment and take part in the discussion + +Some issues you might be able to solve directly. Even then, you should comment on +the issue first. This way no-one else will start working on it at the same time and +you can be sure your work will be accepted. + +So essentially, we follow the open source collaboration workflow we teach in the +[collaborative git lesson](https://coderefinery.github.io/git-collaborative/forking-workflow/). # Exercises: