Difference between revisions of "Fall 2007 Weekly Schedule"

From CDOT Wiki
Jump to: navigation, search
(Week 4 (Sept 24) - Navigating the Mozilla source tree)
Line 105: Line 105:
 
** building with client.mk in mozilla/ vs. incremental builds
 
** building with client.mk in mozilla/ vs. incremental builds
 
** Working with Patches
 
** Working with Patches
*** cvs diff and patch - [http://zenit.senecac.on.ca/wiki/index.php/Real_World_Mozilla_Incremental_Build_Lab Incremental Build Lab]
 
 
*** [http://developer.mozilla.org/en/docs/Creating_a_Patch Creating a Patch]
 
*** [http://developer.mozilla.org/en/docs/Creating_a_Patch Creating a Patch]
  
Line 114: Line 113:
 
** 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]
 
** 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]
 
** Practice doing incremental builds and applying patches
 
** Practice doing incremental builds and applying patches
** Make a small change to some source code (more than just comments!) and prepare a patch file. Blog about your experiences.
+
** Lab - cvs diff and patch: [http://zenit.senecac.on.ca/wiki/index.php/Real_World_Mozilla_Incremental_Build_Lab Incremental Build Lab]
 +
** Make a small change to some source code (more than just comments!) and prepare a patch file. Trade with someone else (via IRC + Pastebin) to exchange the patch. Rebuild with the patch. Blog about the experience.
 +
** Blog about your experiences.
 
** Identify the main file(s) that your project will be changing and blog about your experience finding them and your observations about those files.
 
** Identify the main file(s) that your project will be changing and blog about your experience finding them and your observations about those files.

Revision as of 19:22, 23 September 2007

Introduction

The fall is broken into two parts. First, open source and Mozilla specific skills and ideas are taught. Students learn how to deal with the tools, techniques, and practices of the Mozilla project and its community. Second, students are taught about Mozilla’s extensibility model, and how to write Firefox Addons and Extensions.

Part I – Essential Mozilla Development Skills and Concepts

Week 1 (Sept 3) Course introduction

Week 2 (Sept 10) - Collaborative and Community Development Practices

Week 3 (Sept 17) - 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
    • Watch online lectures about the Mozilla build system.
    • Practice creating a simple makefile
    • 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.
  • NOTE
    • Thursday's class will be special, as we will have a guest speaker flying here to talk to you about the build. Please have your build done before Thursday so you can ask questions and understand what he's talking about.

Week 4 (Sept 24) - Navigating the Mozilla source tree

  • Readings/Resources
    • Reading: Chapter 11 (pages 379-397) of Diomidis Spinellis, Code Reading: The Open Source Perspective, ISDN 0-201-79940-5 - online version
  • TODO
    • Lab - Learning to use LXR/MXR effectively: Source Code Reading Lab
    • Practice doing incremental builds and applying patches
    • Lab - cvs diff and patch: Incremental Build Lab
    • Make a small change to some source code (more than just comments!) and prepare a patch file. Trade with someone else (via IRC + Pastebin) to exchange the patch. Rebuild with the patch. Blog about the experience.
    • Blog about your experiences.
    • Identify the main file(s) that your project will be changing and blog about your experience finding them and your observations about those files.