UpperLevel HFOSS Course, CNU, Lambert

From Foss2Serve
(Difference between revisions)
Jump to: navigation, search
(Describes a junior/senior programming course)
m
 
(16 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== 0. Overview ==
+
=== Overview ===
  
{| border="1"
+
{{Course Overview
|-
+
|course=
! style="text-align:right;"| Course Name
+
Programming for HFOSS
| ''course name (include course number if a specific course at an institution)''
+
|institution=
|-
+
Christopher Newport University
! style="text-align:right;"| Course Overview
+
|instructors=
| ''course overview - description, intro/intermediate/advanced, required,elective''
+
Lynn Lambert
|-
+
|offerings=
! style="text-align:right;"| Instructor Contact Info
+
Will be offered. work in progress as of Fall 2016
| ''(omit for general course categories - e.g. CS1,CS2)''
+
|overview=
|-
+
Junior/Senior programming course for HFOSS, upper level CS elective
! style="text-align:right;"| Student Characteristics
+
|students=
| ''typical class size, student background, etc (omit for general course categories - e.g. CS1,CS2)''
+
Majors in Computer Science. Class has 25-35 students
|-
+
|prerequisites=
! style="text-align:right;"| Prerequisites
+
This assumes that students have had Data Structures and, ideally, a Software Engineering Course.
| ''Knowledge required to be successful in this 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.
! style="text-align:right;"| Infrastructure
+
}}
| ''classroom, technology, support''
+
|-
+
! style="text-align:right;"| Offerings
+
| ''institution, instructor, semester''
+
|-
+
|}
+
  
== 1. Learning Objectives ==
+
=== Learning Objectives ===
* ''objectives & prerequisites should be active, student-centered, specific, and measurable''
+
** ''the student will be able to...''
+
* ''for the entire course, and/or for FOSS-specific parts of the course''
+
* ''might include content & process skills''
+
* ''might consider all levels of Bloom's taxonomy''
+
  
== 2. Methods of Assessment ==
+
The student will be able to:
* ''what will students do in this course, and how will it be evaluated''
+
* read the code in many HFOSS projects
** ''Exams, assignments, projects, etc.''
+
** The student will understand some of the current languages and framework
* ''should be tied to learning objectives''
+
* 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 communication channels)
  
== 3. Course Outline ==
+
=== Methods of Assessment ===
* ''major topics, events, milestones''
+
* ''learning activities that can be adopted or adapted''
+
* ''new learning activities that should or could be developed''
+
* ''include links where appropriate''
+
* ''reading assignments and supporting materials''
+
* ''or link to course website''
+
  
== 4. Notes to Instructor ==
+
=== Course Outline ===
* ''Tips, suggestions, lessons learned (warnings)...''
+
  
== 5. Moving Forward ==
+
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.
* ''what next steps are desirable or possible for this course''
+
# 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.
  
--------------------
+
=== Notes to Instructor ===
This work is licensed under a
+
[http://creativecommons.org/licenses/by-sa/4.0/ Creative Commons Attribution-ShareAlike 4.0 International License]
+
  
[[File:CC_license.png]]
+
* This course has not been taught yet.
 +
 
 +
=== Moving Forward ===
 +
 
 +
N/A
 +
 
 +
--------------------
 +
{{License CC BY SA}}
  
 
Materials linked to by this page may be governed by other licenses.
 
Materials linked to by this page may be governed by other licenses.
  
[[Category: Course]]
+
[[Category:Courses]]
 +
[[Category:(H)FOSS Course]]

Latest revision as of 17:12, 27 February 2017

Contents

Overview

Course Programming for HFOSS
Institution Christopher Newport University
Instructor(s) Lynn Lambert
Term Will be offered. work in progress as of Fall 2016
Course Overview Junior/Senior programming course for HFOSS, upper level CS elective
Course Length {{{courselength}}}
Student Characteristics Majors in Computer Science. Class has 25-35 students
Prerequisites This assumes that students have had 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.


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 framework
  • 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 communication channels)

Methods of Assessment

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.

  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 Python program (or Java if students have had Python)
    • 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.

Notes to Instructor

  • This course has not been taught yet.

Moving Forward

N/A


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