Published using Google Docs
designing an awesome journalism/programming class
Updated automatically every 5 minutes

Hello.

This is still a work in progress. Suggest stuff! All of this is subject to change.

includes:

daily activity:

15-minute progress meeting “scrum” meeting. each person answers 3 questions:

what have I done since last meeting? what will i do by next meeting? what challenges am I facing or what impediments do I have?

weekly activities:

final group project: major software design/development project due final week.

documenting your work:

create a portfolio of all that you’ve done - due by end of quarter.

write comprehensive documentation of weekly and final projects - due throughout quarter.

the blog. make sure you do blog posts a few times each week. - due throughout quarter.

LEARNING OBJECTIVES, ACTIVITIES, AND EVALUATION OF WORK:

Learn to manage complex projects working with a team using open source software.

activities:

Student will develop a large project using open source software as part of a team. The student will establish a wireframe of the design, a list of required functionality, and will build the project using open source software and utilizing agile development practices. The student will write comprehensive documentation for maintaining, extending, and contributing content to the project. The student will read The Art of Agile Development and Getting Real, books about agile software development.

The student will participate in daily 15 minute progress-report meetings, write semi-weekly blog-posts about their progress with the project and that synthesize their learning around the technologies the project is based on, and release the project by the end of the quarter.

what the sponsor will evaluate:

The sponsor and field supervisor will evaluate the student’s work based on the blog posts and documentation they write, and on the completion of the project. The student will create a portfolio of all their work and writing by the end of the quarter for the sponsor and field supervisor to evaluate.

Learn to design the style and functionality of a web project.

activities:

The student will learn how to plan the functionality of web projects through design planning meetings and by implementing the functionality. The student will learn to wireframe/prototype a design by doing weekly design exercises using Adobe Fireworks, Illustrator, and Photoshop. The student will complete weekly html/css/javascript exercises that implement the wireframes they build using Adobe software.

Tutorials and resources from lynda.com, teamtreehouse.com, dontfeartheinternet.com, 20thingsilearned.com, peepcode.com, alistapart.com, and documentation from open source projects will comprise the primary readings for this objective. The student will read from the books Rules of Play, The Art of Game Design, The Elements of User Experience, Responsive Web Design, Don't Make Me Think: A Common Sense Approach to Web Usability, and The Design of Everyday Things.

The student will blog about their readings and their weekly exercises showing their wireframes and finished websites.

what the sponsor will evaluate:

The sponsor and field supervisor will evaluate the student’s work based on the blog posts and documentation they write, and on the completion of the project. The student will create a portfolio of all their work and writing by the end of the quarter for the sponsor and field supervisor to evaluate.

Learn basic and intermediate programming, version control, linux/unix development, web framework and CMS development, and data visualization.

activities:

Student will complete weekly javascript, ruby, python, and php projects that represent the basics of programming, and that introduce the student to application programming interfaces (API) and data visualizations. The student will use code libraries in their programs, and learn how to use the libraries through researching the code documentation and case studies written by others.

The student will learn how to use api documentation as a resource for writing programs.

The student will use tutorials from codeschool.com, lynda.com, teamtreehouse.com, and assorted blog posts and tutorials from the web.

Student will read from the books Data Analysis with Open Source Tools, Learning Javascript, Data Source Handbook, Getting Started with Processing, Visualizing Data, Javascript: The Definitive Guide, Python Development with Django, The Django Book, and others based on the projects they choose to work on.

what the sponsor will evaluate:

The sponsor and field supervisor will evaluate the student’s work based on the blog posts and documentation they write, and on the completion of the project. The student will create a portfolio of all their work and writing by the end of the quarter for the sponsor and field supervisor to evaluate.

Learn how journalism can utilize data, data visualizations, application programming interfaces, web services, social media, and open source software/hardware.

activities:

Student will study how news organizations have used data visualizations, content mashups, online maps, games, and various web applications to convey information. Student will compile a directory of examples with brief descriptions explaining what about the example works well, what doesn’t, and how they could build on the ideas in the example to create a new project.

Student will apply what they learn to building small, weekly, data-focused projects.

Student will read from the books Newsgames, How to do Things with Video Games, Visualize This, and from case studies they find on the web.

what the sponsor will evaluate:

The sponsor and field supervisor will evaluate the student’s work based on the example descriptions, on the blog posts and documentation they write, and on the completion of the project. The student will create a portfolio of all their work and writing by the end of the quarter for the sponsor and field supervisor to evaluate.

potential assignments:

content for the web:

infographics:

mapping:

data:

design / responsive design:

apps / packaging content:

documentation

linux and web development

CRAP-TON OF NOTES / RESOURCES:

resources:

OPEN SOURCE PROJECTS TO EXPERIMENT WITH:

js libraries / css frameworks:

https://github.com/zurb/orbit

https://github.com/zurb/reveal

https://github.com/jeresig/processing-js

https://github.com/DmitryBaranovskiy/raphael

https://github.com/DmitryBaranovskiy/g.raphael

https://github.com/CloudMade/Leaflet

https://github.com/stamen/modestmaps-js

https://github.com/davatron5000/Lettering.js

https://github.com/davatron5000/FitVids.js

https://github.com/davatron5000/FitText.js

https://github.com/dhgamache/Skeleton

https://github.com/visionmedia/move.js

https://github.com/Treesaver/treesaver

https://github.com/mapbox/wax

https://github.com/srobbin/jquery-backstretch

https://github.com/Modernizr/Modernizr

http://robertwhurst.github.com/KeyboardJS

https://github.com/jackmoore/colorbox

https://github.com/nathansearles/slides/

https://github.com/alexhayes/jquery-tumblr

https://github.com/imakewebthings/jquery-waypoints

https://github.com/doctyper/flexie

https://github.com/KuraFire/runloop/

http://responsejs.com/

https://github.com/desandro/isotope

http://mozillapopcorn.org/

http://imakewebthings.github.com/deck.js/

https://github.com/keithamus/jwerty

https://github.com/hakimel/zoom.js

https://github.com/mbostock/d3

developing big projects / coding conventions

http://michelleminkoff.com/2011/12/25/hacking-till-it-works-is-no-longer-enough/

http://docs.jquery.com/JQuery_Core_Style_Guidelines

evaluating web design work:

http://uxdesign.smashingmagazine.com/2011/12/16/guide-heuristic-website-reviews/

advanced javascript programming:

http://jqfundamentals.com/

http://addyosmani.com/blog/backbone-fundamentals/

responsive design prototyping:

http://www.screenr.com/u3Rs

computer science:

http://mitpress.mit.edu/sicp/full-text/book/book.html

online tools:

http://jsbin.com/

exercises:

http://code.google.com/edu/submissions/usc-ajax/

http://code.google.com/edu/ajax/index.html

http://code.google.com/edu/languages/google-python-class/index.html

ux resources:

https://peepcode.com/products/ryan-singer-ux

agile:

probably shouldn’t watch this video: http://www.youtube.com/watch?v=vmGMpME_phg

http://www.youtube.com/watch?v=IyNPeTn8fpo

http://www.youtube.com/watch?v=9y10Jvruc_Q&feature=relmfu

http://www.youtube.com/watch?v=Ht2xcIJrAXo&feature=relmfu

http://www.youtube.com/watch?v=M1q6b9JI2Wc&feature=relmfu

http://www.youtube.com/watch?v=ypEMdjslEOI

http://www.youtube.com/watch?v=4moyKUHApq4&feature=relmfu

http://gettingreal.37signals.com/toc.php

project management and app development:

http://playbook.thoughtbot.com/

web:

http://www.20thingsilearned.com/en-US

http://choppingblock.com/presentations/web-design-concepts-for-non-web-designers/#slide51

html and css:

http://teamtreehouse.com/library/design-foundations/html/introduction

http://www.dontfeartheinternet.com/

https://developer.mozilla.org/en-US/learn

http://olivercaldwell.co.uk/2011/12/vendor-prefixes-and-the-ways-around-them/

http://updates.html5rocks.com/2011/08/Downloading-resources-in-HTML5-a-download

http://www.html5rocks.com/en/tutorials/doodles/lem/

http://code.google.com/chrome/whitepapers/pagevisibility.html

ruby:

http://tryruby.org/

http://www.lynda.com/Ruby-tutorials/essential-training/47905-2.html

http://rubyquiz.com

codebrawl.com

https://github.com/ryanb/ruby-warrior

rails:

http://railsforzombies.org/

http://www.lynda.com/Ruby-on-Rails-3-tutorials/essential-training/55960-2.html

http://tutorials.jumpstartlab.com/

backbone.js + rails

https://workshops.thoughtbot.com/backbone-js-on-rails

jquery:

http://jqfundamentals.com/

http://jqueryair.com/

http://www.lynda.com/jQuery-1-5-tutorials/Create-an-Interactive-Map-with-jQuery/87636-2.html

http://www.lynda.com/jQuery-tutorials/Create-an-Interactive-Video-Gallery-with-jQuery/85999-2.html

javascript:

http://www.lynda.com/JavaScript-tutorials/Foundations-of-Programming-Fundamentals/83603-2.html

http://www.lynda.com/JavaScript-tutorials/Essential-Training-2011/81266-2.html

http://eloquentjavascript.net/

coffeescript / processing

http://pcsedit.appspot.com/

drupal:

http://www.lynda.com/Drupal-7-tutorials/essential-training/73655-2.html

http://shop.oreilly.com/product/0636920020295.do

python:

http://www.youtube.com/watch?v=kWyoYtvJpe4&feature=relmfu

django:

http://gettingstartedwithdjango.com/resources/gigantuan.html

fireworks:

http://www.lynda.com/Fireworks-CS4-tutorials/getting-started/671-2.html

http://www.lynda.com/Fireworks-CS4-tutorials/essential-training/646-2.html

http://www.lynda.com/Fireworks-CS4-tutorials/rapid-prototyping/739-2.html

illustrator:

http://www.computerarts.co.uk/node/2813

http://www.lynda.com/Illustrator-CS4-tutorials/getting-started/692-2.html

http://www.lynda.com/Illustrator-CS4-tutorials/essential-training/718-2.html

http://www.lynda.com/Illustrator-CS4-tutorials/for-the-web/748-2.html

http://www.lynda.com/Illustrator-CS4-tutorials/one-on-one-fundamentals/733-2.html

responsive design:

http://www.lynda.com/HTML-tutorials/Creating-an-Adaptive-Web-Site-for-Multiple-Screens/85083-2.html

postgresql:

http://www.lynda.com/PHP-5-tutorials/PostgreSQL-9-with-PHP-Essential-Training/73930-2.html

design:

http://www.lynda.com/Web-Fonts-tutorials/Typography-for-Web-Designers/79411-2.html

data:

http://www.datasciencetoolkit.org/

linux:

http://code.google.com/edu/tools101/linux/basics.html

vagrant:

http://vagrantup.com/

concepts:

learning to learn on the web.

open source software development.

agile development.

user interface and user experience.

responsive design.

wireframing.

source control.

APIs.

data management and visualization.