Introduction To Linux For Programmers


This course was adapted from a one day Linux overview course designed for professional programmers moving from development on other operating systems platforms to Linux. It serves as a general introduction to operating systems concepts with a Linux based practicum.


Students should complete an introductory computer programming or information systems course and understand basic operating systems concepts from a user perspective. Students should also complete at least one programming course.

Learning Objectives

By the end of this course, students receive a basic introduction to the following topics:

  • Scheduling theory: job management, queues, priorities.
  • Computer organization.
  • Disk management: device physics and block allocation.
  • History of Linux.
  • Internal structures: device drivers, file system, processes, threads.
  • Command shells: login, environment and shell variables, special characters.
  • Command line processing: parsing, variable expansion, command formats, foreground and background jobs.
  • Shell navigation: directory structure, file permissions, links, pipes.
  • System administration: documentation, mounting disks, X, kill, networking.
  • Programming: configuration management, software installation, version control.
  • Scripting: command line parameters, flow control.

Course Outline

This is the actual outline used during the course.

Supplemental Material

Visit the Guides page of the The Linux Documentation Project and note the following guides:

  • Introduction to Linux - A Hands on Guide
  • Bash Guide for Beginners
  • The Linux System Administrators' Guide

We will use training material in these guides throughout the course.


We used one computer system for installing the Fedora Core 4 Linux system. Students ran a virtual machine or used X Windows to complete class exercises.

Copyright ©2006-2012, Left Brained Geeks. All Rights Reserved. License for reproduction, derivative works, internal commercial, and external non-commercial use granted to GITC faculty, staff, and students.