C Programming: Language Foundations - 2 (Coursera)

C Programming: Language Foundations - 2 (Coursera)

In this course you will learn to use logical statements and arrays in C. Logical statements are used for decision-making with follow-up instructions, based on conditions you define. Arrays are used to store, keep track of, and organize larger amounts of data. You will furthermore implement some fundamental algorithms to search and sort data.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

Why learn C? Not only is it one of the most stable and popular programming languages in the world, it's also used to power almost all electronic devices. The C programming language represents one of the building blocks of modern computer information technology.
Why learn C and not another programming language? Did you know that smartphones, your car’s navigation system, robots, drones, trains, and almost all electronic devices have some C-code running under the hood? C is used in any circumstance where speed and flexibility are important, such as in embedded systems or high-performance computing.
By the end of this course, you will have gained experience with programming concepts that are foundational to any programming language and be one step closer to a career in computer engineering.
Your job Outlook:

  • Programmers, developers, engineers, managers, and related industries within scientific computing and data science;
  • Embedded systems such as transportation, utility networks, and aerospace;
  • Robotics industry and manufacturing;
  • IoT (Internet of Things) used in smart homes, automation, and wearables.
  • IEEE, the world’s largest technical professional organization for the advancement of technology, ranks C as third of the top programming languages of 2021 in demand by employers. (Source: IEEE Spectrum)

Course 2 of 7 in the C Programming with Linux Specialization.

What You Will Learn

  • Use logical conditions to control the flow of a program via branch statements (if-else), repetition (for/while loop) and nesting of these structures
  • Create and modify arrays to store integer and floating point numbers and explain how arrays are organized in memory
  • Create null-terminated arrays of characters to store and modify strings (of characters)
  • Sort and search arrays of numbers and characters using bubble sort, selection sort, linear search and bisection

Syllabus

Welcome
Let's start coding! Let's get ready to code and learn how to use the cutting edge tools that we have developed to facilitate your learning.
Week 1: Logic conditions and if-else statements
This week, you will utilize logical conditions (i.e. if-statements, if-else statements) and combine/negate several logical conditions using logic operations AND, OR, and NOT.

Week 2: Arrays, for and while loops
This week you will create, and utilize arrays of integers and floating point numbers. You will also be able to explain the syntax of a FOR and WHILE loop and create programs using them as nest branch statements.

Week 3: Strings, sort and search algorithms
This week, you will create arrays of characters (strings), use the null terminator, and manipulate strings to find their lengths. You will also be able to sort through arrays: alphabetizing strings, ordering numbers, finding specific numbers, etc.
Concluding the course

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Persistent Memory Technology - Introduction and Deployment (Coursera) Coursera
EDUCBA

Persistent Memory Technology - Introduction and Deployment (Coursera)

Embark on a dynamic learning journey through this course. In the first module, explore the intricacies of Persistent Memory (PMEM), unraveling its fundamental concepts, characteristics, and operating system support. Transition seamlessly into the second module, mastering transactional concepts, optimizing hardware configurations, and discerning between volatile and persistent libraries. In the final module, dive into advanced programming with libpmemobj, overcoming C++ Standard limitations, and applying insights to real-world scenarios like building a phonebook.

Sep 14th 2026
3 Weeks
Introduction to Embedded Systems Software and Development Environments (Coursera) Coursera
University of Colorado Boulder

Introduction to Embedded Systems Software and Development Environments (Coursera)

Welcome to the Introduction to Embedded Systems Software and Development Environments. This course is focused on giving you real world coding experience and hands on project work with ARM based Microcontrollers. You will learn how to implement software configuration management and develop embedded software applications. Course assignments include creating a build system using the GNU Toolchain GCC, using Git version control, and developing software in Linux on a Virtual Machine.

Sep 14th 2026
4 Weeks
Learn HTML and CSS (Coursera) Coursera
Scrimba

Learn HTML and CSS (Coursera)

This course is perfect if you want to learn how to code websites from scratch. You will learn the basics of HTML and CSS through interactive challenges. Along the way, you will build multiple projects, like a Google.com clone, a Space Exploration page, and a fun birthday site filled with GIFs. While most of the challenges are done in Scrimba's interactive editor, you will also learn how to use professional tools like VS Code for code editing, GitHub for hosting your code, and Netlify for deploying your projects to the world wide web.

Sep 14th 2026
5-12 Weeks
Principles of Computing (Part 2) (Coursera) Coursera
Rice University

Principles of Computing (Part 2) (Coursera)

This two-part course introduces the basic mathematical and programming principles that underlie much of Computer Science. Understanding these principles is crucial to the process of creating efficient and well-structured solutions for computational problems. To get hands-on experience working with these concepts, we will use the Python programming language. The main focus of the class will be weekly mini-projects that build upon the mathematical and programming principles that are taught in the class.

Sep 7th 2026
4 Weeks
Programming Fundamentals (Coursera) Coursera
Duke University

Programming Fundamentals (Coursera)

Programming is an increasingly important skill, whether you aspire to a career in software development, or in other fields. This course is the first in the specialization Introduction to Programming in C, but its lessons extend to any language you might want to learn. This is because programming is fundamentally about figuring out how to solve a class of problems and writing the algorithm, a clear set of steps to solve any problem in its class.

Sep 7th 2026
4 Weeks
Problem Solving Using Computational Thinking (Coursera) Coursera
University of Michigan

Problem Solving Using Computational Thinking (Coursera)

Have you ever heard that computers "think"? Believe it or not, computers really do not think. Instead, they do exactly what we tell them to do. Programming is, "telling the computer what to do and how to do it." Before you can think about programming a computer, you need to work out exactly what it is you want to tell the computer to do. Thinking through problems this way is Computational Thinking. Computational Thinking allows us to take complex problems, understand what the problem is, and develop solutions. We can present these solutions in a way that both computers and people can understand.

Sep 14th 2026
5-12 Weeks
Basic Modeling for Discrete Optimization (Coursera) Coursera
University of Melbourne,The Chinese University of Hong Kong

Basic Modeling for Discrete Optimization (Coursera)

Optimization is a common form of decision making, and is ubiquitous in our society. Its applications range from solving Sudoku puzzles to arranging seating in a wedding banquet. The same technology can schedule planes and their crews, coordinate the production of steel, and organize the transportation of iron ore from the mines to the ports. Good decisions in manpower and material resources management also allow corporations to improve profit by millions of dollars.

Sep 14th 2026
4 Weeks
Programming Languages, Part B (Coursera) Coursera
University of Washington

Programming Languages, Part B (Coursera)

This course is an introduction to the basic concepts of programming languages, with a strong emphasis on functional programming. The course uses the languages ML, Racket, and Ruby as vehicles for teaching the concepts, but the real intent is to teach enough about how any language “fits together” to make you more effective programming in any language -- and in learning new ones. This course is neither particularly theoretical nor just about programming specifics -- it will give you a framework for understanding how to use language constructs effectively and how to design correct and elegant programs.

Sep 7th 2026
3 Weeks