Difference between revisions of "Fall 2008 SPR720 Weekly Schedule"

From CDOT Wiki
Jump to: navigation, search
(Bash Scripting Basics)
(Bash Scripting Basics)
Line 51: Line 51:
 
* Creating a script
 
* Creating a script
 
** Putting commands in a file
 
** Putting commands in a file
** The shebang line: #!/bin/bash
+
** The shebang line: <code>#!/bin/bash</code>
 
** Permissions
 
** Permissions
 
*** Three communities: user-group-other
 
*** Three communities: user-group-other
 
*** Three permissions: read-write-execute
 
*** Three permissions: read-write-execute
 +
**** Permissions on directories
 
*** Symbolic and octal notation
 
*** Symbolic and octal notation
*** chmod command
+
*** <code>chmod</code> command
**** Relative notation
+
**** Relative notation: <code>[augo][+-=][rwxX][,[...]]</code>
 +
*** <code>ls -l</code> command
 
* Redirection
 
* Redirection
 
** Standard file descriptors
 
** Standard file descriptors
Line 64: Line 66:
 
*** stderr (2)
 
*** stderr (2)
 
*** Mind bender: ''how does'' <code>less</code> ''get keyboard input?''
 
*** Mind bender: ''how does'' <code>less</code> ''get keyboard input?''
** Output redirection: >  >>  
+
** Output redirection: <code>>  >></code>
** Input redirection: <  <<
+
** Input redirection: <code><  <<</code>
 
** Cloning
 
** Cloning
 
** Pipes
 
** Pipes
 
*** Filter programs
 
*** Filter programs
 
* Result codes
 
* Result codes
* Flow control (part 1): if/then/else/fi
+
* Flow control (part 1): <code>if/then/else/fi</code>
  
 
== IRC Session: Paul Frields ==
 
== IRC Session: Paul Frields ==

Revision as of 02:30, 9 September 2008

The tentative weekly schedule shown here is subject to change.

Week 1 (Sept 1) - Intro to Open Source / Command-line Basics

  • Course introduction
  • Introduction to Open Source and Linux
  • Introduction to/Review of the command line
    • Why use the command line?
    • Accessing the command line locally and remotely
      • VT's, terminal programs
      • ssh
    • Command recall and editing
  • Linux Commands
    • Builtin vs. external
    • Types of arguments
      • Option
      • Positional
      • Option with value
  • The Linux filesystem hierarchy
  • Accessing Documentation
    • manpages
    • info
    • Documentation viewers
  • TODO

Week 2 (Sept 8) - Bash Scripting Basics I

Announcements/discussion/review:

  • Blogging guidelines
  • Louis Suarez-Potts - Thursday Sept 11 2:15 pm
  • Paul Frields - IRC chat Sept 11 5-6 pm

The Fedora Project

  • What is a distribution?
  • Main functions of a distribution
    • Packaging
    • Integration
    • Testing/QA
    • Distributing (mirrors, media)
  • The Fedora Distribution
    • History
    • Community structure
    • Participating in the Fedora community
      • FAS2, mailing lists, wiki

Bash Scripting Basics

  • Creating a script
    • Putting commands in a file
    • The shebang line: #!/bin/bash
    • Permissions
      • Three communities: user-group-other
      • Three permissions: read-write-execute
        • Permissions on directories
      • Symbolic and octal notation
      • chmod command
        • Relative notation: [augo][+-=][rwxX][,[...]]
      • ls -l command
  • Redirection
    • Standard file descriptors
      • stdin (0)
      • stdout (1)
      • stderr (2)
      • Mind bender: how does less get keyboard input?
    • Output redirection: > >>
    • Input redirection: < <<
    • Cloning
    • Pipes
      • Filter programs
  • Result codes
  • Flow control (part 1): if/then/else/fi

IRC Session: Paul Frields

Paul Frields is the Fedora Project Leader. He will be meeting with us in freenode:#seneca from 5-6 pm on Thursday (Sept 11) during the SPR720 lab time.

Week 3 (Sept 15) - Bash Scripting Basics II

Week 4 (Sept 22) - Makefiles

Week 5 (Sept 29) - Creating SPEC files and RPMs

Week 6 (Oct 6) - RPM Scripts

Guest speaker: Andrew Overholt

Andrew Overholt works at Red Hat's Toronto office on Eclipse.

Week 7 (Oct 13) - Creating a Repository

FSOSS and Break Week (Oct 20)

Week 8 (Oct 27) - Using Mock

Week 9 (Nov 3) - Python Scripting Basics I

Week 10 (Nov 10) - Python Scripting Basics II

Week 11 (Nov 17) - Using Libvirt

Week 12 (Nov 24) - Project presentations

Week 13 (Dec 1) - Exam review

Exam Week (Dec 8)