15-539 Week 4 Team Homeworks

Homework 4: Backend

Variable deadlines. See specific assignments. Note that every code contribution detailed below must be a pull request.

Timeline

By Tuesday Night

By Wednesday Night

By Friday

By Sunday Night

Individual Assignments

Scott

  1. How do people normally do authorization when using Django?
  2. How do people normally do authorization in general (not specific to Django)?
  3. What services that we are building need authorization rules?
  4. What user roles do we need?
  5. What database schema (if any will we need)?
  6. What should our specific implementation look like?
  7. I may not have listed everything you should be thinking about here. This is pretty open ended work so you may need to write about things not listed here.  

Eddie

Matt + Arman

Maya

Homework 4: UX Design

IDE Team

Teacher-Portal Team

Lesson Plan Team

Exercise Team

Everyone

Homework 4: Frontend/UXI

We have a slightly fragmented team, so this homework will be different depending on which sub-team you self-identify with (if you are unsure, let us know!). There's a lot to read in this email, so feel free to only read the parts pertaining to you.

Note that this is a critical path team which means that you are exempt from CS1 content. Let me know if you are unsure about your situation.

Due date: Monday, September 25th, 11:59pm

All Frontend

Training

I'm posting the full Frontend stack training sequence below, since we have some new members and a guest member interested in spinning up on our stack.

Please place all related code that you produced in a directory named 'training'. All code should be runnable (i.e. I can type npm install, then npm start, and get a working app (hopefully)).

Prior topics (for people just getting started):

Recommended for hw4

Next steps (if you finish the recommended topics for the week)

Prototype implementation

Be on the lookout for a new repo going up on Github to submit to. These components are meant to be prototypes, so do your best to design the features you think are useful and implement them.

Depending on where your skill level is, you may have to revisit some of the training topics. Let me know if you need extra material to look at or are unsure on how to start.

In terms of code organization, don't worry too much since these are prototypes. As a starting point, I'd recommend keeping all of the required files in some directory corresponding to the whole module. For example, if you were writing the Gradebook, have a directory named 'gradebook' and put all of your components, containers, reducers, etc. in there.

These specifications are pretty open, feel free to ping me if you want to talk about things to start with.

Homework 4: Autograder

This homework has a research component and a prototype implementation component.

Due: Monday, 9/25 at 11:59pm

Research

Implementation

Submission

As always, don't hesitate to contact me if you have clarifications on the assignment. We (Jacob + Richard) should also anticipate a meeting near the end of the weekend/beginning of next week.

Homework 4: Graphic Design

Homework 4: Textbook

Homework 4: Accessibility

Last week, we all looked at different disabilities and researched our legal obligations to students with those disabilities. We also tried to make actionable suggestions that we can pass along to our development teams to make sure all of our content is accessible.

This week, we are going to build upon that even further. As part of this homework, I want to combine all of the guidelines you suggested last week into a single design document that our other teams will have to abide by in the future. For example, if last week we suggested that we need to have a minimum contrast ratio, our video content needs to have subtitles, and we need to support screen readers, there should be a document that combines all of these requirements and describes what we need to do in order to satisfy them. Since we’re only a team of three, you should have a meeting this week to combine all your requirements (that you discovered last week) into a single design document that our other teams can follow as they’re creating new content.

In addition, I’d also like for you to research some tools that we can use to make sure all of our web-content is accessible. Here may be a good starting point. I’d like you to submit a proposal about the tools we should use and how they should be integrated into our development process.

What to submit:

I expect that this homework should take roughly three hours, so please email me if it is taking significantly more!

Homework 4: Video Team

Note - in 2 weeks, we need to have one finalized example content-video for Professor Kosbie, including a suggested video style/format (typing vs whiteboarding, etc), a way to track views, hosting, etc. This week's homework was designed to get ready for that deadline.

Everyone:

Remy:

Alan and Alex:

Homework 4: Media Team

Last week, we began organizing media content into categories, essentially pre-packaging the content we’d need to make some simple lessons. This week, I’d like to continue that process. We have a lot of media, and will need to make a lot of exercises, so this is a really important task. If you could put together 2-3 more media collections for this week, I think we’d have a really solid foundation, so I’d like you to do that as part of your homework this week.

We also need to start thinking about the workflow and team organization. How should we organize the rest of our content in such a way that other teams know what we have available? Where will it be available (do we just dump everything into a Google drive or is there a nicer solution)? What will the process be like when teams need to request media content for one of their lessons? These seem like small details but are actually important things to consider. I’d like you to spend some time thinking about this and then submit a short summary of what you think our standard operating procedures should look like going forward. This is pretty open ended, so feel free to include your thoughts on things that I didn’t mention here.

What to submit:

I expect that this homework should take roughly two or three hours, so please email me if it is taking significantly more!

Homework 4: Extended Framework

Homework 4: CS Pedagogy & Competitive Analysis

1) Pick an existing program from this list

        - Project LeadTheWay

        - Codecademy

        - Codeavengers

        - Khan Academy

that you haven’t studied, and compare / contrast your findings on the program to what someone previously saw from this document (https://docs.google.com/spreadsheets/d/1nU3JV0LI-BE5jt_zqPoxfK3ROCIzS-UoMTqrs-kkXvU/edit#gid=0).

Sign up with your name (I made space) and add your thoughts below the original person as well as producing a writeup with your thoughts. Make sure to read the other person’s thoughts first and respond to how you agree / disagree with those.

2) Continue research into Pedagogy papers / books and look into what aspects would be useful for the entire class to know.

***) If you find anything incredibly insightful (either from another program OR from a pedagogy paper), let me know so we can present it to the class. Basically like what I presented from the Khan Academy site the other day. If you aren’t sure if something is “worthy” enough to show the class, send it to me and I’ll help decide :)