ES0610: ADVANCED C PROGRAMMING
The C language and the UNIX operating system have become popular development tools. The Advanced C course reviews the capabilities of the C language, and presents advanced features which are useful in developing complex applications. The principal focus of this course is on building application programs which make use of complex data structures, using standard UNIX libraries and building programs which link C and assembly routines.

For Registration/Information call (586) 336-7860 or
email info@epcom.com

  Return to Course Offerings
 

Who Should Attend

    This course is designed for programmers who are familiar with the syntax and control flow statements of C but want to develop programs which utilize more advanced features of the language. Programmers who want to understand how to develop complex applications utilizing C within a UNIX environment will also benefit from taking this course.

Prerequisites

What you will learn

    The principal focus of this course is on building application programs which make use of complex data structures such as: linked lists, stacks, queues, trees and graphs. C programs which utilize programming concepts such as: software interrupts, interprocess communications, and process control will be presented as well. After completing this course, participants will be able to complete the following tasks:

  • Use dynamic memory allocation in their pograms
  • Use linked lists, stacks, queues, trees and graphs
  • Create complex data structures
  • Link C and assembly programs
  • Develop programs which process signals
  • Develop programs which spawn other processes
  • Use UNIX system calls to create IPC channels

Course Outline

  1. Review of C
    • C as a Structured Language
    • Program Structure
    • Functions
    • Identifiers
    • Data Types
    • Run Time Environment
    • Storage Classes
    • Operators and Expressions
    • Mixing Types
    • Type Qualifiers
    • Aggregate Types
    • Pointers
    • The C Preprocessor
  2. Standard C Libraries
    • Header Files
    • Setjmp and Longjmp
    • Signals
    • Variable length argument list
    • Quick sort (qsort)
    • String Library
  3. Standard and Low Level I/O
    • File descriptors
    • File pointers
    • Standard I/O routines
    • Low-level I/O routines
    • Example Programs
  4. Data Structures
    • Dynamic Memory Management
    • Linked Lists (Singly Linked, Doubly Linked, Circularly Linked, Pointer Manipulation)
    • Stacks
    • Queues
    • Graphs and Trees
    • Trees (Binary Trees, Traversals, Balanced Trees)
  5. UNIX Tools
    • The C Complier
    • make
    • dbx
    • SCCS
  6. Review of Applications
    • Process control (exec, fork, exit, wait)
    • A UNIX who command
    • A UNIX ls command
    • A UNIX Shell
    • A UNIX daemon
    • A simple scheduler
    • A language translator
  7. Interfacing C and Assembly
    • Memory Models
    • Inline Assembly
    • Passing Parameters
    • Referencing C variables
    • Passing arrays, pointers and structures
  8. Portability Issues

Hands-on Workshops

  • Using unions, bit fields and bit manipulation
  • Using linked lists, stacks, queues, and trees
  • Creating random accessed files
  • Sorting
  • UNIX process creation
  • Interprocess communications
  • Using the MAKE and SCCS utilities

Course Duration

    Three (3) days

Course Schedule

Course Materials

  • Comprehensive course workbook/summary
  • Course certificate of completion

For Registration/Information call (586) 336-7860 or email info@epcom.com

  Return to Course Offerings



home - consulting - education - staffing | careers - about us - contact us

v1.0 Copyright 2004, Epcom Corporation