Stage 2 Activities/2.3 ParticipantResponses

From Foss2Serve
Jump to: navigation, search

B.4 FOSS in Courses Planning 1

One of the things I was interested in doing was to use open source as a way to introduce first-semester freshmen (in a seminar type course) to the broader world of software development (as opposed to learning just the basics of syntax). It has been my experience that often our students don't see the forest for the trees. To that end I think the exercises I've been going through as an educator would be useful for students. E.G. # of contributors, lines of code, various languages used on a project, etc....

I would like to incorporate many of the activities from this course in my software engineering course. In the Fall, I already have 40 students and 2 on the wait list. I may have all students learn about FOSS. I think one of the best ways to begin is to work on documentation and possibly bug fixes and testing. That is how you mostly start (at least that is how I started) in the real world. What I need to work on is establishing real milestones that are measurable for students. It is certainly an interesting and valuable learning experience for everyone.

I have several ideas where I could include FOSS.

  • In "CSC 120 - Survey of Computing" course, I plan to:
    • give our students an introduction to FOSS.
    • use for an overview of different languages used in Software Development. In particular, students should be able to see how different Software Categories will use certain programming languages more often than others.
    • use for an overview of particular projects (such as Chromium (Google Chrome), and Mozilla Firefox). There are several interesting metrics to show students, in particular: Lines of Code, Programming Languages used, recent activity on the project
  • In "CSC 150 - Computer Science I" course, I plan to:
    • Look at several projects' source code to:
    • identify "bad" vs "good" coding style, including code layout styles, variable names, etc.
    • identify the importance of writing good comments
    • use the available debugging tools to study an unfamiliar code
  • In "CSC 250 - Computer Science II" course, I plan to:
    • Look at several projects' source code to:
    • identify data structures used in some source files
    • develop UML diagrams for a specific project
  • Ideally, I should get some students involved into 1-year-long projects where students can:
    • study one project
    • start with including more comments and updating existing test cases
    • get to fix existing bugs
    • develop new source code/adding new features
    • stay involved with the project even after the end of the 1-semester-long project.

I would like to create activities for my secure software engineering and computer security classes. Code Review: Perform a code review of a component of OpenMRS with the assistance of a static analysis tool to find vulnerabilities. Use the Code Review documentation to guide the process. Penetration Test: Setup OpenMRS on a VM. Students work in groups using open source web application security tools like w3af to identify potential vulnerabilities in OpenMRS.

C.4 FOSS in Courses Planning 2

  1. In-class activity for first semester freshmen LOs Gain an appreciation for the complexity of software systems This is a task where I would need to find a suitable project (i.e. one that has enough "stuff") and have the students, in groups, explore what is out there.
  2. Project - ongoing student research I have an idea for a long term project that I'm beginning to think might be a really good HFOSS (humanitarian free and open source software) project. The basic idea is that it's a geographically constrained social services locator based on the demographics and location of the user. I think the first thing I need to do is come up with a catchy acronym for the name of the project as that seems to be an important part of most FOSS projects.
Personal tools
Learning Resources
HFOSS Projects