Difference between revisions of "Learning Resources"

From TeachingOpenSource
(36 intermediate revisions by 2 users not shown)
Line 1: Line 1:
=== Benefits to Student Involvement in Open Source ===
__NOTOC__ 
Students:
<!-- _NOTOC_  keeps the table of contents from showing on this page -->
* Are motivated to learn!
{{DISPLAYTITLE:<span style="position: absolute; clip: rect(1px 1px 1px 1px); clip: rect(1px, 1px, 1px, 1px); >{{FULLPAGENAME}}</span>}}
* Gain a professional network
* Get experience with a real, complex code base
* Understand how computing works in the real world
* Learn professional skills such as communication, collaboration and critical thinking
* Learn about open source software and culture


Open source projects:
<p style="width: 100%; font-style: italic; font-size:185%; color: brown; background-color:gainsboro; text-align:left; line-height:1.4;">
* Gain new contributors
Looking for learning materials you can use in your course?
* Gain relationships with academia
</p>
* Expand the use of open source
<br />
 
<div class="container">
=== Getting Started ===
<div class="row">
The TeachingOpenSource community is here to help you get started supporting student participation in open source.
<div class="col-md-4">
 
[[File:POSSE_logo_avatar_CMYK.jpg|125x75px|center|alt=Picture of owl avatar|link=:Category:Learning_Activity]]
#Join the mailing list - The TeachingOpenSource mailing list is the center of our community’s collaboration, and it’s where most of our discussion about Open Source educational models, support and funding schemes, community relationships, and other issues takes place.
[[:Category:Learning_Activity | <h3>Learning Activities</h3> Find activities that can be used in courses. Learn more....]]
## To join, change your subscription options, or unsubscribe: [[tos@teachingopensource.org mailing list information page|http://lists.teachingopensource.org/mailman/listinfo/tos]].
</div>
## To see previous postings to the list: [[tos@teachingopensource.org archives|http://lists.teachingopensource.org/pipermail/tos/]]
<div class="col-md-4">
# Introduce yourself - Once you’ve joined the mailing list, please send an email introducing yourself, what you do, what you are interested in, how you can help TeachingOpenSource, and how we can help you.
[[File:POSSE_logo_avatar_CMYK.jpg|125x75px|center|alt=Picture of owl avatar|link=:Category:Learning_Modules]]
# Explore existing Learning Materials <link to this>  
[[:Category:Learning_Modules | <h3>Learning Modules</h3>
# Participate in events <link to events>
Explore how a subset of learning activities can be combined into a module. Learn more....]]
 
</div>
=== Learning Materials ===
<div class="col-md-4">
This is a collection of learning materials and full courses
[[File:POSSE_logo_avatar_CMYK.jpg|125x75px|center|alt=Picture of owl avatar|link=:Category:Courses]]
<Link to learning materials.>
[[:Category:Courses | <h3>Open Source Courses</h3>
 
Explore complete courses. Learn more....]]
=== Instructor Success Stories ===
</div>
=== Models for student learning within H/FOSS ===
</div>
There are multiple models for student  learning within Free and Open Source Software (FOSS) and Humanitarian FOSS (HFOSS) communities within an academic environment. These models range from introductory exercises to full courses.
</div>
==== Incorporate Activities into Existing Course ====
<br />
 
<p style="width: 100%; font-style: italic; font-size:185%; color: brown; background-color:gainsboro; text-align:left; line-height:1.4;">
Course length: One semester or term
What have others done?
 
</p>
Student background: Varies from novice to advanced
<br />
 
<div class="container">
Instructor background: Varies from novice to advanced
<div class="row">
 
<div class="col-md-4">
Approach: Instructors include one or more learning materials into an existing course. Some example learning activities include:
[[File:POSSE_logo_avatar_CMYK.jpg|125x75px|center|alt=Picture of owl avatar|link=:Instructor_Experiences]] 
* Create a blog and reflect on learning as part of a CS0 or CS1 course
[[:Instructor_Experiences | <h3>Instructor Success Stories</h3> Faculty share their experiences incorporating HFOSS in their courses.. Learn more....]]
* Write a paper on the history of a FOSS person
</div>
* Do a User Interface evalatuion of an open source project
<div class="col-md-4">
* Do a security evaluation of an open source project
[[File:POSSE_logo_avatar_CMYK.jpg|125x75px|center|alt=Picture of owl avatar|link=:Publications]]
 
[[:Publications | <h3>Research and Scholarship</h3>
==== Introductory Course ====
Explore publications and other artifacts related to teaching open source. Learn more....]]
 
</div>
Course length: One semester or term
<div class="col-md-4">
 
[[File:POSSE_logo_avatar_CMYK.jpg|125x75px|center|alt=Picture of owl avatar|link=:Models_For_Learning]]
Student background: Students are assumed to be freshman or sophomores and may be non-majors. Students are assumed to enter the course with little or no computing background.
[[:Models_For_Learning | <h3>Models for student learning within H/FOSS</h3>
 
There are multiple models for student  learning within Free and Open Source Software (FOSS) and Humanitarian FOSS (HFOSS) communities within an academic environment. These models range from introductory exercises to full courses. Learn more....]]
Instructor background: Instructor may have little or much software engineering experience.
</div>
 
</div>
Approach: The goal of this approach is two-fold: To familiarize students with the open source software world and to introduce students to basic programming concepts. Topics covered include:
</div>
* The Open Source movement
* History and background of OSS
* The humanitarian potential of OSS
* Sequential programming
* Decisions and loops in programming
* Functions and arrays
* Use of source code control systems and databases
 
This course is intended to engage student interest by exposing students to humanitarian OSS. Readings include articles like “The Cathedral and the Bazaar” and “The GNU Manifesto”. Emphasis is on understanding the role of humanitarian OSS while exposing students to introductory computing concepts.
 
Comments: The challenge of this approach is finding the balance between OSS and computing concepts.
 
==== Single Software Engineering Course (Novice) ====
 
Course length: One semester or term.
 
Student background: Students are assumed to be juniors or seniors in a computer science program. Students are assumed to have taken CS1, CS2 and a data structures course.
 
Instructor background: Instructor is a computer science professor who may not be familiar with software engineering.
 
Approach: Employ two iterations of a requirements-design-implement-test cycle within the semester. The first cycle uses a known and well-understood project, not necessarily open source. The second cycle has students make a small modification to a humanitarian FOSS project. . A small set of deliverables (requirements document, design document, implementation, test documentation) are used and no reviews are used. Tools such as source code management, IDEs, and databases are used. Comments: The use of two cycles allows both the instructor and the student to become familiar with a pared-down software lifecycle. The idea is that students will learn the lifecycle and expectations for deliverables during the first cycle, ameliorating the learning curve when they work on the humanitarian FOSS project for the second iteration of the lifecycle.
 
==== Single Software Engineering Course (Experienced) ====
 
Course length: One semester or term.
 
Student background: Students are assumed to be juniors or seniors in a computer science program. Students are assumed to have taken CS1, CS2 and a data structures course.
 
Instructor background: Instructor has software engineering experience and has taught software engineering courses in the past.
 
Approach: Employ one iteration of a launch-requirements-review-design-review-implement-test-document cycle within the semester. Tools such as source code management, IDEs, and databases are used.
 
Comments: As instructors become more experienced, a somewhat more document-heavy process may be employed. This approach uses a more complete set of deliverables than the Novice approach and incorporates reviews as well.
 
==== Capstone Process ====
 
Course length: Two or three semesters or terms.
 
Student background: Students are assumed to be seniors with extensive background in software development.
 
Instructor background: Instructor has software engineering background and has taught software engineering courses in the past.
 
Approach: Employ one or more iterations of a launch-requirements-review-design-review-implement-test-document cycle within or across the terms or semesters. Tools such as source code management, IDEs, and databases are used. Comments: The use of multiple terms or semesters combined with multiple iterations allows students to become very familiar with the project. This approach also has the potential to support enduring relationships between students and humanitarian FOSS organizations.
 
=== How to start contributing to or using Open Source Software ===

Revision as of 19:53, 13 January 2023