Introduction to Linux Programming
The
is the newly released FTLinuxCourse 2004 for Linux Programming using C
and C++. This course module is part of the newest and
latest edition of this free online Linux Course. The chapters and
lessons of this new course covers how to design a program using a flow
chart, the C language, the C Library (libc) functions, advanced C and
programming techniques, debugging,t he C++ language, the
"make" program, process management, network programming, Fortran,
Python, RPM package, and CVS.. The
main course and links to all of 12 course chapters are provided
here.
The main goal of this course is to teach users to
program in C and C++, and apply this to daily Internet usage from the Linux
OS point of view.
This covers the following activities:
- Write programs in C, from scratch to materialize an idea
- Write programs in C++
- Write programs using Slang and curses
-
Write programs in Fortran and Python
- Write Linux daemons (services) that regards generally Networking services
- Write the "configure" program to auto-configure the project
- Built its own RPM packages
- Compiling software downloaded from the remote sites
Update 10/23/2006: This course has been updated and is now found here:
An Introduction to Linux Programming (using C and C++)
Table of Contents
Chapter P1. So you want to program?
- What is a program?
- Interpreted vs Compiled
- A first example in C language
- The "main" procedure
- The arguments argc and argv
- The atoi
- Data declaration
- The C program checker: lint
- The gcc: the GNU C Compiler
- Float and double
- The make command
- The touch command
- The environ
- A first example in C++ language
- The ++ operator
- How to Design of a Program with a Flow Chart
- Exercises
- Test
- Internet resources about this chapter
Chapter P2. The C Language
- C Data types
- Formatting data
- Vectors and Pointers
- Structures, union and typedef
- Conversion between types
- C Operators
- C Functions
- How to build a static library
- How to build a shared library
- Exercises
- Test
- Internet resources about this chapter
Chapter P3. The C Library (libc) functions
- The C Compiler
- The RedHat 2.96 'gaffe' compiler
- The latest GNU gcc 3.1
- The C Preprocessor
- The C Library: "libc.a"
- The stdio functions familiy
- The type FILE.
- The stat type: sys/stat.h
- The pwd functions
- The string functions
- The math functions
- The stdlib functions
- The signals
- The time function
- C Limits
- The stdio functions familiy
- Some Utilities for Developers
- Some Examples
- Exercises
- Test
- Internet resources about this chapter
Chapter P4. Advanced C and programming techniques
- Memory management
- The "malloc" and "calloc"
- The memcpy
- Programming techniques
- Algorithms for Sorting
- Selection
- Insertion
- Bubble
- ShellSort
- QuickSort
- Algorithms for Searching
- Sequential Search
- List Search and
- Binary Search
- Queues
- Algorithms for Sorting
- Exercises
- Test
- Internet resources about this chapter
Chapter P5. The debugging of C programs
- What is a debugger ?
- The "gdb" debugger
- The graphical interface for gdb: "xxgdb"
- The Data Display Debugger: "ddd".
- A debugging session
- Tracing the execution of a program
- How to set up breakpoints.
- How to print data in the debugger.
- Some hints to debug graphical programs
- Exercises
- Test
- Internet resources about this chapter
Chapter P6. The C++ Language
- Introduction
- The C++ Implementation
- A new mode to include files for cplusplus
- New operators for Standard I/O
- What is a class?
- Constructors and Destructors
- File I/O
- Inheritance or Derived Classes
- The C++ Standard Library
- C++ Keywords
- Exercises
- Test
- Internet resources about this chapter
Chapter P7. The "make" program
- The make program
- Some Basic Makefiles
- The implicit Makefile
- A simple and effective Makefile
- A recursive Makefile
- The X11 Makefile
- The Qt Makefile
- A short "make" Command Reference
- The "automake" and "autoconf" tools
- Exercises
- Test
- Internet resources about this chapter
Chapter P8. Process management
- Processes under Linux
- How to use a "popen" function
- Using signals
- Launching programs from programs
- Using getpid()
- Exercises
- Test
- Internet resources about this chapter
Chapter P9. Network Programming
- An Introduction to Network Programming
- Network API
- IPC Programming
- What is a socket ?
- The message queue
- Semaphores
- What is Shared Memory?
- Locking files
- CORBA programming
- Exercises
- Test
- Internet resources about this chapter
Chapter P10. Fortran
- FORTRAN ... an ethernal scientfic programming language
- Fortran Generations
- Fortran 90 features
- Discovering FORTRAN
- The READ and WRITE instructions
- Data Declaration
- Loops
- FORMAT
- Compiling FORTRAN with libs
- Some Examples
- Exercises
- Test
- Internet resources about this chapter
Chapter P11. An overview on Python
- What is Python ?
- My first program in Python
- Numbers
- Strings
- Lists
- Dictionaries
- Classes
- File I/O with Python
- The Standard Python Library
- Compiling Python
- Writing X applications in Python: Tkinter
- ZOPE
- Conclusions
- Exercises
- Test
- Internet resources about this chapter
Chapter P12. Built your RPM package
- Introduction
- RPM like a Package DataBase
- RPM Commands
- Upgrading the RPM database from RPM 3.X to 4.X
- Upgrading from RPM 4.0.2 to 4.0.3
- Upgrading from RPM 4.0.91 to 4.0.96
- Built a RPM package from scratch
- Creating Dependencies between packages
- Exercises
- Test
- Internet resources about this chapter
Appendix PL: Learning a Programming Language syntax in one day
Appendix PP: Answers to all exercises
Popularity: 13% [?]
Related Posts:





























