Buffardi - Graduate SE (Proposal)
The following proposal is for developing materials for a software engineering course within a graduate computer science program.
Contents |
Summary
The existing graduate-level software engineering course will be redesigned to immerse students in the open source community. The course materials designed will include in-class active learning activities as well as assignments for students to contribute to existing open source projects. Course syllabus and materials will be maintained as free and open source.
Target Venue
The course materials will be first implemented at California State University, Chico for CSCI 630 Software Engineering in the Spring 2016 term. The course syllabus (as shown in its GitHub repository is:
In an advanced study of software engineering, students will refine skills including version control, software testing, and evaluating software quality using modern technologies. Students will collaborate in a distributed software development environment and establish online portfolios by contributing to open source projects and interacting with popular software engineering communities.
Target Student Audience
CSCI 630 is a required course for a Masters in Computer Science. It requires completion of an undergraduate software engineering. Expected enrollment is 25-35.
Students are expected to have mature programming experience and embrace being "productively lost" learning new tools and technologies as self-starters.
Learning Activities
Activities will concentrate on the following areas and skills:
- Version control
- Collaboration and community tools
- Testing
- Software quality metrics
Example activities include:
- Reviewing git basics
- Advanced git commands
- Managing online repositories on GitHub
- Exploring FOSS projects
- Periodic blog of project contributions and reflections
- Contributing to communities for problem solving with StackOverflow
- Unit testing basics with cxxUnit
- Evaluating testing with code coverage
- Interpreting software metrics
While students will contribute to FOSS projects, some in-class assignments and instructor feedback will not be public for FERPA compliance.
Evaluation
Evaluation will include comparing pre- and post-term surveys and will compare students' experiences between HFOSS, traditional FOSS, and Localized FOSS projects. I have already established initial research on Localized FOSS -- collaborations between students and local software development professionals -- and have published (see Localized open source collaboration in software engineering education) and am continuing research on undergraduates' experiences. Evaluation of this course will build upon previous research as well as continue in future offerings of the course.
Schedule
During the Spring 2016 term (late January - May 2016), the course material will be developed and released via Chico State's GitHub organization.
Evaluation and research will target computer science education conferences, including SIGCSE Symposium, ITiCSE, or ICER during the 2016-2017 academic year.
Revisions and follow-up implementations (with accompanying research) will continue Spring 2017.
Budget
Stipend for materials development, Spring 2016: $2000
(Upon publication) Conference registration and travel: $1000