Scott Heggen is an Assistant Professor at Berea College. Scott's primary interests lie in mobile computing and CS education research. Scott also works closely with students through the Labor Program at Berea College, where students create software to improve processes on campus.
Intro IRC Activity - Stage 1, Part A
- How do people interact? - By asking and responding to questions posted to the chat
- What is the pattern of communication? Is it linear or branched? Formal or informal? One-to-many, one-to-one or a mix? Branched (not sure what the difference is, but I interpret it as a question is proposed, and a chain of responses occurs from that questions; multiple questions may be going at once), informal, one-to-many, generally
- Are there any terms that seem to have special meaning? Lots, and are typically proceeded by a #
- Can you make any other observations? One step away from SMS... context is often lost in translation, and confusion is bound to happen
Intro IRC Activity - Stage 1, Part B, #1
1. How many projects are there in this category?
Computer vision - 141 programs
2. How many different programming languages are used to write software in this category?
3. List the top four programming languages used to write programs in this category.
C++ Java C Python
4. Identify the meaning of each of the statuses below:
1. Inactive - It’s dead, Jim 2. Mature - Well developed, but not ready to go live 3. Production/Stable - Live, actively used 4. Beta - Live, but to a limited, external group 5. Alpha - Live, but to a limited, internal group 6. Pre-Alpha - Not live, but ready to go live 7. Planning - Not ready for production
5. Which projects are the most used? How do you know?
Production products, typically, because they have a bigger number of the downloads
6. Pick a project in your category. Answer the questions below:
1. What does it do? OpenCV provides computer vision algorithm libraries to those looking to do image/video analysis using state-of-the-art algorithms 2. What programming language is the project written in? C, C++, Java, and Python libraries 3. Who is likely to use the project? How do you know this? Researchers and Developers. It says so. 4. When was the most recent change made to the project? 09/16/2016 5. How active is the project? How can you tell? Very active, even books written around it 6. How many committers does the project have? 100’s 7. Would you use the project? Why or why not? Yes, and I have. It’s well-supported.
7. For the OpenMRS Core project, identify when the data in OpenHub was last analyzed and the last commit date. How much difference is there?
analyzed 1 month ago, commit 3 month. 2 months difference (3 - 1 = 2)
8. What is the main programming language used in OpenMRS Core?
9. How many lines of code does OpenMRS Core have?
10. Click on "User & Contributor Locations" (lower right side of screen). List some of the locations of the developers.
Took too long to load. I’m guessing a lot of places.
11. Go back to the main OpenMRS page. Click on the "Languages" link. How many languages is OpenMRS written in?
12. What language has the second highest number of lines of code?
13. Of the programming languages used in OpenMRS , which language the has the highest comment ratio?
14. What is the average number of contributors in the last 12 months?
15. Scroll down to the Top Contributors section. How long have the top three contributors been involved in the project?
6 yrs, 3yrs, 5yrs
16. Use the information on the project summary page to compute the 12-month average of commits. What is the average number of commits over the past 12 months?
Intro IRC Activity - Stage 1, Part B, #2
OpenMRS would not be a good fit for my course. The primary reason is it needs to be in Python, and needs to teach introductory (CS1) skills. The skill level of my students at this stage would detract from the learning objectives, not support them.
Intro IRC Activity - Stage 1, Part B, #4
I chose 11. Create an example: as a way in which my CSC 226 (CS1) course could utilize FOSS. In creating an example using a library, the students will learn about modules and libraries and how they are all related. This is particularly relevant because many of our students leave that course not understanding how imports work in Python, because of the abstraction of file paths.
Intro IRC Activity - Stage 1, Part C, Part 1, Part 1
- ID - Bug ID
- Sev - Severity level
- Pri - Priority level
- OS - Operating system
- Product - Affected product
- Status - Status of the fix
- Resolution - How the issue was resolved
- Describe how you discovered the definitions and how did you find the information from above? I used the advanced search to show the options and the Reports link
- Identify the order in which the bugs are initially displayed? Status
- What is the meaning of the shading of some bug reports? Assigned to someone or not?
- What is the meaning of the colors used when describing a bug (red, gray, black)? Importance level of the bug
- Identify when the bug was submitted. 2009-05-10
- Identify if there has been recent discussion about the bug? Not in the last 7 years
- Is the bug current? N0
- Is the bug assigned? To whom? Nope
- Describe what you would need to do to fix the bug. Small modification to the UI
Intro IRC Activity - Stage 1, Part C, Part 1, Part 2
- How many bug reports were opened in the last week? How many were closed? 420 reports opened and 310 reports closed
- What was the general trend last week? Were more bugs opened than closed or vice versa? More opened
- Who were the top three bug closers? Why is this important to know? Tim-Philipp Müller, Alexandre Franke, Matthew Waters. They are who you ask for help
- Who were the top three bug reporters? Are these the same as the top three bug closes? What is the overlap in these two lists? Sebastian Dröge, Piotr Drąg, vrishab. No. Some overlap
- Who are the top three contributors of patches? Philip Chimento, Piotr Drąg, Georges Basile Stavracas Neto
- Who are the top three reviewers of patches? What is the overlap between these lists and the bug closers and bug reporters? What is the overlap between patch contributors and patch reviewers? Sebastian Dröge (slomo), Cosimo Cecchi, Tim-Philipp Müller. Lots. Lots.
- Plot a line graph of the severity of bugs by component for Orca:
- What class were the majority of the bugs for braille? Normal
- What other reports can you generate? Lots
Intro IRC Activity - Stage 1, Part C, Part 3
- Identify some possible learning outcomes that should be fulfilled with the activities/task. Technical documentation, proper commenting, debugging, working with libraries/modules, working with large code bases, communicating complex ideas with simple examples.
- Describe any pre-requisite knowledge needed to complete the activity. This does not need to be a complete list. A full semester's worth of Python programming. This is a final project assignment.
- Estimate the time required for instructor prep, for student completion and elapsed calendar time. Are you going to have to synchronize your activity with the community or can the activity/topic be covered independent of the HFOSS community schedule. Independent, assigned a few weeks before the end of term, with ~3 weeks to work on it.
- Think about possible input required from the HFOSS community. How much input is required and what kind? Not a lot, though they will likely need help getting started.
- If the result of the activity is contributed back to the HFOSS project, describe the contribution and its usefulness. The community will be provided with documentation, and tangible examples about how to use their software, which will provide the user base with much-needed context about how to get started with the application.
- Describe the assessment/grading approach - What will the basis for grading be? Will this be a team activity or individual? Is there a role for the HFOSS community in helping assess student work? For instance, must the work be committed or otherwise accepted by the community? Grading will be determined by the thoroughness, correctness, and professionalism demonstrated in the contribution. The activity will be either individual or paired. The work does not have to be accepted by the community, but it should be submitted for consideration.
- List any questions or concerns that you have about the activity/task. None
- List any stumbling blocks or barriers to carrying out the activity/task. Must be Python-based, and not already have examples in their documentation. Otherwise, the code base itself doesn't matter too much, as long as it is runnable.