Skip to content

Commit

Permalink
Tidied up instructor notes
Browse files Browse the repository at this point in the history
anenadic committed May 4, 2022
1 parent 5fda2cc commit 4d305c8
Showing 1 changed file with 42 additions and 9 deletions.
51 changes: 42 additions & 9 deletions _extras/guide.md
Original file line number Diff line number Diff line change
@@ -9,7 +9,19 @@ title: "Instructor Notes"


## Course Design
The course follows a narrative around a software development team working on an existing software project that is analysing patients’ inflammation data (from the [novice Software Carpentry Python course](https://software-carpentry.org/lessons). A typical learner for the course is someone who has gained foundational software development skills in using Git, command line shell and Python (e.g. by attending prior courses or by self-learning). They are now joining the development team where they will require a number of software development tools and intermediate software development skills to engineer their code more properly taking into consideration the lifecycle of software, team ethic, writing software for stakeholders, and applying a process to understanding, designing, building, releasing, and maintaining software.
The course follows a narrative around a software development team working on an existing software project that is
analysing patients’ inflammation data (from the [novice Software Carpentry Python course](https://software-carpentry.org/lessons).
The course is meant to be delivered as a single unit as the course's code examples and exercises built on top of
previously covered topics and code - so skipping or missing bits of the course would cause students to get out of
sync and cause them difficulties in following subsequent sections.

A typical learner for the course is someone who has gained foundational software development skills in using Git,
command line shell and Python (e.g. by attending prior courses or by self-learning), and have used these skills
for individual code development and scripting. They are now joining the
development team where they will require a number of software development tools and intermediate software
development skills to engineer their code more properly taking into consideration the lifecycle of software,
team ethic, writing software for stakeholders, and applying a process to understanding, designing, building,
releasing, and maintaining software.

The course has been separated into 4 sections:

@@ -18,30 +30,51 @@ The course has been separated into 4 sections:
- Section 3: Developing Open Source and Inner Source Ready Code
- Section 4: Managing the Quality and Evolution of Software

Each section can be delivered in 4 half-day units (try to allow 4 hours for each half-day).
Each section can be delivered in a half-day.

## Course Delivery
The course is intended for self-learning - students are organised in small groups but work individually through the material and have a bunch of helpers on hand to help with any issues and questions. This provides a more comfortable and less intimidating learning environment with learners more willing to engage and chat with their group colleagues about what they are doing and ask for help. While this course can be live-coded by an instructor as well, we felt that intermediate-level learners would not require this and are capable of going through the material on their own at a reasonable speed. Exercises in later sections include team work where learners from the ame group are asked to collaborate on a software project (to provide more in-depth practice for software development in teams).
The course is intended primarily for self-learning but other modes of delivery are possible (e.g. mixing in elements
of instructor-led coding-along). The way the course has been delivered so far is that
students are organised in small groups from the outset and initially work individually through the
material. In later sections, exercises involve more group work and people from the same group form small development
teams and collaborate on a mini software project (to provide more in-depth practice for software development in teams).
There is a bunch of helpers on hand who sit with learners in groups.
This provides a more comfortable and less intimidating learning environment with learners more willing to engage and
chat with their group colleagues about what they are doing and ask for help.

Workshops can be delivered online or in-person with participants split into groups or breakout rooms from the outset - these groups are aided by helpers.
A good ratio is 4-6 learners to 1 helper. If you have a smaller number of helpers than groups - helpers can roam around to make sure groups are making progress.
The course can be delivered online or in-person. A good ratio is 4-6 learners to 1 helper.
If you have a smaller number of helpers than groups - helpers can roam around to make sure groups are making progress.
While this course can be live-coded by an instructor as well (in the earlier stages), we felt
that intermediate-level learners are capable of going through the material on their own
at a reasonable speed and would not require to code-along to the same extent as novice learners. In later stages, exercises require
participants to develop code more individually so they can review and comment on each other's code, so the
codes need to be sufficiently different for these exercises to be effective. Having an instructor live-code would
make everyone have exactly the same code on their machines and would not have the same effect.

The workshop kicks off with everyone together at the start of each day, where course leads provide session introduction and explain what the students will be learning on each day. After that, participants are split into groups and go through the materials for that day on their own with helpers are on hand to answer questions. At the end of each day, all reconvene for a joint Q&A session, feedback and wrap-up. In addition to the section intros on each day, there is a course introduction and motivation on the first day of the workshop to set the overall scene and expectations.
A workshop kicks off with everyone together at the start of each day. One of course leads/helpers provides workshop
introduction and motivation to paint the bigger picture and set the scene for the whole workshop. In addition, a short
intro to the section topics is provided on each day, to explain what the students will be learning and doing on that
particular day. After that, participants are split into groups and go through the materials for that day on their own with
helpers on hand. At the end of each section, all reconvene for a joint Q&A session,
feedback and wrap-up. If participants have not finished all exercises for a section, they are asked to finish them off
before the next section starts to make sure everyone is in sync as much as possible and are working on similar things
(though students will inevitably cover the material at different speeds). This synchronisation becomes particularly
important for later workshop stages when students start with group exercises.

### Helpers Roles and Responsibilities
At the workshop, everyone in the traning team is a helper. You may have more experienced helpers delivering introductions to the workshop and sections. Contact the course authors for intro slides you can reuse.

Roles and responsibilities of helpers include:
- Being familiar with the material
- Facilitating groups/breakout rooms and helping people going through the material
- Taking notes on what works well and what not - throughout the workshop - from your perspective and perspectives of students:
- Taking notes on what works well and what not - throughout the workshop - from their individual perspective and perspectives of students:
- Collecting general feelings and comments
- Your thoughts as potential student and instructor
- Their thoughts as a potential student and instructor
- Noting mistakes, inconsistencies and learning obstacles in the materials
- Recording issues or doing PRs in the lesson repository during or after of the workshop
- Helping students get through the material but also being ready answer questions on applying the material in learners’ domains, if possible

### Group Exercises
TODO
TODO: advice on how best to sync and organised group work

{% include links.md %}

0 comments on commit 4d305c8

Please sign in to comment.