Open main menu

CDOT Wiki β

DPS909 and OSD600 Fall 2010 Weekly Schedule

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.