Course Outline

Developing Applications For Linux

  1. Introduction
  2. Preliminaries
  3. Compilers
  4. Libraries
  5. Make
  6. Source Control
  7. Debugging and Core Dumps
  8. Debugging Tools
  9. System Calls
  10. Memory Management and Allocation
  11. Files and Filesystems in Linux
  12. File I/O
  13. Advanced File Operations
  14. Processes - I
  15. Processes - II
  16. Pipes and Fifos
  17. Asynchronous I/O**
  18. Signals - I
  19. Signals - II
  20. POSIX Threads - I
  21. POSIX Threads - II
  22. Networking and Sockets
  23. Sockets - Addresses and Hosts
  24. Sockets - Ports and Protocols
  25. Sockets - Clients
  26. Sockets - Servers
  27. Sockets - Input/Output Operations
  28. Sockets - Options
  29. Netlink Sockets
  30. Sockets - Multiplexing and Concurrent Servers
  31. Inter Process Communication
  32. Shared Memory
  33. Semaphores
  34. Message Queues
** These sections may be considered in part or in whole as optional. They contain either background reference material, specialized topics, or advanced subjects. The instructor may choose to cover or not cover them depending on classroom experience and time constraints.