Difference between revisions of "SBR600"
Chris Tyler (talk | contribs) (→Prerequisites) |
Chris Tyler (talk | contribs) |
||
Line 7: | Line 7: | ||
[[Category:SBR600]]This is a professional option in the CTY program. It has been offered since January 2009. | [[Category:SBR600]]This is a professional option in the CTY program. It has been offered since January 2009. | ||
− | |||
− | |||
− | |||
− | |||
== SBR600 in Fall 2010 == | == SBR600 in Fall 2010 == | ||
Line 18: | Line 14: | ||
Note that, unlike some other project-based courses, the results of the projects done in SBR600 will be incorporated into the Fedora project (or other open source projects) and have a real impact on other people. For this reason, projects must be completed in collaboration with the relevant open source communities. | Note that, unlike some other project-based courses, the results of the projects done in SBR600 will be incorporated into the Fedora project (or other open source projects) and have a real impact on other people. For this reason, projects must be completed in collaboration with the relevant open source communities. | ||
− | ==[[Fall 2010 SBR600 Weekly Schedule|Weekly Outline]]== | + | Students will require access to a personal Fedora installation, either on their own laptop, on a virtual machine on their laptop, or on a SATA disk pack. |
+ | |||
+ | == Professor == | ||
+ | |||
+ | SBR600 is taught by [[User:Chris Tyler|Chris Tyler]] (Fall 2010) | ||
+ | |||
+ | == [[Fall 2010 SBR600 Weekly Schedule|Weekly Outline]] == | ||
See the [[Fall 2010 SBR600 Weekly Schedule]] for specific dates and topics. | See the [[Fall 2010 SBR600 Weekly Schedule]] for specific dates and topics. |
Revision as of 09:36, 14 August 2010
Quick Links |
---|
Weekly Schedule Fedora ARM Secondary Architecture Course Outline Fedora Project Fedora documentation |
Contents
Software Build and Release - SBR600
This is a professional option in the CTY program. It has been offered since January 2009.SBR600 in Fall 2010
This semester, students will be working directly with the Fedora project, on various build and release projects. Some of this work will be centered on the Fedora ARM Secondary Architecture project started by the January 2010 SBR600 class, and the rest of the projects will focus on other aspects of the Fedora build process. The skills required will vary according to the project selected.
Note that, unlike some other project-based courses, the results of the projects done in SBR600 will be incorporated into the Fedora project (or other open source projects) and have a real impact on other people. For this reason, projects must be completed in collaboration with the relevant open source communities.
Students will require access to a personal Fedora installation, either on their own laptop, on a virtual machine on their laptop, or on a SATA disk pack.
Professor
SBR600 is taught by Chris Tyler (Fall 2010)
Weekly Outline
See the Fall 2010 SBR600 Weekly Schedule for specific dates and topics.
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
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.
- Write scripts for build automation and testing.
- Discuss the issues and current trends in build and release infrastructure and technology.
- Discuss the human and technical 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
- Creating the infrastructure
- Automation
- Scripting
- Scheduling
- Security, replicability, and process integrity
- Basic Build Concepts - 30%
- make
- Version control systems
- Branching
- Tagging
- Automated testing
- Composing and packaging
- Distributing released software
- Handling multiple platforms
- Scripted build processes
- Server farms and distributed processing - 30%
- Multiple target platforms
- Computing platforms
- Parallel computing
- Distributed computing
- Grid computing
- Cloud computing
- Supporting technologies - 20%
- Virtualization
- Scripted control of virtual machines
- Monitoring and management technologies
- Virtualization
- Working with Open Source communities - 10%
- Communication
- Collaboration
- Managing public access to infrastructure
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 (may vary with project)
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