UpperLevel HFOSS Course, CNU, Lambert
(Difference between revisions)
(→0. Overview) |
|||
Line 13: | Line 13: | ||
|- | |- | ||
! style="text-align:right;"| Student Characteristics | ! style="text-align:right;"| Student Characteristics | ||
− | | ''Majors in Computer Science'' | + | | ''Majors in Computer Science. Class has 25-35 students'' |
|- | |- | ||
! style="text-align:right;"| Prerequisites | ! style="text-align:right;"| Prerequisites |
Revision as of 19:08, 16 August 2016
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. Class has 25-35 students |
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
3. Course Outline
The course will be divided into three parts. In the first, students will learn common languages and frameworks. In the second part, students will install and examine an HFOSS project as a class. In the third, students will choose their own project, follow the communication channels, install it on their machine, and track an issue.
- 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 Python program (or Java if students have had Python)
- 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
- This course has not been taught yet.
5. Moving Forward
N/A
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.