Open Source Software Development Fall 2018, Hunter College, Stewart Weiss

(Difference between revisions)
Jump to: navigation, search
Line 8: Line 8:
 
{{Course Overview
 
{{Course Overview
 
|course=
 
|course=
''Open Source Software Development, http://www.compsci.hunter.cuny.edu/~sweiss/course_materials/csci132/csci132_f18.php''
+
''Open Source Software Development''
 
|institution=
 
|institution=
 
''Hunter College, CUNY, New York City''
 
''Hunter College, CUNY, New York City''
Line 38: Line 38:
  
 
=== Course Outline ===
 
=== Course Outline ===
 +
Refer to the course page at [ http://www.compsci.hunter.cuny.edu/~sweiss/course_materials/csci132/csci132_f18.php'] for the associated
 +
assignments and activities.
 
# Context and Overview
 
# Context and Overview
 
## Open-ness in general: open source, open data, open hardware, etc.
 
## Open-ness in general: open source, open data, open hardware, etc.

Revision as of 18:21, 13 January 2019

This page is under construction. For now the important information is the following link.

http://www.compsci.hunter.cuny.edu/~sweiss/course_materials/csci132/csci132_f18.php


Contents

Overview

Course Open Source Software Development
Institution Hunter College, CUNY, New York City
Instructor(s) Stewart Weiss, email: stewart.weiss@hunter.cuny.edu, http://www.compsci.hunter.cuny.edu/~sweiss
Term Fall 2018
Course Overview An elective course for students who want to learn how to contribute to open source software projects
Course Length 15-week term
Student Characteristics mostly upper juniors and seniors, small size classroom (holds 20)
Prerequisites A data structures course
Infrastructure Held in a conference room with each student bringing a laptop


Learning Objectives

  • the student will become a contributing member of a software development community and have documented evidence of their contribution; and
  • the student will document their efforts on this project by creating a blog that chronicles their work.


Assessment Methods

  • contributions (30%) such as pull requests that have been accepted, or those that were not accepted but, deserve to be treated as if they were accepted;
  • homework (30%) submitted in response to assignments that I post on the website or distribute in class;
  • participation (40%) including attending meetings, completing the weekly blog posts, and oral presentations made to the group


Course Outline

Refer to the course page at [ http://www.compsci.hunter.cuny.edu/~sweiss/course_materials/csci132/csci132_f18.php'] for the associated assignments and activities.

  1. Context and Overview
    1. Open-ness in general: open source, open data, open hardware, etc.
    2. History and background of open source software
    3. Open source culture and community
  2. Contributing to Projects
    1. Early and Easy Contributions
    • open wikis
    • open maps
    1. Types of contributions to software projects
    2. Ways of getting involved
  3. Tools and Technology
    1. Programming Tools and Technology
    • markdown, make, gdb, Unix shells
    1. Software engineeering tools required for group software projects
    • version control systems (e.g., git)
    • issue tracking
    • documentation tools (e.g., Doxygen)
    1. Software engineering tools specific to distributed group projects
    • communication tools
    • remote, distributed version control (GitHub)
    • online, web-based issue trackers
  4. Intellectual Property Rights and Licensing
    1. types of licenses
    2. licensing your own work
    3. avoiding plagiarism
  5. Project Evaluation and Studies
    • Evaluating the suitability of a project for the purpose of their contributing to it.
  6. Team Selection
  7. Project Selection/Assignment
    1. Getting involved in the community
    2. Setting up project development environment
    3. Picking some issues to work on
    4. Solving the issues and issuing pull requests
  8. Team Reports

Notes to Instructor

  • Tips, suggestions, lessons learned (warnings)...

Moving Forward

  • what next steps are desirable or possible for this course

For this blank format: This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License

CC license.png .

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