SBR600

From CDOT Wiki
Revision as of 11:34, 4 December 2008 by Chris Tyler (talk | contribs) (Specific Outcomes)
Jump to: navigation, search

Software Build and Release - SBR600

This is a professional option in the CTY program. It will be offered for the first time in January, 2009. Watch for updates on this page as the course outline and other details are finalized.

Course Description

Software Build and Release creates reliable, replicable processes to turn source code and related inputs into ready-to-run software. These critical systems are used in software development companies, IT departments, and Open Source projects, and are highly automated through the use of scripting languages such as Bash, Perl, and Python. Students will learn to manage the Build and Release process by selecting, installing, configuring, customizing, and maintaining a variety of build tools. This is a project-based course, and students will work within an established Open Source community. The particular open source community or communities to be studied will vary with each offering and be announced at the beginning of the semester.

Prerequisites

OPS335 & OPS435

Specific Outcomes

Upon successful completion of this subject students should be able to:

  • Describe the Build and Release process.
  • Discuss the infrastructure necessary to support Build and Release.
  • Discuss the issues and currents in build and release infrastructure and technology.
  • Discuss the challenges inherent in the build and release process.
  • Select, install, configure, customize, and maintain a variety of tools for building, testing, composing, packaging, and distributing software.
  • Develop virtualized, parallel, distributed, cloud, and grid computing strategies for build and release.
  • Work collaboratively with fellow students and, where possible, members of the open source community.

Topic Outline

  • Overview of the Build and Release process - 10%
    • Goals and scope of the Build and Release process
    • Automation
    • Security, replicability, and process integrity
  • Basic Build Concepts - 30%
    • make
    • Version control systems
    • Automated testing
    • Composing and packaging
    • Distributing released software
    • Handling multiple platforms
    • Scripted building processes
  • Server farms and distributed processing - 30%
    • Multiple target platforms
    • Parallel, distributed, grid, and cloud computing
  • Supporting technologies - 20%
    • Virtualization
    • Monitoring and management technologies
  • Working with Open Source communities - 10%

Modes Of Instruction

  • Two hours interactive lecture per week, and two hours activity-based learning per week (four hours total)

Prescribed Text

  • None

Reference Material

  • TBA

Supplies

  • TBA

Promotion Policy

To obtain a credit in this subject, a student must:

  • Achieve a grade of 55% or better on the overall course
  • Achieve a grade of 55% or better on the project deliverables

Modes of Evaluation

  • 60% Project Deliverables
  • 20% Communication (including Wiki and Blog)
  • 10% Contributions to Other Projects
  • 10% Labs and Quizzes