DEV 400 – Introduction to Programming C offers a fast-paced computer science course for students without programming experience. Students learn to write in the language used for operating systems, embedded processors, micro-controllers, assemblers, exploits and network drivers. This course focuses on solving problems using C, by teaching its fundamental principles, and techniques used in software engineering.

DEV400 assumes no prior programming experience.

Target Audience

Individuals with or without programming experience.


Provide an introduction to writing language for operating systems, embedded processors, micro-controllers, assemblers, exploits and network drivers.

  • Day 1 begins by introducing how computers work and how C programs are processed by a computer. Students learn how to apply the software development model to solve programming problems. The format of C programs, data types, and variables is discussed, and students also learn how to program arithmetic expressions, assign values to variables, and read data into a program and display the results. Students learn about top-design to develop algorithms and program structure. Self-check exercises and labs challenge students to use the newly-learned information in context.

  • Day 2 discusses control structures and how to manipulate program execution and control flow. Students learn to make comparisons and code the logic behind conditionals. The labs challenge students to use a variety of control structures like sequence, selection, and repetition.

  • Students learn why repetition is an important concept in programming. The Repetition and Loops lectures and labs teach students how to use repetition in their programs to gain efficiencies. Counting, sentinel-controlled and flag-controlled loops and the usefulness of nested loops are discussed. Traditional for, while, and do-while statements for creating loops are covered indepth.

  • The Pointers lectures and labs expose students to indirect addressing. Reading from and writing to files using file pointers and comparing call-by-value and call-by-reference methods are discussed. Finally the student will learn how to pass information to and get information back from functions.

  • The Array Pointers lectures and labs teach students how to use arrays and how C implements arrays as pointers. Students learn how to access values in arrays, and how to process data in arrays using loops. Searching arrays is introduced and multi-dimensional arrays are described as a solution for storing tables of data.

Course Duration

Estimated Course Length: 24 hours.

Course Datasheet
DEV400 – Introduction to Programming C
Download Datasheet