UMBC Training Centers logo

C Programming - 3 Week Bootcamp

 

Course Description | Outline | Software Development Training | IT Training

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