rostools / cog-flow-intro

:gear: Collaboration with Git and GitHub: A gentle introduction to a team-based collaborative workflow using Git and GitHub.
https://cog-flow-intro.rostools.org
MIT License
1 stars 0 forks source link

Brainstorm and create draft of the course learning outcome and objectives #4

Open lwjohnst86 opened 1 week ago

lwjohnst86 commented 1 week ago

Outcome is something bigger ("I will travel to the moon"), while objectives are more concrete and shorter term that fulfil the outcome ("I will make a propulsion system to get into space", "I will make a pod to support life in space", etc).

Put into the sessions/syllabus.qmd file.

signekb commented 1 week ago

Outcome:

Objectives:

signekb commented 1 week ago

Feedback:

signekb commented 1 week ago

@lwjohnst86 Here's a revised version of the learning outcome and objectives:

Course learning outcome:

Be able to:

Objectives:

Be able to:

I'm thinking that the parentheses can be removed if we want to avoid jargon completely. They're just there for clarity/for us right now.

EDIT: I guess the "be able to" can also be removed.

lwjohnst86 commented 3 days ago

Great starting point!! Here's an expansion on those, refining them to be clearer on the outcome and expectations.

Learning outcome:

  1. Describe some core features of effective team-based, collaborative workflows and identify the components that make these workflows effective compared to other workflows. Then use a set of tools and approaches that strongly support effective collaboration.

Learning objectives:

  1. Explain what humans as a group need psychologically and organizationally in order to work well together as a team. (this is to remove thoughts people have that "this doesn't work for me, I work best in chaos", to emphasize, it isn't about individuals, it's about the group)
  2. Discuss the different ways people work together as a team and identify how some ways work better than others for doing effective teamwork.
  3. Describe how the widely used Git and GitHub are used for collaboration and explain their biggest strengths (and weaknesses) over alternatives, as well as review the basics of using Git and GitHub.
  4. Setup a project on GitHub (called a repository) and apply some key settings to improve collaboration and teamwork.
  5. Differentiate between contributor and reviewer/admin roles in a team and why they should be dynamic and explicit.
  6. Create and use a task list (called issues) to assign team members to tasks that they are responsible for.
  7. Apply a contributor workflow of selecting an issue to work on, creating an isolated section of a repository (called branches), making small and distinct changes to files (called atomic commits) with clear messages on why or what was changed, and contributing those changes into the main branch of a repository in small and distinct steps (called pull requests).
  8. Apply a reviewer/admin workflow of reviewing a pull request with changes, giving suggestions and feedback, and identifying how (and if) the changes should be merged back into the main branch of a repository.

We'll probably need to include a definition of collaboration and teamwork and teams somewhere.