
C Programming - 3 Week Bootcamp |
|
Course Outline
Module 1 - Course Intro
- Intro to C
- Intro to Computers, OS, High Level Languages
- Sample C Program
- C Program Development Environment
- Compiling, Linking and Executing a C program
Module 2 - Variables, Data Types and Arithmetic
- Variable Declarations and Initialization
- Variable Naming Conventions
- Integer, floating point and Boolean types
- Constants
- Arithmetic Operators
- Assignment Operators
- Casting and Type Conversion
Module 3 - Program Looping
- For-Loops
- While loops
- Do-while loops
- Endless Loops
- Break and continue statements
Module 4 - Making Decisions
- if and if-else statements
- else-if statements
- Compound conditions and short-circuit evaluation
- switch statement
- Boolean variables, true/false
- The conditional ( ? : ) operator
Module 5 - Working with Arrays
- Defining and initializing and array
- Character arrays
- 2-d arrays
- Variable length arrays
Module 6 - Working with Functions
- Defining and calling a function
- Passing arguments by value
- Function prototypes
- Functions that return a value
- Functions calling other functions
- Functions and arrays
- Function Documentation
- Storage classes – global, static, local
- Recursive Functions
Module 7 - Working with Structures
- Structure definition
- Using structure members
- Structure assignment
- Structures as function arguments
- Initializing structures
- Arrays of structures
- Nested structures
- Structures containing arrays
- Structure variants
Module 8 - Character Strings
- Array of characters
- Initializing and displaying strings
- String input with scanf
- Character input
- Escape characters
- Strings, structs and arrays and sorting – a dictionary
- Character operations, and ASCII values
- Character and string library functions
Module 9 - Pointers
- Defining a pointer variable
- Pointer operators and pointer expressions
- Pointers to structures
- Structures containing pointers
- Self-referencing structures
- Intro to linked lists
- Pointers as function parameters
- Pointers and arrays
- Pointer arithmetic
Module 10 - Bit Manipulation
- Binary bits and bytes
- Bitwise AND operator
- Bitwise OR operator
- Bitwise XOR operator
- Complement operator
- Shift operators
Module 11 - The Preprocessor
- #define for constants
- Program extendibility with #define
- Program portability with #define and sizeof
- #define for macros
- #include
- Conditional compilation (#ifdef, #endif, #ifndef)
Module 12 - More Data Types
- Enumerations
- Creating aliases with typedefs
- Casting and automatic type conversion
- Unsigned integer types
- Sign extension
- Argument conversion
Module 13 - Working with Larger Projects
- Dividing your program into multiple files
- Separate Compilation from the command line
- Using Header Files
- Guarding Header Files
- Scope and lifetime
Module 14 - Input and Output Operations
- Char I/O with getchar/putchar
- Formatted I/O with printf/scanf
- Detecting end-of-file
- Opening and closing files
- Formatted file I/O with fprintf, fscanf
- Line input with fgets/fputs
Module 15 - Advanced Features
- Dynamic memory allocation
- Pointers to pointers
- Dynamic arrays
- Dynamic 2-d arrays
- Freeing heap memory
Module 16 - Miscellaneous Topics
- unions
- Command line arguments
- atoi, atol, atof
- Random numbers with srand/rand
- Utility functions
- Math library
|