Difference between revisions of "Winter 2008 OSD600 Weekly Schedule"

From CDOT Wiki
Jump to: navigation, search
(Week 3 - Build (Continued))
(Week 4 - Collaborative and Community Development Practices)
Line 69: Line 69:
 
== Week 4 - Collaborative and Community Development Practices ==
 
== Week 4 - Collaborative and Community Development Practices ==
  
* Guest speaker: [http://eaves.ca David Eaves] (Jan 31)
+
* Learning to be Lost Productively
 +
** Adding to Mozilla is not like writing a program from scratch
 +
** Leverage the existing code by reading, studying, and copying existing code
 +
* Mozilla Source Code structure and style
 +
** [http://developer.mozilla.org/en/docs/Mozilla_Source_Code_Directory_Structure Mozilla directory structure]
 +
** [http://mozilla.org/hacking/mozilla-style-guide.html Developer style guide]
 +
** [http://www.mozilla.org/hacking/portable-cpp.html Portability Rules for C++]
 +
* Searching for Code
 +
** http://lxr.mozilla.org and http://mxr.mozilla.org
 +
* How to Make Changes
 +
** building with client.mk in mozilla/ vs. incremental builds
 +
** Working with Patches
 +
*** [http://developer.mozilla.org/en/docs/Creating_a_patch Creating a patch]
 +
 
 +
* '''Readings/Resources'''
 +
** Reading: Chapter 11 (pages 379-397) of Diomidis Spinellis, ''Code Reading: The Open Source Perspective'', ISDN 0-201-79940-5 - [http://www.spinellis.gr/codereading/ information about the book] - [http://proquest.safaribooksonline.com/?uiCode=seneca&xmlId=0201799405 eBook version via Seneca Library and Safari]
 +
 
 +
* '''TODO'''
 +
** Lab - Learning to use LXR/MXR effectively: [http://zenit.senecac.on.ca/wiki/index.php/Real_World_Mozilla_Source_Code_Reading_Lab Source Code Reading Lab] - Blog about your experience.
 +
** Lab - cvs diff and patch: [http://zenit.senecac.on.ca/wiki/index.php/Real_World_Mozilla_Incremental_Build_Lab Incremental Build Lab]
 +
** Practice doing incremental builds and applying patches
 +
** Identify the main file(s) that your project will be changing and blog about your experience finding them and your observations about those files.
 +
** State your 0.1 release target on your project's wiki page (explain what you will have completed by the time you reach 0.1 release). Discuss this with your professor.
 +
** Review, and where appropriate, comment on blog postings by other students.
  
 
== Week 5 – Bugs, Bugzilla, and Debugging ==
 
== Week 5 – Bugs, Bugzilla, and Debugging ==

Revision as of 14:05, 29 January 2008

Week 1 (Jan 8) Course introduction

  • TODO
    • 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
    • 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. Your personal page should initially include your contact information and a link to your blog; as you progress through the course, update this page with information about your work.
    • Add your blog feed and info to the Open Source@Seneca Planet List so that it appears in the OpenSource@Seneca Planet
    • Write a blog posting containing your reaction to and reflections on "The Catederal and the Bazaar" and "Revolution OS".
    • Start lurking on irc.mozilla.org - especially the #seneca and #developers channels (Note: to access the #seneca channel, you must be registered - type "/nickserv help" in your IRC client or refer to http://freenode.net/faq.shtml#registering for more information)
    • IRC tutorial - http://www.irchelp.org/irchelp/irctutorial.html#intro

Week 2 - Managing and Building large source trees

  • Revision Control Systems (RCS)
    • Introduction to RCS
    • cvs, svn, hg
    • Common concepts and tasks
      • Repository
      • Local Working Copy
      • RCS Changes (changesets) vs. Backups
      • Typical read-only activities: Checkout, Update, Log, Status
  • Using Make to build software
    • Intro to Make
    • Mozilla has over 50,000 Makefiles
  • Building Mozilla from Source
  • TODO
    • Complete all TODO items from Week 1
    • Watch online lectures about the Mozilla build system.
    • Practice creating a simple makefile
    • Try performing a Debug Mozilla build on your home machine and blog about the experience
    • Look at the Project List and Potential Projects pages and pick 3 projects on which you'd like to work--next week, you'll narrow this to just one. List them here along with your name so other students can see and groups can form.

Week 3 - Build (Continued)

  • TODO
    • Do a Debug Mozilla build on your home machine and blog about the experience
    • Finalize your project choice, form a group (if you are working in a group), and create a proper project page for your project in the Project List. See the full project instructions.
    • Blog about your project selection and your plans for the next step.

Week 4 - Collaborative and Community Development Practices

  • TODO
    • Lab - Learning to use LXR/MXR effectively: Source Code Reading Lab - Blog about your experience.
    • Lab - cvs diff and patch: Incremental Build Lab
    • Practice doing incremental builds and applying patches
    • Identify the main file(s) that your project will be changing and blog about your experience finding them and your observations about those files.
    • State your 0.1 release target on your project's wiki page (explain what you will have completed by the time you reach 0.1 release). Discuss this with your professor.
    • Review, and where appropriate, comment on blog postings by other students.

Week 5 – Bugs, Bugzilla, and Debugging

Week 6 – Developing the Browser

Week 7 – Extending the Browser

Break Week

Week 8 – Extending the Browser II

Week 9 – Bug Fixing

Week 10 – XPCOM - Modular Development in Mozilla

Week 11 – XPCOM II - Using XPCOM from JS/Chrome

Week 12 – Major Project Presentations

Week 13 – Presentations / Major Project Due

Previous Versions of OSD600

Fall 2007 Weekly Schedule