C Training in Helena

Enroll in or hire us to teach our C class in Helena, Montana by calling us @303.377.6176. Like all HSG classes, C 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, C may be taught at one of our local training facilities.
We offer private customized training for groups of 3 or more attendees.

Course Description

Students will develop the ability to design and write programs in the C programming language.
Course Length: 5 Days
Course Tuition: $2090 (US)


Programming skill in a language such as Pascal, COBOL, BASIC, or assembler.

Course Outline


Introduction to C
What is C?
Features of C
Why program in C?
History of C
Current status and future

An Overview of C
The first program
How to compile and run a C program
An arithmetic program
Execution flow control
The for loop
Character I/O
A file copier program
A character counter
Stock values
The char data type
Strings (character arrays)
The string program
A look at functions
A functional program
Review of printf

Data Types and Variables
Fundamental data types
Data type values and sizes
Variables, Constants
Character and String constants

Operators and Expressions
What are expressions?
Arithmetic, Relational, and Assignment operator
Expressions resulting value
True and false
Logical operators
Increment and decrement Operators (++, --)
'Operate-Assign' operators (+=, *=, ...)
Conditional expression
Operator precedence
Precedence and order of evaluation
Evaluation of logical operators
Type conversions
The cast operator
Bitwise logical operators

Control Flow
If - Else
Else - If
Do - While
The for loop
The break and continue statement

What is a function?
Why use functions?
Anatomy of a function
Arguments are passed by value
Passing an argument address
A picture of addresses and values
When to use the return statement
Returning non-integer values
Functions in multiple source files
A simple make file
The concept of variable scope
Automatic variables
Global (external) variables
Static variables
External Static variables

The C Preprocessor
Symbolic constants
Macro substitution
File inclusion

Pointers and arrays
What is a pointer?
Pointer operators
Why use pointers?
Why use pointers?
The & operator
Pointers and arrays
Pointer arithmetic
Arrays and pointers
Array names are constant pointers
Passing arrays to functions
Initializing arrays

Advanced Pointers
Pointer initialization
Command-line arguments
Strings and character pointers
What is char S[7]?
Arrays of pointers
Command-line arguments
Access through pointers
Functions and pointers

Structures vs. arrays
Structure definitions
Structure declaration
Structure parameter passing by reference
Pointers to structures
Arrays of structures
The malloc routine

File I/O in C
File Streams
Predefined Streams
The fprintf Function
The fscanf Function
fscanf() Examples
The fputs and fgets Functions
The fwrite and fread Functions
System I/O

Course Directory [training on all levels]

Upcoming Classes
Gain insight and ideas from students with different perspectives and experiences.

C Programming Uses & Stats

C Programming is Used For:
Operating Systems Software Development Hardware Embedded Systems
Year Created
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.
Developers can develop software in C software with little to no modification that can run on different platforms . 
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. 
C Programming Job Market
Average Salary
Job Count
Top Job Locations

New York City 
Washington D.C. 
San Francisco 

Complimentary Skills to have along with C Programming

- 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.