Code Monkey home page Code Monkey logo

advfoss's People

Contributors

ajman1101 avatar berulacks avatar chrisknepper avatar citruspi avatar coldencullen avatar danshumway avatar dawacker avatar decause avatar fortnight avatar h2g2guy avatar lancealaughlin avatar liam-middlebrook avatar mansam avatar msoucy avatar mstubinis avatar nolski avatar pharas avatar pxlbuzzard avatar qwertos avatar raimondi1337 avatar ramstush avatar rossdylan avatar valeatory avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

advfoss's Issues

Start proposal: Project pools instead of set assignments

Basically, we'd have a collection of different projects and assignments to work on, each worth a certain amount of points, and they would add up to our final grade. We would choose between these different options and do enough of them to add up to a certain grade.

There are a number of advantages to this approach:

  • A big part of FOSS is about finding niches to fill, but usually we end up doing very similar assignments in scope and size.
  • It allows us to plan assignments around when we have time and to either bank work or procrastinate work accordingly, which helps a lot with getting release schedules set up.
  • It forces us to be incredibly self-motivated.
  • It would encourage us to branch out more and try different things. It's easy with the current setup to do only the requirements and none of the extra stuff like lightning talks.
  • It would almost instantly solve the "what grade do I currently have?" problem.
  • It would look good on resumes.

The next step would be for me to actually sit down and write up something, which would be about the time when this could be theoretically closed down and I could make the proposal as a commit to the main syllabus. There are a number of concerns with this method that I need to think about and address (getting certain assignments to be required, not allowing people to overload on one type of assignment, not allowing people to get all of them done and then sit around doing nothing, not allowing people to procrastinate on them, etc.. etc...), but I think there are potentially creative ways to deal with those problems without breaking the core mechanics of what the course would turn into.

[Proposal] Assignments as a pool

tl;dr Extend the community contribution model to the entire class structure so that programming projects and blog posts are options, not requirements.

I've been thinking about how assignments work in this class. Some examples of problems I've seen so far:

  • I write blog posts that I would never put on my blog otherwise. Example: the project proposals.
  • I am required to write a blog post every week, which hurts the quality of some posts I would otherwise invest more time into. Example: my PennApps post-mortem.
  • Not all projects fit nicely into the 5 week structure. Oculus D Rift needed more time to reach fruitition, whereas D-language for Atom was completed (start to finish) in about an hour.

All this to say, people have different strengths and weaknesses that allow them to contribute to FOSS in different ways. So, how best to acknowledge that with the grading structure?

An assignment pool.

Present everybody with the options up front. Edit Wikipedia articles, write documentation for FOSS projects, make logos and art assets, create new programs, build a new feature for an existing project. Then allow students to work where they will best contribute and don't penalize them for skipping other parts.

There are issues with this model. Forcing students to blog is an inherently good thing to takeaway from the class. Making students complete a variety of assignments may spark an interest that was previously unknown.

It's also worth noting that this is the model being used for community contributions already. The main difference I am proposing is that programming projects and blog posts be lumped into the pool, and therefore the frequency of contributions (there are 3 for the whole semester) would rise.

Lastly, this issue can count as either a blog post or a community contribution under the current grading scheme which is awesome.

Lack of information on the home page

At this point, the home page contains

ADVFOSS
The RIT Seminar in IGM Course

which doesn't provide visitors with any helpful information.

Going on to the About page, visitors are greeted with

Hello, world!
This is a wonderful experiment using Twitter Boostrap, Flask, and Mako to make awesome.

and descriptions of Bootstrap, Flask, and Mako... Still not very informative.

Some of the information from the Syllabus page should also be on the home page so that visitors have some idea of what the class is about.

Archive of past projects

We should have an archived list of past projects in order to serve as inspiration for new students.

Guest Lecture List

It would be nice to have a list of past guest lectures as well as future lecturers.

Future Mentor / Where are they now?

This section would showcase possible mentors for future students as well as some brief bios about the mentors (what they are doing now, skillset, etc.)

GnuPG Encrypted Grades

CC: @ralphbean @rossdylan @thequbit @mansam @alexanderkyte @chorn

As a couple students mentioned last night, students aren't aware of their grades. @decause does contact students who aren't doing well, and anyone who he hasn't contacted is looking at a B or better, but there's still a lot of uncertainty, especially with the introduction of the plus/minus system.

One solution would be to use MyCourses, but let's be honest, MyCourses is a piece of shit.

I'd like to propose an alternative; GnuPG encrypted grades.

The idea is that as part of the First Flight assignment, students would create a 4096[0] bit GnuPG key pair. There would be a class which would cover GnuPG and it's usage. At the end of the class there would be a key signing party.

Students' grades would be kept up to date and uploaded to the class website. Each student's grade would encrypted, signed, and armored. Encrypted to make sure that grades are confidential, signed to make sure grades are only updated by @decause, and armored to make them viewable in the browser.

Perhaps @ryansb and @liam-middlebrook could add functionality to their command line tool which would simplify the process of updating and publishing grades. The publication of a student's grades in an unencrypted format or the publication of @decause's private key would have dire consequences - if the process could be automated[1] to prevent human error, all the better.

In addition to the increase in transparency by allowing students to see how they are doing in class, it would provide students with an introduction to the usage of and best practices for GnuPG, an important tool in the police state we're quickly approaching.

Any feedback is appreciated.

โ€” @citruspi

P.S. I'll be submitting this issue to the repositories for both HFOSS and AdvFOSS. I'd like to see it implemented in both classes, but I realize that it may be implemented differently for each class or implemented for one class first as a trial and I think having separate issues for each class is important.

[0] Perhaps, for the AdvFOSS class, we could make it even more interesting. In the class where GnuPG is covered, students would also learn to patch GnuPG to increase the key size beyond 4096 bits and then recompile GnuPG.

[1] Aside, of course, from the entry of the passphrase for the private key, because no one would create a private key without a passphrase, right?

Listing of ALL YAML keys, current and future, plus due dates

Having a page dedicated to all the keys for all the assignments, along with their due dates, would be great, as it would both serve as a list of assignments for forgetful students (read: yours truly), as well as a roadmap for where the course will generally be going for future students.

We already have this in part on the Participants page, but that's both slow to load and only helps for assignments you're already potentially late on.

I know we also sorta kinda have some of this functionality on the Assignments page, but I think it could be made a lot more helpful and robust (not to mention that it was sort of difficult to find the exact assignment you were looking for in HFOSS, because there were more assignments listed).

RSS Feed

It would be great to have an RSS feed for the site content

Calendar with due dates and events

Calendar would contain things like
-rocpy
-hackathons
-homework assignment due dates
-etc.

Whether this is info entered manually, or something generated programmatically, I think this is a feature that is needed as we often have questions of "when is x" every class. (I myself am responsible for many of them :P )

Amend project proposal description

It needs to include "Proposed License", "Upstream mentors", and the fact that we get bonus points if other people (outside of the RIT foss community) make contributions.

Exit Survey

An exit survey at the end of the semester would be help in improving the course and could provide information on student for implementing issue #102.

Still says quarters

We're on semesters. While that is unfortunate, we should reflect it in the text.

RSS Feed that's an aggregate of student blogs

So that people don't have to go to the participants page and wait for it to load ;) also this might be convenient enough that it'd encourage students to read each others posts and perhaps comment on them.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.