Difference between revisions of "DPS909 and OSD600 Fall 2012 Weekly Schedule and Notes"

From CDOT Wiki
Jump to: navigation, search
(Part I – Essential Open Source Development Skills and Concepts)
(Weeks 3, 4 - Distributed Revision Control with Git)
Line 77: Line 77:
 
*** git push
 
*** git push
 
** Github, Pull Requests
 
** Github, Pull Requests
 +
 +
** WebVTT
 +
*** [http://dev.w3.org/html5/webvtt/ WebVTT Spec]
 +
*** Intros to Track element and WebVTT:
 +
**** http://www.youtube.com/watch?v=RoYvr-KXvLs
 +
**** http://blog.gingertech.net/2011/03/29/webvtt-explained/
 +
**** http://html5doctor.com/video-subtitling-and-webvtt/
 +
**** http://dev.opera.com/articles/view/an-introduction-to-webvtt-and-track/
 +
**** http://www.delphiki.com/webvtt/
 +
*** [https://twitter.com/webvtt WebVTT on Twitter]
 +
*** [http://quuz.org/webvtt/ Online WebVTT Validator]
 +
*** [https://github.com/rillian/webvtt Initial work on WebVTT Parser]
 +
**** [https://github.com/rillian/webvtt/issues Initial bugs filed on Parser]
 +
*** [https://bugzilla.mozilla.org/show_bug.cgi?id=629350 Initial work on track Element]
  
 
* '''Readings/Resources'''
 
* '''Readings/Resources'''
Line 96: Line 110:
 
** Learn git!: '''Watch''' video tutorials and/or '''Read''' chapters 1 and 2 of [http://progit.org/book/ Pro Git], etc.
 
** Learn git!: '''Watch''' video tutorials and/or '''Read''' chapters 1 and 2 of [http://progit.org/book/ Pro Git], etc.
 
** '''Install''' and '''Setup''' git locally
 
** '''Install''' and '''Setup''' git locally
** '''Clone''' the github repo for your project(s)
+
** '''Clone''' the WebVTT Parser github repo for your project
 
+
** Learn about WebVTT!: '''Watch''' video and '''Read''' introductory articles
** '''Blog''' about your project:
+
** '''Blog''' about WebVTT and track
 +
*** What is it?
 
*** What are you doing for 0.1?
 
*** What are you doing for 0.1?
 
*** What does it involve in the way of technologies?
 
*** What does it involve in the way of technologies?
 
*** What do you need to learn in order to do it, how will you learn it?
 
*** What do you need to learn in order to do it, how will you learn it?
 
*** What fears or concerns do you have?
 
*** What fears or concerns do you have?

Revision as of 09:56, 17 September 2012

Introduction

The fall is broken into two parts. First, general open source and and community (i.e., Mozilla) specific skills and ideas are taught. Students learn how to deal with the tools, techniques, and practices of their chosen project and its community. Second, we go deep into open web and browser development with a case study.

Part I – Essential Open Source Development Skills and Concepts

Weeks 1, 2 Course introduction

  • Course introduction
  • Success in this course requires:
    • Willingness to be lost and not panic
    • Curiosity
    • Being driven, persistence
    • Willingness to ask for help
    • Willingness to give others help
    • Independent learning
    • Doing more, much more, than the bare minimum
  • Intro to open source
  • Lab - Build Firefox
    • Build Firefox due Sept 13
    • NOTE: instead of a class on Monday Sept 10th, we'll have a work day. Use the #seneca channel on irc.mozilla.org to meetup with other students.
  • TODO
    • Create an account on this wiki for yourself (note: requires manual creation)
    • Create a personal wiki page on this wiki, and add a link for yourself to the People Fall 2012 Open Source Students pages
    • 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
    • Pick one Closed and one Open license/eula, and read them from start to finish. Pick 3 things that struck you, blog about it and your reactions to the readings this week.
    • Begin learning how to use IRC for communication. We'll cover this in detail next week, but it's better to get started early.


Weeks 3, 4 - Distributed Revision Control with Git

  • 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 branch --contains
      • git merge
      • git rebase
    • Remotes
      • origin, origin/branch
      • git remote
      • git remote add
      • git fetch
      • git pull
      • git push
    • Github, Pull Requests
  • TODO
    • Learn git!: Watch video tutorials and/or Read chapters 1 and 2 of Pro Git, etc.
    • Install and Setup git locally
    • Clone the WebVTT Parser github repo for your project
    • Learn about WebVTT!: Watch video and Read introductory articles
    • Blog about WebVTT and track
      • What is it?
      • What are you doing for 0.1?
      • What does it involve in the way of technologies?
      • What do you need to learn in order to do it, how will you learn it?
      • What fears or concerns do you have?