About this course
Financial accounting is called the “language of business,” and for good reasons. An examination of a firm’s financial statements – which reflect the company’s performance – reveals a wealth of information about its history, current financial health, and future potential. This is why business leaders use accounting to communicate their organization’s financial information to potential investors, shareholders, lenders, and regulators. Financial accounting allows an organization’s leaders to make sound business decisions and helps investors better understand company value.
In this course, you will learn how to interpret and communicate financial statements so that you can speak confidently on indicators such as assets, liabilities, shareholders’ equity, and goodwill. This course will teach you how to interpret the three financial statements core to any business–the income statement, balance sheet, and statement of cash flows–and analyze how they reflect business decisions. By the end of this course, you will know how to use financial accounting as a strategic tool to understand and grow your business–and understand and outmaneuver your competitors.
What you’ll learn
- The impact of financial transactions on financial statements
- How to read and prepare balance sheets, income and cash flow statements
- How to use financial statements to understand the profitability and financial health of your organization
- How to choose between equity and debt to finance the growth of your firm

MicroMasters® in MBA Core Curriculum
Meet your instructor

Progyan Basu
Who can take this course?
Unfortunately, learners from one or more of the following countries or regions will not be able to register for this course: Iran, Cuba and the Crimea region of Ukraine. While edX has sought licenses from the U.S. Office of Foreign Assets Control (OFAC) to offer our courses to learners in these countries and regions, the licenses we have received are not broad enough to allow us to offer this course in all locations. edX truly regrets that U.S. sanctions prevent us from offering all of our courses to everyone, no matter where they live.

MicroMasters® Program in Business Management
Master the essentials of managing a successful business
Meet Your Instructor:

MS Narasimhan
Who can take this course?
Unfortunately, learners from one or more of the following countries or regions will not be able to register for this course: Iran, Cuba and the Crimea region of Ukraine. While edX has sought licenses from the U.S. Office of Foreign Assets Control (OFAC) to offer our courses to learners in these countries and regions, the licenses we have received are not broad enough to allow us to offer this course in all locations. edX truly regrets that U.S. sanctions prevent us from offering all of our courses to everyone, no matter where they live.

MicroMasters® Program in Business Management
Master the essentials of managing a successful business
Meet your instructor

B. Mahadevan
Who can take this course?
Unfortunately, learners from one or more of the following countries or regions will not be able to register for this course: Iran, Cuba and the Crimea region of Ukraine. While edX has sought licenses from the U.S. Office of Foreign Assets Control (OFAC) to offer our courses to learners in these countries and regions, the licenses we have received are not broad enough to allow us to offer this course in all locations. EdX truly regrets that U.S. sanctions prevent us from offering all of our courses to everyone, no matter where they live.
Meet Your Instructors:

Annemiek van Boeijen

Jaap J.J. Daalhuizen
Learner testimonials
About this course
This seventh and final course in the C Programming with Linux Professional Certificate program will allow you to develop and use your C code within the Linux operating system. Using libraries in C is a fundamental concept when it comes to sharing code with others. In addition to compiling and linking, you will also learn how to pass arguments to an executable program.
Within moments you will be coding hands-on in a new browser tool developed for this course providing instant feedback on your code. No need to install anything!
As you embark on your future career as a programmer, you will be able to continue your coding adventures with professional coding environments used by C programmers around the world.
At the end of this short course, you will have completed the C Programming with Linux Professional Certificate program, unlocking the door to a career in computer engineering.
This course has received financial support from the Patrick & Lina Drahi Foundation.
What you’ll learn
- Use external libraries
- Build an application from multiple source files
- Automate the building process using makefiles
- Pass and use arguments to the main function
- Read from and write to files in C
- Use professional building tools within the Linux operating system

Professional Certificate in C Programming with Linux
Gain skills in computer engineering by learning C and Linux
Meet your instructors

Petra Bonfert-Taylor

Rémi Sharrock
About this course
This course will introduce you to Linux, a powerful operating system used by most professional developers!
Why add Linux to your C programming skills? Most people use Linux without knowing it! Whether you use a smartphone, search the web, or use an ATM, each time Linux is involved somewhere in the background. It is the most used operating system for embedded devices and high-performance servers. It is also the most common operating system used by developers to create software applications.
In this course, you will learn the history of Linux and how its open source community was able to create today’s most advanced operating system. You will navigate the file system, use fundamental Linux commands and master the Linux command line interface. These are essential skills for every developer.
You will also be able to produce software written in C using the industry-standard tools on Linux.
Within moments you will be coding hands-on in a new browser tool developed for this course, receiving instant feedback on your code. No need to install anything!
We are excited to introduce you to Linux and guide you along your path to becoming a skilled user of this powerful operating system!
At the end of this short course, you will reach the sixth milestone of the C Programming with Linux” Professional Certificate program, unlocking the door to a career in computer engineering.
This course has received financial support from the Patrick & Lina Drahi Foundation.
What you’ll learn
- Situate on a timeline the key dates of Unix and Linux creation
- Use basic commands to control the Linux Operating System
- Navigate and manipulate the Linux Filesystem using the command line interface
- Manage the memory and processes running on Linux
- Compile and execute a C program on Linux

Professional Certificate in C Programming with Linux
Gain skills in computer engineering by learning C and Linux
Meet your instructors

Petra Bonfert-Taylor

Rémi Sharrock
About this course
In this course, part of the C Programming with Linux Professional Certificate program, you will define your own data types in C, and use the newly created types to more efficiently store and process your data.
Many programming languages provide a number of built-in data types to store things such as integers, decimals, and characters in variables, but what if you wanted to store more complex data?
Defining your own data types in C allows you to more efficiently store and process data such as a customer’s name, age and other relevant data, all in one single variable!
This course will provide a hands-on coding experience in a new browser tool developed for this course that will allow you to receive instant feedback on your code. No need to install anything! You will also gain experience with programming concepts that are foundational to any programming language.
At the end of this short course, you will reach the fifth milestone of the C Programming with Linux Professional Certificate program, unlocking the door to a career in computer engineering.
This course has received financial support from the Patrick & Lina Drahi Foundation.
What you’ll learn
- Define new data types (structures) to store multiple data items in one variable and create, initialize and modify variables of these new types
- Find and explain the memory usage of a structure and use pointers to structures and the direct and indirect member selection operators to access members of structures
- Create linked lists of structures with dynamic memory allocation at runtime
- Sort or search lined lists of structures

Professional Certificate in C Programming with Linux
Gain skills in computer engineering by learning C and Linux
Meet your instructors

Petra Bonfert-Taylor

Rémi Sharrock
About this course
In this course, we will examine a key concept, foundational to any programming language: the usage of memory.
This course builds upon the basic concept of pointers, discussed in C Programming: Modular Programming and Memory Management, and introduces the more advanced usage of pointers and pointer arithmetic. Arrays of pointers and multidimensional arrays are addressed, and you will learn how to allocate memory for your own data during program execution. This is called dynamic memory allocation at runtime using pointers.
Within moments you will be coding hands-on in a new browser tool developed for this course, receiving instant feedback on your code. No need to install anything!
In this course, you will gain experience with programming concepts that are foundational to any programming language.
At the end of this short course, you will reach the fourth milestone in the C Programming with Linux Professional Certificate program, unlocking the door to a career in computer engineering.
This course has received financial support from the Patrick & Lina Drahi Foundation.
What you’ll learn
- Visualize the concept of a pointer and use it to pass variables to functions by reference in order to modify them via the function
- Apply pointer arithmetic in order to address elements of both one-dimensional and multi-dimensional arrays
- Use arrays of strings to store lists of strings in one array variable
- Control memory usage by dynamically allocating and freeing memory at runtime

Professional Certificate in C Programming with Linux
Gain skills in computer engineering by learning C and Linux
Meet your instructors

Petra Bonfert-Taylor

Rémi Sharrock
About this course
In this course, part of the C Programming with Linux Professional Certificate program, you will be introduced to the concept of modular programming: that is, dividing up more complex tasks into manageable pieces.
Within moments you will be coding hands-on in a new browser tool developed for this course, receiving instant feedback on your code. No need to install anything!
You will learn how to write your own functions (just like functions in mathematics for example). You will also gain insight into a computer’s architecture and learn how its memory is organized.
Given the vast amount of memory computers have these days, how does your program remember where a certain variable is stored? This brings about the important topic of how memory is efficiently addressed inside a computer, and with it, the topic of pointers.
Pointers are often considered the most difficult part and main struggle for C program developers. We will introduce you to this central topic with our novel and innovative visualization tools and show you precisely how pointers work. No need to struggle!
The programming concepts you will gain in this course are foundational to any programming language.
By the end of this short course, you will have reached the third milestone in the C Programming with Linux Professional Certificate program, unlocking the door to a career in computer engineering.
This course has received financial support from the Patrick & Lina Drahi Foundation.
What you’ll learn
- Break a complex programming task into a number of functions to which you pass arguments
- Recall how computer memory is organized to store variables and arrays
- Find the address of a variable
- Perform simple pointer arithmetic

Professional Certificate in C Programming with Linux
Gain skills in computer engineering by learning C and Linux
Meet your instructors

Petra Bonfert-Taylor

Rémi Sharrock
About this course
In this course, part of the C Programming with Linux Professional Certificate program, 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.
Within moments of this course, you will be coding hands-on in a new browser tool developed specifically for this course, receiving instant feedback on your code. No need to install anything!
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.
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.
This course has received financial support from the Patrick & Lina Drahi Foundation.
What you’ll learn
- Use logical conditions to control the flow of a program via branch statements (if-else), repetition (for or 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

Professional Certificate in C Programming with Linux
Gain skills in computer engineering by learning C and Linux
Meet your instructors

Petra Bonfert-Taylor
