Introduction to Open Source Development, Git, and Linux (LFD201)

Learn how to develop open source software. This course focuses on open source software, an introduction to Linux systems and the use of Git, the revision control system.

Course Overview

Open source software has become the dominant model for how the world’s technology infrastructure operates, from the smallest microprocessor to the largest supercomputers. Use of Open Source Software leads to better and faster development. Widespread collaboration puts more eyeballs on your code and has transformed the way people and corporations think and how things get done today.

Show More

Course Outline

  1. Chapter 1. Course Introduction
  2. Chapter 2. Open Source Software (OSS)
  3. Chapter 3. Why Use Open Source Software?
  4. Chapter 4. How to Work in OSS Projects
  5. Chapter 5. Continuous Integration
  6. Chapter 6. OSS Licensing and Legal Issues
  7. Chapter 7. Linux and the Operating System
  8. Chapter 8. Graphical Environments and Interfaces
  9. Chapter 9. Getting Help
  10. Chapter 10. Text Editors
  11. Chapter 11. Shells, bash, and the Command Line
  12. Chapter 12. Filesystem Layout, Partitions, Paths and Links
  13. Chapter 13 – System Components
  14. Chapter 14. System Administration
  15. Chapter 15. Essential Command Line Tools
  16. Chapter 16. Command and Tool Details
  17. Chapter 17. Users and Groups
  18. Chapter 18. Bash Scripting
  19. Chapter 19. Files and Filesystems
  20. Chapter 20. Linux Filesystems
  21. Chapter 21. Compiling, Linking, and Libraries
  22. Chapter 22. Java Installation and Environment
  23. Chapter 23. Building RPM and Debian Packages
  24. Chapter 24. Introduction to Git
  25. Chapter 25. Git Installation
  26. Chapter 26. Git and Revision Control Systems
  27. Chapter 27. Using Git: An Example
  28. Chapter 28. Git Concepts and Architecture
  29. Chapter 29. Managing Files and the Index
  30. Chapter 30. Commits
  31. Chapter 31. Branches
  32. Chapter 32. Diffs
  33. Chapter 33. Merges
  34. Chapter 34. Managing Local and Remote Repositories
  35. Chapter 35. Using Patches


  • Experience as a developer on any operating system
  • Experience in working at the command line is not necessary, but would be helpful
  • A Linux system is necessary, either a physical or a virtual machine, and any modern distribution will work. Please note that installation instructions are provided in the course material, if needed.

At a Glance

Delivery Method

Online Self-Paced


  • 60 hours of Course Material
  • Hands-on Labs & Assignments
  • Video Content
  • 12 Months of Access to Online Course
  • Discussion Forums

Experience Level


Course Rating



Training 5 or more individuals?
Get a Corporate Quote >