Courses‎ > ‎Software Development 2‎ > ‎Dyrland-Weaver‎ > ‎


Project 2: The Final Frontier

posted May 8, 2017, 8:38 AM by JonAlf Dyrland-Weaver   [ updated May 11, 2017, 6:19 AM ]

github repo:

More information will follow, but here are general guidelines about the project so you may begin thinking about it
  • Project must be done in groups of 4*
    • Due to math (or the illegality of splitting students into fractions of students), 6th period will have 1 group of 5.
  • The project must demonstrate knowledge of the concepts covered in class. To that end:
    • You must use python/Flask
    • You must use a front-end framework (probably bootstrap or foundation)
    • You must provide custom CSS
    • You must have your own javascript code that does something meaningful for your project
      • It should be a relatively meaningful amount of js. 
      • Include at least one example of:
        • making ajax calls
        • using canvas or svg
        • using data visualization (most likely d3)
    • You must use at least one of the following:
      • databases
      • APIs
        • If you are using an API, research it to make sure it is stable.
  • More Guidelines will follow as we move on
Design Documents will be due by 8am Friday 5/12
  • Create a new repo and link to it in the vigilant-telegraph repository.
  • Create a PDF named DESIGN.pdf in your repository (See Project 1 for Design Document guidelines).
    • Include a component map, site map and database schema (if applicable), as well as any necessary supporting documentation.
    • Divide the tasks among your group members. Include a Project Manager.
    • Include a tentative timeline
    • Include a style guide
  • Create an begin filling in a plaintext file named devlog.txt in your repository.
    • The purpose of the devlog is so that any group member can see what the current state of the project is.
    • The devlog should be a plain text file that can be easily edited.
    • PM will make sure devlog is being maintained, but will not make all entries.
    • When any team member stops working and pushes changes to github, they should update the devlog explaining what changes have been made. Include any errors/bugs discovered (or created).
    • Separate devlog entries with newlines, put the latest entries on the bottom
    • Each line should begin with the following format: firstL -- TIMESTAMP\n
      • eg: jonalfD -- 2016-12-04 14:32
  • Edit in your repository to give -- to start -- a concise overview of your project.

Project 1: Deigning Descriptive Data

posted Mar 23, 2017, 6:48 AM by JonAlf Dyrland-Weaver

Your task is to chose an interesting data set and provide a good visual representation of that data.
  • The project must involve interacting with data that changes over some independent variable (for example time or income), and you must have at least 20 independent variable intervals to work with. The interval can be whatever works with your data (seconds, months, millennia, dollars, trillions…)
  • You should tell a story with your data, numbers are boring, bring them to life. We’ve spent the first marking period talking a lot about front-end graphical tools. Use the canvas, or svg, or both. You can use d3 with either of those technologies. 
  • You will have to use d3 and one of canvas or svg. You may use both if you’d like.
    • Remember that d3 can be used to change many different attributes, not just size. Think about using other visual elements like position and color as well.
  • There will be more technical requirements later.

Here are some useful links as you move forward:

Project 0: Pre-sent

posted Feb 10, 2017, 6:14 AM by JonAlf Dyrland-Weaver   [ updated Mar 22, 2017, 11:50 AM ]

You (and up to 2 other people) will be responsible for selecting a CS topic and presenting it to the class.

Phase 1: Group & Topic Selection
  • Below you will find a table of names and topics.
    • Some names might not appear on the list, especially those that did not fill out the form earlier.
  • If there are 3 or fewer names assigned to a topic, then congratulations, you're a group!
  • If there are more than 3 names to a topic, then you must split yourselves into at least 2 groups, and figure out who will be presenting on what. There cannot be multiple groups assigned to the same topic. 
    • For example, if 6 peopled wanted to to bitcoin, then that group must split into some combination of groups where none is larger than 3. One group can do bitcoin, but the others must select different topics.
    • If anyone wants to join another group they can, as long as they don't bring it over a size of 3.
  • Once groups and topics are selected, fill out this form:
Phase 2: Presentations!
  • Here are the dates for each group:
    • Period 6:
      • 3macsemacs3/6
        Morning LatrinesMachine Learning3/8
        Harry LumSQL Injection3/10
        Team Elinaless (css)3/13
        Ugly SocketsWebsockets3/15
        Ironic Mobile DevelopmentIconic Mobile Development3/16
        SomeAssemblyRequiredAssembly Programming3/20
        Doppelgänger 2.0Rust3/22
        Go With the FlowGoogle Tensorflow3/27
        Ontological Guerrillas graph database3/28
      • Team PyChanPython Classes + Python 33/6
        TreeSplay Trees3/7
        Team RustaceanRust3/8
        Team GlovesLaTeX3/9
        Hex D'sGeo Databases3/10
        GTigersGoogle Page Rank Algorithm3/13
        SpaguettePython numpy scipy3/15
        Bot TeamWolfram Mathematica3/20
        Uncomfortable Potatoes Bitcoin3/31
        Team XXVue.js3/27
        Bobby TablesSQL injection 3/28
        Big L's Bad BoyzPython Pandas3/29

1-3 of 3