| |
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
- 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
- Standard C Libraries
- Header Files
- Setjmp and Longjmp
- Signals
- Variable length argument list
- Quick sort (qsort)
- String Library
- Standard and Low Level I/O
- File descriptors
- File pointers
- Standard I/O routines
- Low-level I/O routines
- Example Programs
- 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)
- UNIX Tools
- The C Complier
- make
- dbx
- SCCS
- 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
- Interfacing C and Assembly
- Memory Models
- Inline Assembly
- Passing Parameters
- Referencing C variables
- Passing arrays, pointers and structures
- 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
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
|
|
|