Capstone, Dickinson, Braught

From TeachingOpenSource

A Course is an actual academic course that involves HFOSS, typically by using Pathways and Learning Activities.


Course Computer Science Senior Seminar
Institution Dickinson College
Instructor(s) Grant Braught, Dickinson College
Term First offered as COMP491/492 in Academic Year 2016-17 at Dickinson College. Revised for the 2017-18, and 2018-19 Academic Years.
Course Overview A two-semester required senior capstone including perspective on and experience with H/FOSS projects. In the first semester students complete readings, exercises and activities that familiarize them with H/F/OSS philosophy/community/tools. They complete exercises to help them select an H/FOSS project in which to participate and form teams. They then begin a series of exercises that include: Installing the project as a user; Installing the project as a developer; Rebuilding the project from source; Running the test suite; Verifying bugs from the issue tracker (Bug Gardening); and Fixing bugs. During the second semester students continue work on their selected H/F/OSS project fixing bugs and proposing additional contributions to the project that have value both to them and their H/FOSS community. Students also complete readings on contemporary and ethical issues in computing and participate in class discussions on these topics.
Course Length Two 14-week semesters.
Student Characteristics Typically offered to 10-20 senior computer science majors per year.
Prerequisites This course was designed for use in the final year of a Computer Science major at a small liberal arts college. Students having completed the first three years of an undergraduate CS curriculum should be well prepared for this course. Our students typically have completed the core courses and are competent in: Object Oriented Programming (2 courses in Java), Data Structures (in Java), Analysis of Algorithms, Programming Languages (including C/C++, Python, Scheme, Prolog), Organization and Architecture. They may also have completed additional electives (e.g. Operating Systems, Networking, AI, Databases) and other core courses (e.g. Theory of Computation).
Infrastructure The course outlined below assumes 28 75-minute course meetings (2 per week) per semester, plus a 3-hour final exam period. Students are expected to average between 8 and 12 hours of work outside of class per week.

Many of the activities and assignments rely on the use of particular technologies. These can be substituted with equivalent technologies but are currently:

  • Virtual Box
  • Ubuntu 16.04
  • Slack
  • Moodle (Wiki/Forums)

Complete Course Materials and User Guide

Complete details of this course including all materials, a guide to use and adaptation of the materials, analysis of student survey data and a discussion of ongoing improvements can be found in the following GitHub Repository:

COMP491/492 at Dickinson College

For this blank format: This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License

CC BY SA.png .