Advanced C Programming Training in Springfield

Enroll in or hire us to teach our Advanced C Programming class in Springfield, Oregon by calling us @303.377.6176. Like all HSG classes, Advanced C Programming may be offered either onsite or via instructor led virtual training. Consider looking at our public training schedule to see if it is scheduled: Public Training Classes
Provided there are enough attendees, Advanced C Programming may be taught at one of our local training facilities.
We offer private customized training for groups of 3 or more attendees.

Course Description

 
This course fills the gap between an introductory course in C and more advanced application programming. Students write many programs, concentrating on data structures and file I/O.
Course Length: 3 Days
Course Tuition: $1190 (US)

Prerequisites

Knowledge of C Programming.

Course Outline

 

The C Development Environment

The cc(1) Command
Include Files
Libraries

Basic and Derived Data Types in C
Simple C data types
Integral data types
Floating point types
Derived data types
Array data types - single and multi-dimensional
Structure data types
Simple pointer types
Pointers to structures/multiple pointers
Pointers to functions
The const qualifier
Bit operators
Using typedef

Function: Calling, Passing, and Returning Values
Anatomy of a function
Parameter passing - pass by value
Parameter passing - pass by reference

Standard I/O
Standard I/O streams
File access
Formatted I/O
String I/O
File positioning operations
Block I/O Low Level File I/O
Standard I/O vs system I/O
File access
Direct I/O
File Positioning
Error Handling

Memory Allocation with malloc and calloc
Dynamic memory allocation overview
malloc(), calloc()
realloc(), free()
Structure Pointers
Array of pointers to structures

Memory Organization and the Scope of Variables
Command line arguments (argc, argv)
The memory layout of a C Program
The stack segment
The heap segment

Data Structures - Linked Lists
Array limitations
Linked lists
List operations - formation
List operations - delete
 

Software Design/Development and System Integration Uses & Stats

Software Design/Development and System Integration is Used For:
Operating Systems Software Development Hardware Embedded Systems
Difficulty
Popularity
Year Created
1972
Pros
Tried and True: 
Since there a many programs that have been influenced by C, knowing C makes it that much easier to learn other languages. 
 
Access To Machine Level Hardware API's: 
Various features of C make it an optimum choice for scripting applications and drivers of embedded systems.
 
 
Has a Rich Library: 
C provides a number of built-in functions and offers dynamic memory allocation.
 
Implements Algorithms And Data Structures: 
C can facilitate faster computations in programs. This has enabled the use of C in applications requiring higher degrees of calculations like MATLAB and Mathematica.
 
Transferable:
Developers can develop software in C software with little to no modification that can run on different platforms . 
Cons
Object Oriented Programming:
C does not support Object Oriented programming which support source code reusability and it's also the reason that C++ was invented. 
 
No Run-Time Checking: 
The C language does not allow runtime checking making it difficult to fix the bugs if you extend the program. 
 
Data Security: 
There is a lot of buffer overflow in C language and this can lead to overwriting information in the memory. When pointers are updated with the incorrect data, it will result in memory corruption.
 
Namespace Concept: 
It is impossible to declare two variables at the same time because C language doesn’t support program name-space like in the C++ program.
 
Learning Curve: 
Depending on your grasp for software concepts, learning C can take as little as two to six months. 
Software Design/Development and System Integration Job Market
Average Salary
102000
Job Count
38456
Top Job Locations

New York City 
Washington D.C. 
San Francisco 

Complimentary Skills to have along with Software Design/Development and System Integration

- C was created between 1969 and 1973 at ATT&T Bell Labs by Dennis Richie and used to re-implement the Unix operating system. 

-  The Top 10 programming languages, according to the TIOBE index seem to be heavily influenced by C:

1. Java derives much of its syntax from C and C++
2. C# is an object-oriented programming language that was “inspired by” C.
3. C++ was developed by Bjarne Stroustrup starting at Bell Labs starting in1979 as an enhanced version of C. 
4. Objective-C is a reflective, object-oriented programming language that adds Smalltalk-style messaging to the C programming language
5. PHP developed in 1995 by Rasmus Lerdorf is widely used as a server-side HTML scripting language with a C-like syntax.
6. Python, is a general-purpose language that is often used outside of websites. It was created as a scripting language to bridge the gap between the Shell and C.
7. Perl borrows features from other programming languages including C, shell scripting (sh), AWK, and sed. 
8. JavaScript uses syntax influenced by that of C. 

Interesting Reads Take a class with us and receive a book of your choosing for 50% off MSRP.