Linux Career Path Courses:

Learning to program is both fun and easy by taking this brand new and exciting Introduction to Programming for Non-Programmers course! Not only will you learn the foundations of how to program, but you’ll also gain a solid foundation in the world’s most popular computer language: JavaScript.  Without having to install any special software, and using only your web browser and your text editor, you’ll journey into the exacting world of programming. Using an easy to learn training style, you’ll learn about the JavaScript language, functions, variables, making decisions, looping, and more. At the end of the course, you’ll be in a great position to take other introductory programming language course.

View all course details
Video Title
01: Introduction to Programming
16 min
02: Introduction to JavaScript
15 min
Quiz: Introduction to Programming and JavaScript
04: Functions Part 2
17 min
Quiz: Functions
05: Variables
24 min
Quiz: Variables
06: Making Decisions
22 min
Quiz: Making Decisions
07: Repeating Steps
24 min
Quiz: Repeating Steps
08: Course Summary
20 min
09: Capstone Exercise
15 min
Course Survey
View all course details

Module 00: Course Introduction


Module 01: Introduction to Programming

  • What is a computer language?
  • Why should you learn a computer language?
  • What computer language should you learn first?
  • Demo: Let's Make our First Statement in JavaScript!
  • Lab Exercise: hello.html

Module 02: Introduction to JavaScript 

  • JavaScript Advantages
  • Web Browser and JavaScript
  • .html File Extension
  • Editing hello.html
  • // and /* … */
  • Demo: Hello World
  • Lab Exercise: Hello World

Module 03: Functions Part 1  

  • About Functions
  • alert() w/o input parameter
  • Semicolon
  • alert() w/Input parameter
  • Strings

Module 04: Functions Part 2 

  • Defining Functions without inputs
  • Defining Functions with inputs
  • Returning values from Functions
  • Demo: Using the Alert Function
  • Lab Exercise: Using the Alert Function

Module 05: Variables 

  • JavaScript Variables
  • var keyword
  • String variables
  • Number variables
  • Operators: +, -, *, /
  • Confirm Function
  • true, false
  • prompt() Function
  • Demo: Using Variables
  • Lab Exercise: Using Variables

Module 06: Making Decisions 

  • if statement
  • if else statement
  • confirm() with if statement
  • confirm() with if-else statement
  • Compare Operators: ==, <. >, <=, >=
  • if-else-if…
  • Demo: Making Decisions
  • Lab Exercise: Making Decisions

Module 07: Repeating Steps 

  • Repeating fixed number of times
  • Repeating variable number of times
  • while statement
  • while statement with prompt()
  • Checking for null
  • Demo: Repeating Steps
  • Lab Exercise: Repeating Steps 

Module 08: Course Summary

  • Put All Skills Together To Write a Javascript App
  • Review the key concepts
  • Write a temperature conversion script!


View all course details

The only prerequisite is a basic familiarity with computers, along with an eagerness to learn programming. You do not need any programming experience.

View all course details

This course provides a fundamental understanding of the functions within any modern operating system. Most users of computers, like Windows 10 or Redhat V8, only deal with the GUI (graphical user interface). This course explores the functions used by those GUIs and provides an understanding of what is really happening. Used either stand-alone to gain a basic understanding of operating system concepts or with a companion textbook, Modern Operating Systems by Andrew S. Tanenbaum, while viewing the course or as a resource for later reference, this course provides a solid foundation that would enhance understanding for other courses, such as USB 2.0 Architecture Part 1, Oracle 12c Real Application Clusters Part 2: Performance Tuning, Administration and Backup, PCI Express (PCIe) Overview, Cloud Computing Foundation, and any programming course.  This course is a pre-requisite for the Linux V7 Essentials course.

View all course details
Video Title
01: Introduction to Operating Systems
25 min
02: Operating Systems and Hardware
25 min
03: Operating System Concepts
26 min
04: Operating System Structure
22 min
05: Processes and Threads
24 min
06: Interprocess Communication
22 min
08: Deadlocks
23 min
09: Memory Management
28 min
10: Input/Output
27 min
11: Files Systems
25 min
12: Multimedia Operating Systems
25 min
13: Multiple Processor Systems
27 min
14: Operating System Security
25 min
15: Examples of Operating System Architectures
24 min
16: Course Summary
6 min
Course Survey
View all course details

Module 00: Course Introduction - Fundamentals of Operating Systems


Module 01:  Introduction to Operating Systems

  • What is an operating system?
  • History of Operating Systems
  • Types of Operating Systems

Module 02: Operating Systems and Hardware

  • Operating Systems Concepts
  • Processor and Processor Features
  • Processor Pipeline and Execution
  • Operating Systems and Processors
  • Memory Overview
  • I/O Devices Overview
  • Operating Systems and Hardware Quiz

Module 03: Operating System Concepts

  • Types of Operating Systems
  • Services Provided by Operating Systems
  • Invoking Operating System Services
  • Operating System Concepts Quiz

Module 04: Operating System Structure

  • Monolithic Systems
  • Layered Systems
  • Virtual Machines
  • Other Structures 
  • Operating System Structure Quiz

Module 05: Processes and Threads

  • The Process Model
  • The Thread Model
  • Implementation Techniques
  • Trade-offs 
  • Processes and Threads Quiz

Module 06:  Interprocess Communication 

  • Types of Interprocess Communication
  • Operating System Implementations
  • Add-on Implementations
  • Interprocess Communication Quiz

Module 07:  Scheduling

  • Introduction to Operating System Scheduling
  • Types of Schedulers
  • Policy Versus Mechanism
  • Thread Scheduling
  • Scheduling Quiz

Module 08:  Deadlocks

  • What are deadlocks?
  • Detection and Recovery
  • Avoidance
  • Prevention
  • Other Issues 
  • Deadlocks Quiz

Module 09:  Memory Management

  • Basics of Memory Management
  • Swapping
  • Paging for Memory Management
  • Paging for Virtual Memory
  • Implementation Issues 
  • Memory Management Quiz

Module 10:  Input/Output

  • Principles of I/O Hardware
  • Principles of I/O Software
  • I/O Software Layers
  • Types of I/O Devices
  • Power Management
  • Input/Output Quiz

Module 11:  Files Systems

  • File Systems Basics 
  • Files
  • Directories
  • Implementation
  • Examples 
  • File Systems Quiz

Module 12:  Multimedia Operating Systems

  • Introduction to Multimedia Operating Systems
  • Multimedia Files
  • Multimedia Process Scheduling
  • Multimedia File Systems
  • Caching
  • Disk Scheduling
  • Multimedia Operating Systems Quiz

Module 13:  Multiple Processor Systems

  • Types of Multiple Processors
  • Multiple Processor Hardware  
  • Multiple Processor Operating Systems
  • Multiple Processor Scheduling
  • Multiple Computers
  • Multiple Processor Systems Quiz 

Module 14:  Operating System Security

  • The Security Environment
  • Basics of Cryptography
  • User Authentication 
  • Security Attacks 
  • Protection Mechanisms
  • Security Quiz

Module 15: Examples of Operating System Architectures

  • Unix and Linux
  • Windows 
  • Others
  • Operating System Architectures Quiz

Module 16: Course Summary

View all course details

Course attendees should have a general understanding of computer use, including starting and using applications, creating and using files, and a basic exposure to using computers connected to some form of network. Some knowledge of programming, computer hardware and application design will be helpful but is not required.  If you do not have this experience, we recommend the following GogoTraining course, C Programming Bootcamp Part 1.

View all course details

This hands-on class will teach you the basics of Linux V7 using Red Hat Linux, a powerful open-source operating system.  You will learn how to install, work with users and groups, and program using bash shell and the vi editor. This class, in addition to Linux V7 System Administration, prepares you to sit for the  Certified System Administrator exam given by Red Hat. This course also provides the necessary foundation for any version of Linux.

View all course details
Video Title
01: Introduction to Linux
17 min
02: Installation
14 min
03: Linux Usage Basics
15 min
04: Running Linux Commands
23 min
05: Exploring the Filesystem Part 1
18 min
06: Exploring the Filesystem Part 2
16 min
07: Introduction to the bash Shell
18 min
08: Standard Input/Output and Pipes
17 min
09: Introduction to Users and Groups
12 min
10: Text Processing Part 1
14 min
11: Text Processing Part 2
19 min
12: Basic System Configuration
13 min
13: The vi Editor Part 1
15 min
14: The vi Editor Part 2
13 min
16: Shell Programming Part 1
11 min
17: Shell Programming Part 2
17 min
18: Shell Programming Part 3
19 min
19: Network Applications Part 1
13 min
20: Network Applications Part 2
11 min
21: Advanced Users and Groups Part 1
13 min
22: Advanced Users and Groups Part 2
18 min
23: Finding Things
17 min
24: Linux Processes Part 1
11 min
25: Linux Processes Part 2
20 min
26: Advanced File System Part 1
16 min
27: Advanced File System Part 2
11 min
28: The Next Steps
4 min
Course Survey
View all course details

Module 00: Course Introduction - Red Hat Linux V7 Essentials 

Module 01: Introduction to Linux

  • Linux history
  • Advantages of Linux and Open-source
  • Linux distributions
  • Three basic parts of Linux

Module 02: V7 Installation

  • Hardware compatibility
  • Installer Features
  • Install boot process
  • First boot
  • Lab Exercise: Installing Linux

Module 03: Linux Usage Basics 

  • Logging in
  • Accessing the command line
  • Changing your password
  • The root user
  • Elevating privileges
  • Editing text files
  • Lab Exercise: Working with root user

Module 04: Running Linux Commands 

  • Running commands
  • Getting help
  • The whatis command
  • The --help option
  • man and info
  • Demo: Running Linux Command
  • Lab Exercise: Trying date, man and info command

Module 05: Exploring the Filesystem Part 1

  • Overview of the filesystem hierarchy
  • pwd, pathname, ls and cd
  • Demo: Commands to Explore the Filesystem

Module 06: Exploring the Filesystem Part 2 

  • Copying and removing files
  • Creating and removing directories
  • Nautilus
  • Determining file content, viewing files, file permissions
  • Demo: Using Nautilus
  • Lab Exercise: Using shell Commands

Module 07: Introduction to the bash Shell 

  • Command line shortcuts and history tricks
  • Command line expansion
  • Command editing tricks
  • gnome-terminal
  • Demo: Bash and the Gnome Terminal
  • Lab Exercise: Working with bash shell

Module 08: Standard Input/Output and Pipes

  • Standard input, output and error
  • Redirecting standard input and output
  • Redirecting standard error
  • Redirecting both standard input and standard error
  • Using pipes
  • Demo: Input and Output Redirection
  • Lab Exercise: Redirecting Input and Output

Module 09: Introduction to Users and Groups 

  • Linux security model
  • Users and Groups
  • Permission types
  • Examining and changing permissions
  • Lab Exercise: Using Permissions

Module 10: Text Processing Part 1

  • Regex Patterns
  • Sed
  • Exercise: Word match with Regexes

Module 11: Text Processing Part 2

  • Extracting and manipulating text with sed, awk and Perl
  • Demo: sed and awk Examples
  • Perl
  • Lab Exercise: Write a sed Command

Module 12: Basic System Configuration 

  • Configuring date and time
  • Configuring printers
  • Network configuration
  • System logs
  • Demo: - Configuring a Printer
  • Lab Exercise: Configuring a Basic System

Module 13: The vi Editor Part 1

  • Using vi
  • Command vs. insert mode
  • Demo: vi First Steps

Module 14: The vi Editor Part 2

  • Changing, pasting, deleting, copying and importing text
  • Joining, searching and replacing text
  • Splitting screen
  • Configuring vi
  • Lab Exercise: Using vi Editor

Module 15: Configuring the bash Shell 

  • bash variables
  • Environment variables
  • Aliases
  • Startup and exit scripts
  • Intro to shell scripting
  • Lab Exercise: Configuring the bash Shell

Module 16: Shell Programming Part 1

  • Create a simple shell program
  • Execute a simple shell program
  • Demo: Creating and Executing Shell Programs
  • Lab Exercises

Module 17: Shell Programming Part 2

  • Using variables
  • read and expr, || and &&
  • Demo: Variables, read and expr
  • Lab Exercises

Module 18: Shell Programming Part 3

  • The test command
  • if, while, until, for, case
  • Lab Exercises

Module 19: Network Applications Part 1 

  • Firefox and other web browsers
  • Evolution and other email clients
  • Email, encryption and digital signatures
  • The empathy messaging system

Module 20: Network Applications Part 2

  • telnet and the “r” services
  • ssh, scp
  • FTP clients
  • Connecting to Windows disk shares
  • File transfer with Nautilus
  • Lab Exercise: Using Network Application Tools

Module 21: Advanced Users and Groups Part 1

  • User and group ID numbers
  • /etc/passwd, /etc/group and /etc/shadow
  • System users and groups
  • Changing your identity

Module 22: Advanced Users and Groups Part 2

  • Default permissions
  • SUID, SGID and sticky bits
  • Demo: SUID, SGID and sticky bits
  • Lab Exercise: Using umask

Module 23: Finding Things

  • which
  • whatis
  • man –k (aka. apropos)
  • find
  • locate
  • The Gnome search tool
  • Demo: Examples of Finding Files
  • Lab Exercise: Finding Programs, Files, Pages

Module 24: Linux Processes Part 1 

  • Intro to processes
  • Viewing processes, process states

Module 25: Linux Processes Part 2 

  • Sending signals and terminating processes
  • Process management tools
  • Running a process in the background
  • Suspending a process
  • cron and anacron
  • Demo: Process Management
  • Lab Exercise: Experiment with ps, top and kill

Module 26: Advanced File System Part 1

  • Partitions and filesystems
  • Inode numbers
  • Checking free space

Module 27: Advanced File System Part 2

  • Working with archive files
  • Compression utilities
  • Demo: Archiving Files
  • Lab Exercise: Using labfile

Module 28: The Next Steps

  • Next steps in Linux
  • Other Linux training classes
  • The Linux community
View all course details

This hands-on class will teach you the how to administer a Linux V7 system. You’ll learn how to install Linux V7, handle system initialization, work with disk partitions, and manage packages, users and groups. Additionally, the course will cover networking, using utilities to find things, discuss the Linux Kernel, the X Windows system and learn to troubleshoot. This course was written using Red Hat Linux and provides the necessary foundation for administering any version of Linux.

This class, in addition to Linux V7 Essentials, prepares you to sit for the Certified System Administrator exam. 

View all course details
Video Title
01: Linux Review
10 min
02: Linux V7 Installation
28 min
03: Virtual Machines
10 min
04: System Initialization Part 1
16 min
05: System Initialization Part 2
28 min
06: File System Management Part 1
17 min
07: File System Management Part 2
20 min
08: More File Systems
22 min
09: Package Management
22 min
10: Managing Users and Groups
19 min
12: User Administration Part 2
22 min
13: ACL, PAM and Remote Authentication
18 min
14: Quotas and LUKS
17 min
15: Networking and IP
12 min
16: More on Network Interfaces
10 min
17: More on Networking
13 min
18: Finding Things
10 min
19: Linux Processes
8 min
20: Kernel Services
12 min
21: More on the Kernel
9 min
22: Software RAID
13 min
23: X Window System
17 min
24: Troubleshooting
12 min
Course Survey
View all course details

Module 00: Course Introduction - Linux V7 System Administration

Module 01: Linux Review

  • Select best distribution
  • Demos: Review Command Line Tools to Work with Files
  • Lab Exercises: Experiment with the Essential Commands

Module 02: Linux V7 Installation

  • Hardware compatibility
  • Network information
  • Installation, disk partitioning
  • Install boot process
  • Demos
  • Lab Exercise: Install Linux V7

Module 03: Virtual Machines

  • What is Virtualization?
  • KVM
  • Creating a Virtual Machine

Module 04: System Initialization Part 1

  • Linux boot process
  • GRUB
  • The Kernels

Module 05: System Initialization Part 2

  • init process
  • Runlevels
  • Start/Stop Scripts
  • Demo: chkconfig
  • Shutdown and Reboot
  • Demo: Shutdown and Reboot
  • Lab Exercise: System Initialization

Module 06: File System Management Part 1

  • Mount Points
  • System Directories
  • Filesystem Types
  • Journaling
  • mount Command
  • umount Command
  • Demos: File System Directories, Umount, Mount

Module 07: File System Management Part 2

  • Adding a new disk partition
  • fdisk
  • Checking a disk with fsck
  • Swap space
  • LVMs
  • Demo: Creating LVMs
  • Lab Exercise: Complete Creating LVMs

Module 08: More File Systems 

  • File System Attributes
  • SELinux
  • Recovering from a Crash
  • Demo: Recover from a Crash
  • Lab Exercise: Work with ACLs and SELinux

Module 09: Package Management

  • software "packages"
  • rpm
  • yum
  • RedHat Network
  • Demos: Demonstrate rpm, Demonstrate yum
  • Lab Exercise: Working with Packages

Module 10: Managing Users and Groups

  • /etc/passwd
  • File Ownership
  • Creating a User
  • Modifying and Deleting a User
  • Creating and Deleting a Group

Module 11: User Administration Part 1

  • Login Scripts and More Account Utilities
  • Switching Accounts
  • Demos: Show order of login scripts by added echoes, Change the shell

Module 12: User Administration Part 2 

  • SUID and SGID Executables
  • The Sticky Bit
  • Default File Permissions
  • Demos: Perl program, SGID directories, sticky bit, and umask
  • Lab Exercise: Working with Users and Groups

Module 13: ACL, PAM and Remote Authentication 

  • ACL-Access Control Lists
  • PAM
  • Remote Authentication
  • Demo: Remote Login

Module 14: Quotas and LUKS

  • What is a Quota?
  • Turning on Quotas
  • Setting and Testing Quotas
  • LUKS
  • Demo: Quota Examples, LUKS
  • Lab Exercise: Working with Quotas

Module 15: Networking and IP 

  • Networking Basics
  • Networking Interfaces
  • IPv4
  • IPv6

Module 16: More on Network Interfaces

  • Starting and Stopping an Interface
  • ifconfig
  • ip
  • Demo: ifconfig and ip

Module 17: More on Networking 

  • Network config files
  • Name resolution
  • Network Diagnostics
  • IPv6 tools
  • cron and anacron
  • Lab Exercise: Experimenting with Networking

Module 18: Finding Things 

  • which
  • whatis
  • find
  • Locate
  • Lab Exercise: Experiment with the find command

Module 19: Linux Processes 

  • Managing system logs
  • System monitoring
  • Killing processes
  • Lab Exercise: Linux Processes

Module 20: Kernel Services 

  • Introduction to the kernel
  • Kernel modules
  • The initramfs image

Module 21: More on the Kernel 

  • Kernel configuration with sysctl
  • Installing a new kernel
  • /proc filesytem
  • Lab Exercise: Exploring the Kernel

Module 22: Software RAID

  • Software RAID
  • Creating a RAID
  • RAID Info
  • Removing a RAID
  • Demo: Creating a RAID
  • Lab Exercise: Creating a RAID

Module 23: X Window System 

  • X server
  • Configuring X
  • Exporting display
  • Demo: Using X Host +
  • Lab Exercise: Using X Host +

Module 24: Troubleshooting 

  • Plan for a failure
  • Troubleshooting X windows
  • Troubleshooting the network
  • Machine won't boot
  • Fixing the MBR
  • Demo: Rescue the Machine
  • Lab Exercise: Troubleshooting
View all course details

Get Started Learning

Linux Today!

Norman McEntire

Norman McEntire founded Servin Corporation in 1995 to focus on “Software Technology Training for Software Technology Professionals(tm). Since that time, Norman has used his unique  training style to train thousands of software developers in nearly every major technology company, including Avaya, Broadcom, Cubic, Dell, Fidelity, HP, IBM, Intel, Intuit, Motorola, NCR, Qualcomm, Wells Fargo, and many more. With degrees in Computer Engineering, Norman has designed and built everything from low-level chips, boards, and complete computer systems, to software at all levels, including device drivers, systems software, and end-user software for the desktop, web, and mobile.

Tim R. Norton

Dr. Norton has worked with a variety of computer systems of all sizes and many operating systems, including MVS, Windows and Unix/Linux. He has experience with applications design, support, and systems programming. He has done Technology Planning, Capacity Planning and Capacity Modeling for over 20 years at a variety of large companies. He co-foundered and was the Chief Scientist of a start-up company to provide web based capacity planning services for web applications. He has been a full-time Professor at a local university and continues to teach at universities in Colorado Springs. He is active in CMG (Computer Measurement Group), the leading computer performance analysis organization, and has been the Subject Area Chair for every year since 2000. He has participated in Colorado Governor Owens' Technology Summit. He has served on the Academic Advisory Boards for Computer Science at Colorado Technical University and at DeVry University of Colorado. He founded Simalytic Solutions, LLC in 1995 to provide capacity planning and application modeling services using the Simalytic® Modeling Technique and the Response Time Pipe™ that he developed as a result of his doctorial research.

James Lee

James Lee is a hacker and open-source advocate based in Illinois. He holds a master's degree from Northwestern University, and he can often be seen rooting for the Wildcats during football season. As founder of Onsight, Lee has worked as a programmer, trainer, manager, writer, and open-source advocate. Lee authored Beginning Perl, Second Edition published by Apress and coauthored Hacking Linux Exposed, Second Edition, as well as Open Source Web Development with LAMP. He enjoys hacking in Perl and Python and has written programming articles for the Linux Journal. Lee also enjoys developing software for the Web, reading, traveling and, most of all, snowboarding with his kids who are old enough now to understand why dad's favorite animals are penguins and camels and why dad laughs at Monty Python's Flying Circus.


This course comes with a Transcript that tracks your progress. You can use your transcript to view and monitor your progress and when you complete the course, you can print or email the transcript, or print a course completion certificate.

Letter of Course Attendance

When you complete this course you will receive a Letter of Course Attendance Download Link so you can print and/or email your Letter of Course Attendance.

Sample of Letter of Course Attendance

QA Forum

When you purchase this course you will be able to use the QA Forum and have direct access to the instructor.


Red Hat Certified System Administrator (RHCSA)
An RHCSA® certification is earned when an IT professional demonstrates the core system administration skills required in Red Hat® Enterprise Linux® environments. An IT professional that has earned an RHCSA certification has demonstrated skills in areas of system administration common across a wide range of environments and deployment scenarios.
The GogoTraining courses below prepare you for the RHCSA ®certification:
  • Red Hat Linux 7 Essentials
  • Red Hat System 7 Administration
Once you've completed these courses, you'll be prepared to successfully take and pass the RH Exam 200. For more information about the exam requirements or locations and pricing, click here.
Red Hat Certified Engineer (RHCE)
An RHCE® certification is earned by a Red Hat® Certified System Administrator (RHCSA) who has demonstrated the knowledge, skill, and ability required of a senior system administrator responsible for Red Hat Enterprise Linux® systems. Professionals holding this certification have continually helped their companies with successful deployments and migrations.
To prepare for the RHCE® certification, the GogoTraining courses below which map to Red Hat's recommendations will enable you to get ready. The Red Hat course codes follow our course titles.
  • Red Hat System 7 Administration (RH124 and RH134)
  • Red Hat Linux Networking Administration (RH253)
Once you've completed these courses, you’ll be prepared to successfully take and pass the RH Exam 300. For more information about the exam requirements or locations and pricing, click here.