For Faculty

Practicum Course Development

Here you will find resources and links for curriculum development, particularly in the creation of practicum courses. All materials here are purely suggestions, and we recommend using anything here as a framework to develop the course which works best for you and your community partner.

Example Syllabus:

  1. For instructors
  2. Course Information
    • Instructor Information
    • Course Description
    • Prerequisites
  3. Course Structure
  4. Sprints
  5. Team Roles
  6. Events
  7. Short-Cycle Scrum
  8. Sprint Review
  9. Sprint Retrospective
  10. Schedule
    • Pre-Sprint. Ethics and Collaboration
    • Week 1. Ethics, Justice, and Impact
    • Week 2. Collaborative Data Science
    • Sprint 1. Projects and Relationships
    • Week 3. Our Project(s)
    • Week 4. Designing a Relationship
    • Sprint 2. Data and Tools
    • Week 5. The Data Itself
    • Week 6. Opening Up the Toolkit
    • Sprint 3. Evaluation and Diving Deep
    • Week 7. Evaluation – Is This Working?
    • Week 8. Diving Deep
    • Sprint 4. The Final Push
    • Week 9. Beginning to End
    • Week 10. Visualization and Presentation
  11. Course Policies
  12. Grading Policy
  13. Attendance Policy

 

1.For instructors

This syllabus is meant as an example only, but can be freely adapted or reused as you see fit. Throughout in instances where multiple options are possible depending on the situation for your class, alternatives will be given in square brackets [].

2.Course Information

  • Instructor Information
  • Instructor: Name
  • Office: Location
  • Office Hours: Days and Times
  • E-mail: E-mail address

 

  • Course Description
  • Catalog Description
  • Prerequisites
  • Required Prerequisites

 

3. Course Structure

This course is a practicum course in which we will be spending a lot of time in class working in small groups on concrete projects. In the first two weeks we will engage in background reading and an assignment on ethics and collaboration in data science, and starting in the third week we will break into self-organizing teams targeting [projects from community partners / different components of our shared project / example case studies of real-world data science projects].

 

We will roughly be utilizing the Scrum as a methodology for the organization of these teams. Scrum is a framework for self-organizing team collaboration that is well-summarized in this 9-minute video, or this reference card. There is a deep body of literature and material on Scrum; for the purposes of this course we will get an introduction in week 2 and attempt to use basic Scrum principles throughout the course. You should feel empowered to use these and other resources you may find to decide on the organizational system and setup for your team that works best for you.

However, we will at a minimum plan to employ Scrum-style sprints, team roles and events. Here is a basic description:

 

4. Sprints

Each two-week period of the course will constitute a timebox for work. At the beginning of the two-week period, your team will reflect on the progress of the prior two weeks and make a realistic plan for what you would like to achieve in the next two weeks. The content of each sprint is explained in further detail in the course schedule below.

 

5. Team Roles

Scrum teams have one person assigned to each of at least the following three roles. These roles are not about deciding who will do what piece of the project, since everyone will work on it together, but rather who takes on responsibility to ensure a certain piece of the project is done or looked after. The essential Scrum roles include:

  • Project Owner: helps declare vision and priorities, re-prioritizes tasks on product backlog, final arbiter of project requirements questions (taking into account team feedback, of course)
  • Scrum Master: ensures Scrum is understood and followed, encourages healthy team environment, shields team from distractions and interference, helps resolve impediments, leads Scrum event meetings
  • Technical Lead: holds final ownership over how things are done, clarifies important details, plans technical trajectory of sprint

On teams of more than three students, these fundamental roles could be doubled, or additional roles could be added. Some possible additional roles in this context could be:

  • Communicator: takes the lead on relations with the instructor and/or community partner, asks questions and provides updates on progress
  • Timeliner: takes the lead on ensuring deadlines are met and promised goals are realistic to achieve in the time allotted
  • Notemaster: takes the lead on ensuring progress is sufficiently documented, whether this be meeting notes, code comments, or more formal progress reports
  • Arbitrator: takes the lead on reducing intragroup conflict by identifying possible misunderstandings and proactively seeking clarification

We will be splitting up into teams of 3-4 people per team. At the beginning of week 3, your first task will be to decide upon who will fill each of the essential roles, and whether you would like to add additional roles that you agree upon as a team.

 

6. Events

The Scrum framework proposes three distinct events taking place at different scales, which we adapt for our course setting.

 

7. Short-Cycle Scrum

In the traditional framework, this event is a daily 15-minute meeting – often conducted standing up to promote focus and remove distractions – in which each member of the team states what they did the previous day, what they plan to do today, and what (if anything) is holding them up. Your group can decide amongst yourselves what timeframe is reasonable, as daily meetings may be too frequent in this context. Regardless we ask that each group agree upon at least one very brief (15 minutes or less) weekly meeting of this sort outside of class time in between class sessions, perhaps by video conference.

 

8. Sprint Review

At the end of each sprint, your team will meet with [the community partner you are working with / your instructor] to share what has been achieved and receive feedback. Part of your team’s work is to prepare for this meeting, though this preparation can be scrappy and does not have to be extremely polished – the goal is communicating information.

9. Sprint Retrospective

After the sprint review and/or at the start of the next sprint (so, in our case, at the beginning of time allocated for group work on weeks 3, 5, 7, and 9), the sprint retrospective is a team-internal meeting in which your team will discuss progress in light of the recent sprint review and establish new goals for the next sprint. This should include feasibility analysis, such that items incomplete but left over from the prior sprint must be explicitly addressed for whether they should be re-included or removed. The purpose of this meeting is for you to establish, as a team, well-defined goals that you expect are actually possible to achieve in the timeframe of the next sprint.

 

10. Schedule

Pre-Sprint. Ethics and Collaboration

Week 1. Ethics, Justice, and Impact

Here we kick off the course by orienting towards critical approaches to data science.

Before Class

Homework / Assignment

  • Write a short (< 250 words) response post on our shared class forum, and respond to one other classmate’s post.

 

Week 2. Collaborative Data Science

Before Class

Homework / Assignment

 

Sprint 1. Projects and Relationships

Week 3. Our Project(s)

The week I will present the projects we will be working on this quarter, and we will split into teams to begin our project-based work.

Before Class

Homework / Assignment

  • [background reading targeted towards the project in particular]
  • Set up team Trello Kanban and GitHub Project
    • Teams set up Trello Kanban – Scrum Manager takes lead, organizes structure, adds items as they are discussed
    • Teams set up project GitHub repository – Technical Lead takes lead, recommended to use Cookiecutter (https://cookiecutter.readthedocs.io/)

 

Week 4. Designing a Relationship

How do we think about interacting with a community partner? In this week we work towards a first meeting with the partner in which questions on the project are clarified, analyses and design are agreed upon, and scoping is collaboratively established.

Before Class

Homework / Assignment

  • Sprint 1 Review
    • Prepare for and conduct first meeting with [community partner / instructor],

Sprint 2. Data and Tools

 

Week 5. The Data Itself

In this week we will consolidate information from our first sprint review and get to work on preprocessing and data intake.

Before Class

Homework / Assignment

  • Work towards Sprint 2 goals and completion.

 

Week 6. Opening Up the Toolkit

In this week we reflect on the technical tools we will need to use and whether any gaps remain.

Before Class

Homework / Assignment

  • Sprint 2 Review
    • Prepare for a meeting with the community partner to share progress that has been made thus far, identify roadblocks, and confirm ongoing alignment with community partner goals.

Sprint 3. Evaluation and Diving Deep

 

Week 7. Evaluation – Is This Working?

Are we on the right track? This week, and a new sprint, begins with a focus on whether the existing team processes are proving effective or have to be modified for the remaining time.

Classroom Activities

  • Sprint 2 Retrospective / Sprint 3 Planning
    • Follow up on Sprint 2 Review to reset the team and plan for a new sprint. Hopefully much of the data cleanliness and project organization has been successfully established at this point, so this new sprint targets goals pushing towards concrete outcomes desired by the community partner.
  • Team check-in: project trajectory
    • Led by Project Owner with the goal of reflecting on project trajectory to this point. Is what we’re on track to build actually achieving the goals of the partner? Does anything need to pivot in the remaining time?
  • Full-class check-in
    • Groups collectively share with the class brief (~5 min) updates on what they are building, their process so far, and any sticking points for which they could use external guidance.

Homework / Assignment

  • Work towards Sprint 3 goals and completion.

Week 8. Diving Deep

In this week, a focus can be on achieving and maintaining team flow – removing obstacles to deep engagement and pushing the project forward.

Textual Materials

Classroom Activities

  • None explicit, allow teams to be self-organizing and ask for what they may need.

Homework / Assignment

  • Sprint 3 Review
    • Teams continue sprint and prepare for a meeting with (or email update to) the community partner to share progress that has been made thus far, identify roadblocks, and confirm ongoing alignment with community partner goals.

Sprint 4. The Final Push

 

Week 9. Beginning to End

In this week teams prepare their final sprint and consider key issues in closing out projects.

Classroom Activities

  • Sprint 3 Retrospective / Sprint 4 Planning
    • Follow up on Sprint 3 Review to reset the team and plan for a last sprint. The core goal for the final sprint is to use the work thus far achieved to finalize as best as possible a real deliverable.
    • Key focuses for instructors to emphasize:
      • This sprint must be as realistic in its goals as possible, since it represents the final chance to actually deliver some value to the partner
      • The essential role of documentation-related tasks in producing an end result with longevity, whether carried forward by our team, another future data science team, or the partner themselves

Homework / Assignment

  • Work towards Sprint 4 goals and completion.

 

Week 10. Visualization and Presentation

In this week teams close out projects by preparing presentations, visualizations, and documentation explaining what they have achieved.

Textual Materials

Classroom Activities

  • Work time supported by instructor and teaching team to close out projects.

Homework / Assignment

  • Sprint 4 Review / Final Presentations
    • Teams prepare for a final presentation to the partner in which they show what has been done and hand off final deliverables: code, visualizations, processed data, or whatever the project called for.

 

11. Course Policies

12. Grading Policy

13. Attendance Policy