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

From CDOT Wiki
Jump to: navigation, search
Line 26: Line 26:
 
** '''Blog''' on your reactions to the readings for this week, and also introduce yourself.
 
** '''Blog''' on your reactions to the readings for this week, and also introduce yourself.
 
** Begin learning how to use [[Irc|IRC]] for communication.  We'll cover this in detail next week, but it's better to get started early.
 
** Begin learning how to use [[Irc|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 ==
 
== Week 2 (Sept 13) - Collaborative and Community Development Practices ==
Line 149: Line 150:
 
*** What surprised you?
 
*** 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.
 
*** '''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
 +
 +
* '''Readings/Resources'''
 +
** [http://git-scm.com/ Download and Install git]
 +
** Videos
 +
*** [http://excess.org/article/2008/07/ogre-git-tutorial/ Git Basic Tutorial]
 +
*** [http://www.youtube.com/watch?v=OFkgSjRnay4&feature=related Scott Chacon's more advanced tutorial of git]
 +
*** [http://www.youtube.com/watch?v=4XpnKHJAok8 Linus Torvalds at Google discussing git's distributed nature]
 +
** [http://progit.org/book/ Pro Git, online book]
 +
ction to Make and Makefiles]
 +
** [https://github.com/ github server]
 +
 +
* '''TODO'''
 +
** '''Watch''' video tutorials.
 +
** '''Read''' relevant sections in [http://progit.org/book/ 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

Revision as of 16:12, 18 October 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