UpperLevel HFOSS Course, CNU, Lambert
From Foss2Serve
Contents |
0. Overview
Course Name | Programming for HFOSS |
---|---|
Course Overview | Junior/Senior programming course for HFOSS, upper level CS elective |
Instructor Contact Info | Lynn Lambert at Christopher Newport University |
Student Characteristics | Majors in Computer Science |
Prerequisites | This assumes that students have had through Data Structures and, ideally, a Software Engineering Course. |
Infrastructure | This is a twice a week course with approximately one day for lectures and new material and one day for coding in class, and working in small groups |
Offerings | Will be offered. work in progress as of Fall 2016 |
1. Learning Objectives
The student will be able to:
- read the code in many HFOSS projects
- The student will understand some of the current languages and frameworks'
- install and run an HFOSS project on their own machine
- understand how FOSS and HFOSS projects are maintained (and know how to use git, version control, issue tracking, and communcation channels)
2. Methods of Assessment
- what will students do in this course, and how will it be evaluated
- Exams, assignments, projects, etc.
- should be tied to learning objectives
3. Course Outline
Students will:
- Part 1:
- write a Javascript client side program
- write a more complicated web page using the Angular JS framework, ideally using a model-view-controller model.
- write and demonstrate a PHP program on their own LAMP stack
- write a Python2 and a Python3 program.
- use github as a version control for their programs.
- Part2:
- implement Ushahidi, OpenMRS or Mifos (for example) as a class on their own machine
- follow the communication channels (gitter or IRC) for the class project
- find an issue, find it and fix it in code, follow the process of submitting a fix
- Part3:
- Find a project and demonstrate it as installed on their machine.
- Demonstrate that they found and followed appropriate communication channels, issue tracker, and a bug submission.
- Keep a blog about their progress, ideally being able to find and contribute to a bug.
4. Notes to Instructor
- Tips, suggestions, lessons learned (warnings)...
5. Moving Forward
- what next steps are desirable or possible for this course
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License
Materials linked to by this page may be governed by other licenses.