In addition to coding assignments; response papers; and unit tests; the following "standing assignments" are due on a continuous / weekly / monthly basis.
Despite the image of the programmer as a solitary soul bent over a glowing screen in a cubicle, programming is, in reality, a social activity, and real programmers make liberal use of discussion forums to ask and answer questions. Furthermore, despite the classroom tradition where students submit homework to a professor, who grades and returns it, so that nobody else ever sees it, that’s not the way coding works in the real world and it’s not the model in this course. Like real developers, we ask and answer questions in the open. This course component has two principal goals: 1) it provides a forum to ask and answer questions, and 2) it helps course participants become familiar with an industry-standard discussion platform.
Each student is required to read all new discussion postings on the relevant Slack channel; consistently respond to other student's post; and regularly post original submissions: ask a question, answer a question (comment on an existing posting, typically in a thread), make a suggestion, pass along a link to a site that showed you something you could use in your project (and explain what it is and why it was useful), etc.
Participation in the discussion beyond the minimum requirement is strongly encouraged. Don’t be shy about asking questions in this forum; your instructors do this all the time in their own work, and you can’t learn to code if you don’t learn how to participate in a coding community. And don’t be shy about answering questions, which is both good citizenship and personally satisfying. Much of the classroom time will be devoted to teacher-centered instruction, and the discussion framework offers an opportunity to interact with classmates to cultivate a community in which peers provide insight, solutions, and general discussion. This discussion forum should be the first resource for questions, comments, etc.
The criteria for this standing assignment may seem vague (what do we have in mind by "consistent" posting?) and there is no set quota in terms of frequency or length: students who actively use this forum as a learning tool will very likely receive full credit. Some students may do that by providing pointers and helpful links to other students' posts several times per week; others might write a multi-paragraph explainer on a new coding technique they figured out every other week; or something in between.
We will post a holistic grade in this category at least three times over the course of the semester. In determining that grade, will be considering the following factors:
Beginning the second week of the semester, each team should post frequent (usually weekly) updates about the status of their research project on their Github project repo, and each individual student is required to periodically (usually monthly) engage with updates posted by a different project team. These postings should be brief but informative status reports about your projects: what you accomplished in the preceding week, what you learned, where you got stuck, etc., as well was what you plan to do in the upcoming week. Reports must address both the state of the project in general and the specific weekly contributions of each of the individual team members.
Once the weekly project updates begin, each student is required to read all new Issue postings on the other project repos and periodically offer feedback and commentary. These responses may be brief, but they need to be thoughtful, something more than nice job! or very interesting! or I look forward to seeing what you do next! You might make a suggestion, offer a critique, ask (or answer) a question, discuss how something in someone else’s posting gives you an idea of something to do on your own project, share a link to a resource you discovered that might be useful for the other team, etc. You will find it helpful to follow the other teams’ repos, which you can do by clicking the Watch button at the top of their repo page. Issue responses are also assessed as check plus, check, and check minus.
As with the standing assignments, grades in this category will be holistic, and students will receive grades and feedback at least three times during the semester. Many of the criteria for grading are the similar to those of the standing assignments:
On the syllabus you will periodically notice "single topics" described in the "Postings" column. These are not exactly "assignments" in the sense that you will not receive a separate grade for each of them. Rather, they are prompts for how to fulfill the standing assignments detailed above, which means you can respond to them either on the Slack channel or on Github. You do not need to respond to all of the single topics, but the frequency and quality of your engagement will count for or against your overall grade in the Standing Assignments category.