Difference between revisions of "DPS909 and OSD600 Fall 2009 Weekly Schedule"

From CDOT Wiki
Jump to: navigation, search
(Week 6 (Oct 12) – Bug Fixing: Putting it all together (building, debugging, patches, bugs))
m (Week 5 (Oct 5) – Bugs, Bugzilla, and Debugging)
 
(2 intermediate revisions by one other user not shown)
Line 194: Line 194:
 
* '''Readings/Resources'''
 
* '''Readings/Resources'''
 
** [[The Life-cycle of a Bug]] (on-line lecture) by Mozilla's Mike Connor
 
** [[The Life-cycle of a Bug]] (on-line lecture) by Mozilla's Mike Connor
** [http://sparc.senecacollege.ca/pub/mozilla.lecture/mozilla-20073/vlad-debugging-seneca.avi Strategies for Debugging Mozilla] (on-line lecture) by Mozilla's Vladimir Vukićević
+
** [http://belmont.senecac.on.ca/pub/mozilla.lecture/lecture/mozilla-20073/vlad-debugging-seneca.avi Strategies for Debugging Mozilla] (on-line lecture) by Mozilla's Vladimir Vukićević
 
** [http://www.toolness.com/wp/?p=25 Account of fixing a first bug, by Mozilla's Atul Varma]
 
** [http://www.toolness.com/wp/?p=25 Account of fixing a first bug, by Mozilla's Atul Varma]
  
Line 228: Line 228:
 
** Complete and add '''2 new contributions''' to your personal list of contributions.
 
** Complete and add '''2 new contributions''' to your personal list of contributions.
 
** Complete this week's [[Thunderbird Bug Fix Lab|lab]] (hopefully during class time).  Make sure you complete the '''Wiki''' and '''Blog''' requirements in the lab.
 
** Complete this week's [[Thunderbird Bug Fix Lab|lab]] (hopefully during class time).  Make sure you complete the '''Wiki''' and '''Blog''' requirements in the lab.
 +
 +
== Week 7 (Nov 2) – Modifying the Browser -- In Tree ==
 +
 +
* JavaScript development
 +
* Debugging JavaScript
 +
* Working with Chrome in the Source Tree
 +
* JAR files
 +
* Lab - [https://wiki.mozilla.org/Education/Learning/ModifyBrowser Modifying the Browser Lab]
 +
 +
* '''Readings/Resources'''
 +
* Watch [http://www.youtube.com/watch?v=hQVTIJBZook JavaScript: The Good Parts] Google lecture by [http://www.crockford.com/ Douglas Crockford].
 +
 +
* '''TODO'''
 +
** Blog about two things you learned about JavaScript while watching Crockford's talk.  What surprised you most?
 +
** Complete the [https://wiki.mozilla.org/Education/Learning/ModifyBrowser lab] and '''post a patch''' to your personal wiki page.
 +
** Look for opportunities to help other projects as part of your contrib mark.  Blog about things people can do for your project.
 +
** Work on your 0.2 project release, blogging about your plans and progress.
 +
** Remember that you are required to blog '''at least once per week'''.

Latest revision as of 10:39, 22 December 2009

Introduction

The fall is broken into two parts. First, general open source and and community (i.e., Mozilla) specific skills and ideas are taught. Students learn how to deal with the tools, techniques, and practices of their chosen project and its community. Second, students are taught about extensibility models, and how to write Add-ons and Extensions.

Part I – Essential Open Source Development Skills and Concepts

Week 1 (Sept 7) Course introduction

  • TODO
    • Complete readings and watching/listening to this weeks resources.
    • 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 as well as the Fall 2009 students page
    • 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
    • Add your blog feed and info to the Open Source@Seneca Planet List so that it appears in the OpenSource@Seneca Planet
    • Blog on your reactions to the readings for this week, and also introduce yourself.
    • Begin learning how to use IRC for communication. We'll cover this in detail next week, but it's better to get started early.

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

  • Project discussion
  • TODO
    • Ensure all TODO items from week 1 are completed
    • Begin (or continue) reading the CDOT Blog Planet, as this is where we will share class announcements and discussions.
    • Create Wiki Accounts on MDC and wikimo
    • Consider creating an account on Twitter to use in conjunction with your blog
    • Dial-in to one of the Mozilla Status calls happening this week, and blog about the experience. I'd recommend the Firefox call.
    • Join at least one Mozilla Mailing list
    • Comment in at least one other student's blog with your feedback to what they wrote. Reminder: Comments have to be approved for them to be be shown on your blog. Check your blog settings.
    • Watch online lectures for this week about open source community, blog your reactions.
    • Complete this week's lab by Friday.

Week 3 (Sept 21) - 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
  • Build Environments
    • Finding and Installing build dependencies
    • Operating systems, cross-platform builds
    • Machine requirements
      • Fast I/O, lots of RAM (for linking)
    • Tools
    • Libraries
    • Settings
      • Environment variables, PATHs
  • Build Tools
    • autoconf
    • make
    • Common open source approaches to automation (Python, Bash)
  • TODO
    • Watch online lectures about the Mozilla build system.
    • Read the material on Mercurial, GCC, and Make
    • Build Firefox (or 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.
    • Pick your project and complete your Initial Project Plan due next Monday Sept 28th.

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

Week 5 (Oct 5) – Bugs, Bugzilla, and Debugging

  • TODO
    • Create a bugzilla account
    • Find 3+ bugs related to your project, and add them to your project wiki page
    • CC yourself on two bugs that relate to your project
    • Watch a user in bugzilla for the week and blog about the experience (e.g., ted, mfinkle, bsmedberg, or someone else related to your project)
    • Be working on your 0.1 release. Ask for help if you're stuck
    • Register for FSOSS or join as a volunteer.
    • Come up with some ways for others to contribute to your project and add them to your project wiki page. Remember, you're asking for help, so be clear about what you need done, and make it easy so that people will pick you vs. another project.

Week 6 (Oct 12) – Bug Fixing: Putting it all together (building, debugging, patches, bugs)

  • TODO
    • No class on Monday due to Thanksgiving.
    • Complete work on your 0.1 release, updating your blog, your wiki page, etc. Due next week
    • Register for FSOSS or join as a volunteer.
    • Complete and add 2 new contributions to your personal list of contributions.
    • Complete this week's lab (hopefully during class time). Make sure you complete the Wiki and Blog requirements in the lab.

Week 7 (Nov 2) – Modifying the Browser -- In Tree

  • JavaScript development
  • Debugging JavaScript
  • Working with Chrome in the Source Tree
  • JAR files
  • Lab - Modifying the Browser Lab
  • TODO
    • Blog about two things you learned about JavaScript while watching Crockford's talk. What surprised you most?
    • Complete the lab and post a patch to your personal wiki page.
    • Look for opportunities to help other projects as part of your contrib mark. Blog about things people can do for your project.
    • Work on your 0.2 project release, blogging about your plans and progress.
    • Remember that you are required to blog at least once per week.