SPR720

From CDOT Wiki
Revision as of 14:12, 31 August 2008 by Chris Tyler (talk | contribs)
Jump to: navigation, search

SPR720 -- Shell Programming

Professor

SPR720 is taught by Chris Tyler (Fall 2008).

Weekly Outline

See the Fall 2008 SPR720 Weekly Schedule for specific dates and topics.

Course Outline

Subject Description

Unix/Linux System Administrators use scripts to automate repetitive tasks, schedule tasks for execution at preset times, automate software installation/removal processes, and build tools. This course looks shell programming and scripting in the Bourne Again SHell (BASH), RPM spec files, and introductory Python. Students will learn how to write, debug, run, and modify BASH scripts, spec files, and python scripts.

Specific Outcomes

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

  • Create and use BASH scripts
  • Create and use Makefiles
  • Create RPM Specfiles
  • Build RPM packages
  • Use Mock to verify RPM build dependencies
  • Create and use simple Python scripts
  • Use basic regular expressions
  • Use common Linux commands

Topic Outline

  • Open Source and Linux history and overview
  • Bash scripting basics and Linux commands - 20%
  • Makefiles - 10%
  • Building packages (SPEC files, rpmbuild, Mock, repositories) - 40%
  • Python scripting basics - 20%
  • Using Python libraries - 10%

Modes Of Instruction

2 hours interactive lecture per week, and 2 hours lab time per week

Prescribed Text

Learning Python - 3rd Edition by Mark Lutz; ISBN 0-596-51398-4 published by O'Reilly

Reference Material

Learning the BASH Shell by Bill Rosenblatt and Cameron Newham Published by O'Reilly and Associates - 2nd Edition - 1998 ISBN 1-565-923-472

Promotion Policy

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

  • Achieve a grade of 55% or better on the final exam
  • Satisfactorily complete all assignments
  • Achieve a weighted average of 55% or better for the tests and final exam
  • Achieve a grade of 55% or better on the overall course

Modes of Evaluation

  • Final Exam 40%
  • Midterm Test 30%
  • Term Work 30%
    • Weekly labs 10%
    • Project 0.1 release 5%
    • Project 0.2 release 5%
    • Project 0.3 release 10%