Introduction to C Programming
This class provides students with a foundational study of the C programming language, C23 standard. Classroom lectures stress the strengths of C, which provide programmers with the means of writing efficient, maintainable, and portable code. Lab exercises throughout the class test and reinforce understanding of the concepts.
This class is best taken as the first of a two-class series. The concepts in this class are further developed in the follow-on class, Intermediate C Programming. Completing both these classes will take a developer without C knowledge to become a capable C programmer.
Cumulative graded assessments available for group training.
Duration
40 hours
Audience
This class is intended for developers with some programming experience. This class is not designed for students who are completely new to programming; it is targeted at developers with at least one month of programming experience. UMBC Training Centers recommends following this class up with Intermediate C Programming.
PREREQUISITES
Students should have completed our Python for Beginners class or have equivalent experience with a programming language.
Upon completion of this class, students will be able to the following in C:
- Build and run simple C programs.
- Name, declare, initialize, and manipulate numeric values in variables.
- Define and manipulate arrays.
- Create and call functions.
- Control program flow through conditionals and loops.
- Define, manipulate, and call functions with strings (character arrays).
- Perform basic I/O with a console and on-disk files using library functions.
- Declare, define, initialize, and manipulate new struct types.
- Search, parse, and split strings using library functions.
- Debug the behavior of a running program.
- Building and Running C Programs
- C Build Pipeline
- Compiler Warnings
- The ‘Most Important Picture’
- Accessing Documentation
- The indent Program
- C Standard Libary Overview
- The main() Function
- C Syntax and Operators
- C Operators
- Operator Precedence
- Operator Associativity
- Unary and Ternary Operators
- C Types and Arrays
- Using printf() Family of Functions
- Declaring, Defining, and Initializing Variables
- Integer Data Types
- char Data Type
- Floating-Point Types
- Boolean Types
- Constants With const or enum
- Type Conversions
- sizeof() Operator and size_t Type
- Declaring, Defining, and Initializing Arrays
- Strings as Arrays of char
- Control Flow
- Blocks and Scope
- Conditionals with if/else
- Loops with while/do/while
- Loops with for
- Flow Control with break/continue/goto
- Conditionals with switch/case
- Functions
- Declaring and Defining Functions
- Returning Data From Functions
- void Functions
- Function Arguments and Parameters
- Array Decay
- Strings
- String Representation
- Using Safe string.h Functions
- Avoiding Buffer Overflows
- String Encodings
- Input/Output (I/O)
- Program I/O and Redirection
- Reading Data From stdin
- Writing Data To stdout and stderr
- Opening and Closing Files
- Buffered I/O with FILE * Objects
- Detecting and Reporting I/O Failures
- Structures and Unions
- Declaring and Defining New struct Types
- Accessing and Manipulating Field Members
- Initializing Record Types
- struct Alignment and Padding
- Nested, Member, and Anonymous struct Types
- The stat() System Call
- Accessing and Manipulating union Types
- Text Parsing
- Character-Searching Library Functions
- String-Searching Library Functions
- The strtok() Function for Tokenization
- Debugging
- The gdb Debugger
- Building Programs for Debugging
- Debugging Strategies
Is there a discount available for current students?
UMBC students and alumni, as well as students who have previously taken a public training course with UMBC Training Centers are eligible for a 10% discount, capped at $250. Please provide a copy of your UMBC student ID or an unofficial transcript or the name of the UMBC Training Centers course you have completed. Asynchronous courses are excluded from this offer.
What is the cancellation and refund policy?
Student will receive a refund of paid registration fees only if UMBC Training Centers receives a notice of cancellation at least 10 business days prior to the class start date for classes or the exam date for exams.