Difference between revisions of "SBR600"

From CDOT Wiki
Jump to: navigation, search
 
(59 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
{| style="float: right; margin: 0 0 3em 2em; border: 1px solid black;"
 +
!style="background: #cccccc"| Quick Links
 +
|-
 +
|<div style="background:#ffff00">[[Fall 2013 SBR600 Weekly Schedule|Weekly Schedule]]</div>[[Fall 2013 SBR600 Participants|Participants and Project Table]]<br />[[SBR600 Potential Projects|Potential Project List]]<br />[[Fall 2013 SBR600 Presentation Schedule|Release Presentation Schedule]]<br />[https://scs.senecac.on.ca/course/sbr600 Course Outline]<br />[[Fedora ARM Secondary Architecture]]<br />[http://pidora.ca Pidora]<br />[http://fedoraproject.org Fedora Project]<br />[http://docs.fedoraproject.org/ Fedora documentation]<br />[http://zenit.senecac.on.ca/~chris.tyler/planet/ Planet CDOT]<br />[http://koji.fedoraproject.org Fedora Koji]<br />[http://koji.pidora.ca Pidora Koji]
 +
|}
 +
 +
{{Admon/important|Course Availability|This course has been temporarily replaced by [[SPO600|SPO600 Software Portability and Optimization]] to take advantage of the unique learning opportunity presented by the emergence of a new architecture: 64-bit ARM. We anticipate offering SBR600 at a future date.}}
 +
 
= Software Build and Release - SBR600 =
 
= Software Build and Release - SBR600 =
  
[[Category:SBR600]]This is a professional option in the CTY program. It will be offered for the first time in January, 2009.
+
[[Category:SBR600]]Software build and release is the process of building (compiling, testing, and packaging) software for further testing or in preparation for release, and the release and distribution of the built software and updates.
 +
 
 +
This course is a professional option in the [http://scs.senecacollege.ca/ Seneca School of Information and Communication Technology] [https://scs.senecac.on.ca/cty CTY] program. It has been offered since January 2009.
  
== Professor ==
+
== SBR600 in Fall 2013 ==
  
SYA810 is taught by [[User:Chris Tyler|Chris Tyler]] (Fall 2009)
+
In SBR600, you'll be working directly with the Fedora project and other open source communities, on various build and release projects. This semester, most projects will focus on improvements to [http://pidora.ca Pidora], a [[:fedora:Fedora Remix|Fedora Remix]] for the [http://raspberrypi.org Raspberry Pi].
  
==[[Fall 2009 SBR600 Weekly Schedule|Weekly Outline]]==
+
Note that, unlike some other project-based courses, the results of the projects done in SBR600 will be incorporated into Pidora, 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, using relevant [[SBR600 Communication Tools|communication tools]]. Work performed in this course will be licensed using the relevant open source licenses used by the associated community.
  
See the [[Fall 2009 SBR600 Weekly Schedule]] for specific dates and topics.
+
Working in an open source community provides the opportunity to build solid real-world experience, your technical skills and reputation, and a network of contacts, all of which are useful in developing your career.
  
= Course Description =
+
=== Course Materials ===
  
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.
+
* Course information and labs are online.
 +
* You will require access to a personal Fedora 18 or Fedora 19 installation. This may be on your own laptop, on a virtual machine on your laptop, on an SSH-accessible system (such as a home desktop computer), or on a SATA disk pack or USB drive for use with the Seneca computers.
 +
* Recommended (optional): [[Purchase a Raspberry Pi]]
  
== Prerequisites ==
+
=== Professor ===
OPS335 & OPS435
 
  
== Specific Outcomes ==
+
SBR600 is taught by [[User:Chris Tyler|Chris Tyler]].
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 ==
+
=== Succeeding in SBR600 ===
* 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
 
* Working with Open Source communities - 10%
 
** Communication
 
** Collaboration
 
** Managing public access to infrastructure
 
  
== Modes Of Instruction ==
+
There are three keys to success in this course:
* Two hours interactive lecture per week, and two hours activity-based learning per week (four hours total)
 
  
== Prescribed Text ==
+
1. '''Work ''in'' the open source community.''' The projects we will be doing are too large and too unfamiliar for you to succeed entirely on your own. You will need to use the community's knowledge, connections, and resources to succeed well. Respect the community's standards, tell the community what you're doing, ask when you have a question, and pull your own weight within the community.
* None
 
  
== Reference Material ==
+
2. '''Blog.''' Tell your professor, your colleagues, the community, and everyone else what you're doing. Write a lot and write well, include good technical content, and incorporate links to all relevant resources and the product of your work, and write often. Almost all of your work in this course is submitted by blogging.
* TBA
 
  
== Supplies ==
+
3. '''Be ambitious.''' In this course, you will need to be the driving force behind your project. The community will help you, but it's up to you to supply the energy. '''It's best to plan to make a bit of progress each day.'''
* TBA (may vary with project)
 
  
== Promotion Policy ==
+
== Weekly Outline ==
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 ==
+
See the [[Fall 2013 SBR600 Weekly Schedule]] for specific dates and topics.
* 60% Project Deliverables
 
* 20% Communication (including Wiki and Blog)
 
* 10% Contributions to Other Projects
 
* 10% Labs and Quizzes
 
  
= Links =
+
= Course Outline =
  
* [[Initial rpm building and distribution]]
+
See the online [https://scs.senecac.on.ca/course/sbr600 course outline] for course details.

Latest revision as of 23:54, 16 March 2015

Quick Links
Participants and Project Table
Potential Project List
Release Presentation Schedule
Course Outline
Fedora ARM Secondary Architecture
Pidora
Fedora Project
Fedora documentation
Planet CDOT
Fedora Koji
Pidora Koji
Important.png
Course Availability
This course has been temporarily replaced by SPO600 Software Portability and Optimization to take advantage of the unique learning opportunity presented by the emergence of a new architecture: 64-bit ARM. We anticipate offering SBR600 at a future date.

Software Build and Release - SBR600

Software build and release is the process of building (compiling, testing, and packaging) software for further testing or in preparation for release, and the release and distribution of the built software and updates.

This course is a professional option in the Seneca School of Information and Communication Technology CTY program. It has been offered since January 2009.

SBR600 in Fall 2013

In SBR600, you'll be working directly with the Fedora project and other open source communities, on various build and release projects. This semester, most projects will focus on improvements to Pidora, a Fedora Remix for the Raspberry Pi.

Note that, unlike some other project-based courses, the results of the projects done in SBR600 will be incorporated into Pidora, 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, using relevant communication tools. Work performed in this course will be licensed using the relevant open source licenses used by the associated community.

Working in an open source community provides the opportunity to build solid real-world experience, your technical skills and reputation, and a network of contacts, all of which are useful in developing your career.

Course Materials

  • Course information and labs are online.
  • You will require access to a personal Fedora 18 or Fedora 19 installation. This may be on your own laptop, on a virtual machine on your laptop, on an SSH-accessible system (such as a home desktop computer), or on a SATA disk pack or USB drive for use with the Seneca computers.
  • Recommended (optional): Purchase a Raspberry Pi

Professor

SBR600 is taught by Chris Tyler.

Succeeding in SBR600

There are three keys to success in this course:

1. Work in the open source community. The projects we will be doing are too large and too unfamiliar for you to succeed entirely on your own. You will need to use the community's knowledge, connections, and resources to succeed well. Respect the community's standards, tell the community what you're doing, ask when you have a question, and pull your own weight within the community.

2. Blog. Tell your professor, your colleagues, the community, and everyone else what you're doing. Write a lot and write well, include good technical content, and incorporate links to all relevant resources and the product of your work, and write often. Almost all of your work in this course is submitted by blogging.

3. Be ambitious. In this course, you will need to be the driving force behind your project. The community will help you, but it's up to you to supply the energy. It's best to plan to make a bit of progress each day.

Weekly Outline

See the Fall 2013 SBR600 Weekly Schedule for specific dates and topics.

Course Outline

See the online course outline for course details.