Open main menu

CDOT Wiki β

Changes

DPS909 and OSD600 Fall 2010 Weekly Schedule

5,821 bytes added, 10:53, 1 November 2010
no edit summary
** '''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.
 
== Week 2 (Sept 13) - Collaborative and Community Development Practices ==
** Be working on your first project release. Ask for help if you're stuck
** Register for [http://fsoss.ca FSOSS] or join as a [[Volunteer|volunteer]].
** Look at [[Fall 2010 Mozilla Open Source Project List|project list]] and get your [[Fall 2010 DPS909 and OSD600 Initial Project Plan 0.0|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*** Example: [https://wiki.mozilla.org/MozillaBuild Mozilla Build] for Windows*** Using yum, MacPorts, etc.** Operating systems, cross-platform builds** Machine requirements*** Fast I/O, lots of RAM (for linking)** Tools** Libraries** Settings*** Environment variables, PATHs * Build Tools** [http://www.gnu.org/software/autoconf/ autoconf]** [http://www.gnu.org/software/make/ make]** Common open source approaches to automation (Python, Bash) * '''Readings/Resources'''** [[How the Build Works|How the Mozilla Build Works]] (on-line lecture) by Mozilla's J. Paul Reed ** [http://sparc.senecacollege.ca/pub/mozilla.lecture/mozilla-20073/1-Mozilla-build-system.avi Mozilla's Build System] (on-line lecture) by the owner of the Mozilla Build System, Ted Mielczarek** [http://hgbook.red-bean.com/read/a-tour-of-mercurial-the-basics.html Introduction to Mercurial]. The [http://hgbook.red-bean.com/ full book] is excellent to read or use as a reference, but this section is a must.** [http://vocamus.net/dave/?p=607 Great Introduction to GCC/G++] (Brian Gough's [http://www.network-theory.co.uk/docs/gccintro/ An Introduction to GCC for the GNU Compilers gcc and g++])** [http://www.eng.hawaii.edu/Tutor/Make/ Introduction to Make and Makefiles] * '''TODO'''** '''Watch''' online lectures about the Mozilla build system.** [http://developer.mozilla.org/en/docs/Build_Documentation Build Firefox] (or [https://developer.mozilla.org/En/Developer_Guide/Source_Code/Getting_comm-central 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 * '''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]*** [http://help.github.com/ github documentation] * '''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 [[DPS909 and OSD600 Fall 2010 0.1 Release|0.1 release]].** '''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.