Difference between revisions of "DPS909 and OSD600 Fall 2010 Weekly Schedule"

From CDOT Wiki
Jump to: navigation, search
(Weeks 6, 7 (Oct 11) - Distributed Revision Control)
 
Line 211: Line 211:
 
** '''Complete''' and '''Submit''' your [[DPS909 and OSD600 Fall 2010 0.1 Release|0.1 release]].
 
** '''Complete''' and '''Submit''' your [[DPS909 and OSD600 Fall 2010 0.1 Release|0.1 release]].
 
** '''Join''' [irc://irc.mozilla.org/webmademovies #webmademovies] irc channel.
 
** '''Join''' [irc://irc.mozilla.org/webmademovies #webmademovies] irc channel.
 +
 +
== Week 8 (Nov 1) - JavaScript ==
 +
 +
* This week's work is an independent study of JavaScript, aimed at getting you quickly acquainted with what JavaScript is and is not.  By watching lectures and building a cool JavaScript web demo, you will get a chance to take your knowledge of JS to a new level.
 +
* JavaScript has become the most used programming language in the world.  Currently, Mozilla, Apple, Google, and Microsoft all have implementations, and actively compete with each other.
 +
* Should you learn JavaScript too? http://shouldilearnjavascript.com/
 +
 +
===Online Video Lectures by Yahoo!'s Douglas Crockford===
 +
 +
* The JavaScript Programming Language:
 +
** [http://video.yahoo.com/video/play?vid=111593 part 1]
 +
** [http://video.yahoo.com/video/play?vid=111594 part 2]
 +
** [http://video.yahoo.com/video/play?vid=111595 part 3]
 +
** [http://video.yahoo.com/video/play?vid=111596 part 4]
 +
 +
* Advanced JavaScript:
 +
** [http://video.yahoo.com/video/play?vid=111585 part 1]
 +
** [http://video.yahoo.com/video/play?vid=111586 part 2]
 +
** [http://video.yahoo.com/video/play?vid=111587 part 3]
 +
 +
* '''TODO'''
 +
** Watch online videos
 +
** Blog your notes and reactions.  What did you learn that you didn't know?  What surprised you most about JavaScript?  What are three tricks and/or tips you learned watching these?
 +
** Create an interesting open video mashup.  Use HTML5 video and online services/libraries, tied together with JavaScript, to build a cool demo.  Make a web demo that uses at least two of the following with HTML5 video:
 +
*** jQuery, YUI, or Dojo
 +
*** Google Maps API
 +
*** Twitter API
 +
*** Flickr API
 +
** You may work alone or in a group of 2, and may collaborate with anyone, even other groups.  You will be asked to present your demo live in class on Tuesday November 9th.

Latest revision as of 10:53, 1 November 2010

Week 1 (Sept 7) Course introduction

  • TODO
    • Complete readings and watching/listening to this weeks resources.
    • Create an account on this wiki for yourself
    • Create a personal wiki page on this wiki, and add a link for yourself to the People page as well as the Winter 2010 students page
    • Create a blog (wordpress or blogspot or whatever) and create a feed category or tag called "open source"
    • Read the Blog Guidelines for instructions on how to use your blog in the course
    • Add your blog feed and info to the Open Source@Seneca Planet List so that it appears in the OpenSource@Seneca Planet
    • Blog on your reactions to the readings for this week, and also introduce yourself.
    • Begin learning how to use IRC for communication. We'll cover this in detail next week, but it's better to get started early.


Week 2 (Sept 13) - Collaborative and Community Development Practices

  • TODO
    • Ensure all TODO items from week 1 are completed
    • Complete Lab as a group by end of week
    • Begin (or continue) reading the CDOT Blog Planet, as this is where we will share class announcements and discussions.
    • Consider creating an account on Twitter to use in conjunction with your blog
    • Dial-in to one of the Mozilla Status calls happening this week, and blog about the experience. I'd recommend the Firefox call.
    • Join at least one Mozilla Mailing list
    • Comment in at least one other student's blog with your feedback to what they wrote. Reminder: Comments have to be approved for them to be be shown on your blog. Check your blog settings.
    • Watch online lectures for this week about open source community, blog your reactions.


Week 3 (Sept 20) – Bugs, Bugzilla, and Testing

  • TODO
    • Create a bugzilla account
    • CC yourself on some of the Chrome Experiments bugs in Mozilla's bugzilla
    • Blog about your work learning and using bugzilla, about the things you learned about using it, what was good, what was bad, and any new tools/techniques you learned this week.
    • Work with #seneca on irc to figure out which bugs you need to file on your Chrome tests
    • Be working on your first project release. Ask for help if you're stuck
    • Register for FSOSS or join as a volunteer.
    • Look at project list and get your initial project plan done.


Weeks 4, 5 (Sept 27) - Building Mozilla

  • Introduction to RCS
    • SVN, Mercurial, Git (more on git later)
  • Build Environments
    • Finding and Installing build dependencies
    • Operating systems, cross-platform builds
    • Machine requirements
      • Fast I/O, lots of RAM (for linking)
    • Tools
    • Libraries
    • Settings
      • Environment variables, PATHs
  • Build Tools
    • autoconf
    • make
    • Common open source approaches to automation (Python, Bash)
  • TODO
    • Watch online lectures about the Mozilla build system.
    • Build Firefox (or Thunderbird) on at least one of Windows/Linux/OSX, and preferrabely two platforms. Blog about the experience:
      • What problems did you have?
      • What did you learn in the process?
      • What surprised you?
      • Note: Do not put build output in your blog. You can use your wiki pages for that. The blog should be commentary on the experience of building a large piece of open source software.


Weeks 6, 7 (Oct 11) - Distributed Revision Control

  • Introducing Git
    • Client Server (SVN) and Distributed (Git)
    • Snapshots vs. versioned files.
    • Checksums, SHA-1
    • File States:
      • Untracked (not known to git)
      • Tracked: modified, staged, committed
    • The staging area
  • Basic Git Commands and Concepts
    • git help <command>
    • git init
    • git clone
    • git add
    • git commit, git commit -m, git commit -a
    • git rm
    • git mv
    • git status
    • git log
    • git diff, git diff --staged
    • .gitignore
    • Branches
      • HEAD, master
      • git checkout, git checkout -b
      • git branch, git branch -a, git branch -d, git branch --merged
      • git merge
    • Remotes
      • origin, origin/branch
      • git remote
      • git remote add
      • git fetch
      • git pull
      • git push
    • gitk

ction to Make and Makefiles]

  • TODO
    • Watch video tutorials.
    • Read relevant sections in Pro Git
    • Install and Setup' git locally
    • Create a github account
    • Create a git/github repo for your project(s)
    • Blog about your experiences getting to know git:
      • What problems did you have?
      • What did you learn in the process?
      • What surprised you?
    • Complete and Submit your 0.1 release.
    • Join #webmademovies irc channel.

Week 8 (Nov 1) - JavaScript

  • This week's work is an independent study of JavaScript, aimed at getting you quickly acquainted with what JavaScript is and is not. By watching lectures and building a cool JavaScript web demo, you will get a chance to take your knowledge of JS to a new level.
  • JavaScript has become the most used programming language in the world. Currently, Mozilla, Apple, Google, and Microsoft all have implementations, and actively compete with each other.
  • Should you learn JavaScript too? http://shouldilearnjavascript.com/

Online Video Lectures by Yahoo!'s Douglas Crockford

  • TODO
    • Watch online videos
    • Blog your notes and reactions. What did you learn that you didn't know? What surprised you most about JavaScript? What are three tricks and/or tips you learned watching these?
    • Create an interesting open video mashup. Use HTML5 video and online services/libraries, tied together with JavaScript, to build a cool demo. Make a web demo that uses at least two of the following with HTML5 video:
      • jQuery, YUI, or Dojo
      • Google Maps API
      • Twitter API
      • Flickr API
    • You may work alone or in a group of 2, and may collaborate with anyone, even other groups. You will be asked to present your demo live in class on Tuesday November 9th.