Difference between revisions of "Fall 2007 Weekly Schedule"

From CDOT Wiki
Jump to: navigation, search
(Week 3 (Sept 17) - Managing and Building large source trees: Fixed example makefile link)
Line 90: Line 90:
 
* '''NOTE'''
 
* '''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.
 
** 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 ==
 +
 +
* 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
 +
*** 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]
 +
 +
* '''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/ online version]
 +
 +
* '''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]
 +
** 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.
 +
 +
-->

Revision as of 19:10, 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.