Link Search Menu Expand Document

Sample Curriculum

Tasks for Instructors

1. Identify suitable OSS

Filter through various code repositories (ex. GitHub, GitLab, SourceForge) and find software that is not too complex in an application domain interesting to students. You can also encourage students to explore different OSS online.

  • Which language(s) should the software be written in?
  • Which OSS demonstrates good (or bad) software engineering and coding practices?
  • What can students learn about the applicability of CS concepts in the real world?

2. Identify relevant code snippets

Determine which components of selected OSS can help students learn course materials and demonstrate how they work with the rest of the code to solve practical problems.

3. Introduce the selected OSS

Discuss the purpose, features, functionalities, and structure of the software with students. Present the chosen code snippet and describe what kinds of CS concepts are being utilized. Analyze coding styles and design choices demonstrated by the example.

Tasks for Students

1. Reflect on the code snippets

Study how the provided OSS example uses classroom concepts and reflect on lessons learned.

  • What did you learn about software development practices after reviewing sample code?
  • What makes good software? What makes good open source software?