DartmouthX: C Programming: Language Foundations
Master foundational concepts in the C programming language such as logical statements and arrays.

- Certification
- Certificate of completion
- Duration
- 5 weeks
- Price Value
- $ 99
- Difficulty Level
- Introductory
Master foundational concepts in the C programming language such as logical statements and arrays.
This course, part of the C Programming with Linux Professional Certificate program, deep dives into the use of logical statements and arrays in C. With logical statements, you will be able to execute different actions in your programs based on defined conditions. Using arrays, you will organize, store, and track larger datasets efficiently. Furthermore, you will explore fundamental algorithms to search and sort this data effectively. The course is enhanced with a new browser tool for hands-on coding experience, providing you with instant feedback and requiring no prior installations.
Learning C is beneficial because it’s fundamental to modern computer technology, used across software and hardware to enhance device performance. By the end of the course, you will understand essential programming concepts applicable across programming languages, helping pave the way to a career in computer engineering.
Students are expected to have completed “C Programming: Getting Started for Complete Beginners” or possess equivalent introductory skills in C programming.
This course is ideal for aspiring software developers and anyone interested in learning programming foundations using the C language. It is particularly beneficial for those looking to strengthen their problem-solving skills and understanding of data organization.
The skills taught in this course are essential for developing software and improving existing technological frameworks. Learning to program in C provides critical understanding of how applications and systems operate, supplying the tools to innovate and enhance technology in real-world scenarios—whether in IT development, electronic engineering, or computational roles.
This course is supported by the Patrick & Lina Drahi Foundation and is part of a structured professional certificate program.
Explore more courses to enhance your cloud computing and Kubernetes skills.
This self-paced course will discuss the major ideas used today in the implementation of programming language compilers, including lexical analysis, parsing, syntax-directed translation, abstract syntax trees, types and type checking, intermediate languages, dataflow analysis, program optimization, code generation, and runtime systems. As a result, you will learn how a program written in a high-level language designed for humans is systematically translated into a program written in low-level assembly more suited to machines. Along the way we will also touch on how programming languages are designed, programming language semantics, and why there are so many different kinds of programming languages.
Work with the principles of data storage in Arrays, ArrayLists & LinkedList nodes. Understand their operations and performance with visualizations. Implement low-level linear, linked data structures with recursive methods, and explore their edge cases. Extend these structures to the Abstract Data Types, Stacks, Queues and Deques.