Link Search Menu Expand Document

Sample Curriculum

Tasks for Instructors

1. Identify host platform

You can use GitHub Classroom, GitLab, or similar platforms so that students can share and maintain their projects online.

2. Create a rubric for student projects

Define project requirements so that students can illustrate CS2 concepts with creative software.

  • Which CS principles must be demonstrated in student applications?

3. Support students throughout the project

Developing software from scratch can be overwhelming for students. Provide resources to help them succeed.

  • Which resources and tutorials can help students build practical applications?
  • What kind of checkpoints can be assigned to make sure students are making progress?

Tasks for Students

1. Design project

Brainstorm project ideas and formulate an outline of your application. Create a design document to discuss how you will utilize specific CS2 concepts within your code.

  • What kind of applications can you build by applying CS2 knowledge?
  • What will the software architecture look like?

2. Develop software

Build your application and write tests to validate each feature or component. Write user manuals and documentation to help others install and make contributions to your application.

  • How can users install and utilize the plug-in?
  • How do the different components of your code work together?

3. Explore other students’ projects

Review classmates’ software and discover various applications of CS principles. Analyze the features, functionalities, and structures of their projects.

  • What is easy or difficult to understand and use about the software?
  • How can it be improved?

4. Contribute to classmates’ projects

Identify bugs and brainstorm new features that can be added to improve other projects. Just like OSS developers, make contributions and review software.

  • What kind of modifications will you make?
  • How will the rest of the software be affected by your changes?
  • What kind of comments or documentation must be added/modified?
  • What kind of tests can you write?