UpperLevel HFOSS Course, CNU, Lambert

(Difference between revisions)
Jump to: navigation, search
(1. Learning Objectives)
(3. Course Outline)
Line 39: Line 39:
  
 
== 3. Course Outline ==
 
== 3. Course Outline ==
* ''major topics, events, milestones''
+
Students will:
* ''learning activities that can be adopted or adapted''
+
# Part 1:
* ''new learning activities that should or could be developed''
+
#* write a Javascript client side program
* ''include links where appropriate''
+
#* write a more complicated web page using the Angular JS framework, ideally using a model-view-controller model.
* ''reading assignments and supporting materials''
+
#* write and demonstrate a PHP program on their own LAMP stack
* ''or link to course website''
+
#* 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 ==
 
== 4. Notes to Instructor ==

Revision as of 14:24, 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
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:

  1. 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.
  2. 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
  3. 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

CC license.png

Materials linked to by this page may be governed by other licenses.

Personal tools
Namespaces
Variants
Actions
Events
Learning Resources
HFOSS Projects
Evaluation
Navigation
Toolbox