Fall 2007 Weekly Schedule

From CDOT Wiki
Revision as of 19:22, 23 September 2007 by Chris Tyler (talk | contribs) (Week 4 (Sept 24) - Navigating the Mozilla source tree)
Jump to: navigation, search

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.