When you enroll in this course, you'll also be enrolled in this Specialization.
Learn new concepts from industry experts
Gain a foundational understanding of a subject or tool
Develop job-relevant skills with hands-on projects
Earn a shareable career certificate
There are 9 modules in this course
This course teaches computer programming to those with little to no previous experience. It uses the programming system and language called MATLAB to do so because it is easy to learn, versatile and very useful for engineers and other professionals. MATLAB is a special-purpose language that is an excellent choice for writing moderate-size programs that solve problems involving the manipulation of numbers. The design of the language makes it possible to write a powerful program in a few lines. The problems may be relatively complex, while the MATLAB programs that solve them are relatively simple: relative, that is, to the equivalent program written in a general-purpose language, such as C++ or Java. As a result, MATLAB is being used in a wide variety of domains from the natural sciences, through all disciplines of engineering, to finance, and beyond, and it is heavily used in industry. Hence, a solid background in MATLAB is an indispensable skill in today’s job market.
Nevertheless, this course is not a MATLAB tutorial. It is an introductory programming course that uses MATLAB to illustrate general concepts in computer science and programming. Students who successfully complete this course will become familiar with general concepts in computer science, gain an understanding of the general concepts of programming, and obtain a solid foundation in the use of MATLAB.
Students taking the course will get a MATLAB Online license free of charge for the duration of the course. The students are encouraged to consult the eBook that this course is based on. More information about these resources can be found on the Resources menu on the right.
What's included
1 video3 readings
Show info about module content
1 video•Total 2 minutes
Course Preview•2 minutes
3 readings•Total 30 minutes
Syllabus•10 minutes
Grading and Logistics•10 minutes
Recommended Textbook•10 minutes
The MATLAB Environment
Module 2•3 hours to complete
Module details
We will learn how to start MATLAB and will familiarize ourselves with its user interface. We will learn how to use MATLAB as a sophisticated calculator. We will learn about syntax and semantics. We will see ways in which MATLAB provides help. Finally, we will learn how to create plots in MATLAB.
The basic unit with which we work in MATLAB is the matrix. We solve problems by manipulating matrices, and operators are the primary means by which we manipulate them. We will learn how to define matrices, extract parts of them and combine them to form new matrices. We will learn how to use operators to add, subtract, multiply, and divide matrices, and we will learn that there are several different types of multiplication and division. Finally, we will learn MATLAB’s rules for determining the order in which operators are carried out when more than one of them appear in the same expression.
What's included
6 videos1 reading1 assignment3 app items
Show info about module content
6 videos•Total 82 minutes
Introduction to Matrices and Operators•11 minutes
The Colon Operator•9 minutes
Accessing Parts of a Matrix•22 minutes
Combining and Transforming Matrices•10 minutes
Arithmetic Part 1•18 minutes
Arithmetic Part 2•12 minutes
1 reading•Total 10 minutes
Lesson 2: Matrices and Operators•10 minutes
1 assignment•Total 30 minutes
Lesson 2 Wrap-up•30 minutes
3 app items•Total 45 minutes
Assignment: Colon Operator•15 minutes
Assignment: Matrix Indexing•15 minutes
Assignment: Matrix Arithmetic•15 minutes
Functions
Module 4•2 hours to complete
Module details
Functions let us break up complex problems into smaller, more manageable parts. We will learn how functions let us create reusable software components that can be applied in many different programs. We will learn how the environment inside a function is separated from the outside via a well defined interface through which it communicates with that outside world. We will learn how to define a function to allow input to it when it initiates its execution and output from it when it is done.
What's included
7 videos1 reading3 app items
Show info about module content
7 videos•Total 50 minutes
Introduction to Functions•6 minutes
Function I/O•22 minutes
Formal Definition of Functions•3 minutes
Subfunctions•6 minutes
Scope•5 minutes
Advantages of Functions•3 minutes
Scripts•4 minutes
1 reading•Total 10 minutes
Lesson 3: Functions•10 minutes
3 app items•Total 75 minutes
Assignment: A Simple Function•15 minutes
Assignment: Multiple Outputs•30 minutes
Assignment: Lesson 3 Wrap-up•30 minutes
Programmer's Toolbox
Module 5•3 hours to complete
Module details
MATLAB has useful built-in functions and we will explore many of them in this section. We will learn about polymorphism and how MATLAB exploits it to change a function's behavior on the basis of the number and type of its inputs. Because random numbers play an important role in computer programming, we will learn how to use the MATLAB random number generator. We will learn how to get input from the keyboard, how to print to the Command Window, and how to plot graphs in a Figure window. Finally, we will learn how to find programming errors with the help of the debugger.
What's included
5 videos1 reading2 app items
Show info about module content
5 videos•Total 83 minutes
Introduction to Programmer's Toolbox•7 minutes
Matrix Building•15 minutes
Input / Output•21 minutes
Plotting•18 minutes
Debugging•22 minutes
1 reading•Total 10 minutes
Lesson 4: Programmer's Toolbox•10 minutes
2 app items•Total 60 minutes
Assignment: Built-in functions•30 minutes
Assignment: Lesson 4 Wrap-up•30 minutes
Selection
Module 6•5 hours to complete
Module details
Selection is the means by which MATLAB makes decisions about the order in which it executes its statements. We will learn how to use the if-statement, which is the most important method of selection. We will learn how to use relational operators and logical operators. We will learn how to write polymorphic functions and how to make functions resistant to error.
What's included
7 videos2 readings4 app items
Show info about module content
7 videos•Total 80 minutes
Selection•12 minutes
If-Statements, Continued•9 minutes
Relational and Logical Operators•35 minutes
Nested If-Statements•2 minutes
Variable Number of Function Arguments•7 minutes
Robustness•9 minutes
Persistent Variables•7 minutes
2 readings•Total 20 minutes
Lesson 5: Selection•10 minutes
Solution to valid_date•10 minutes
4 app items•Total 180 minutes
Assignment: If-statement practice•30 minutes
Assignment: More practice•30 minutes
Assignment: nargin•60 minutes
Assignment: Lesson 5 Wrap-up•60 minutes
Loops
Module 7•7 hours to complete
Module details
Loops give computers their power. We will learn how to use both of MATLAB's loop constructs: the for-loop and the while-loop. We will learn how the break-statement works, and we will use nested loops. We will learn how to make loops more efficient. We will learn about logical indexing and will see how to use it to produce implicit loops that are efficient and easy for a user to understand.
What's included
5 videos2 readings4 app items
Show info about module content
5 videos•Total 133 minutes
For-Loops•37 minutes
While-Loops•20 minutes
Break Statements•30 minutes
Logical Indexing•37 minutes
Preallocation•9 minutes
2 readings•Total 20 minutes
Lesson 6: Loops•10 minutes
Solution to max_sum•10 minutes
4 app items•Total 240 minutes
Assignment: for-loop practice•60 minutes
Assignment: while-loop practice•60 minutes
Assignment: Logical Indexing•60 minutes
Assignment: Lesson 6 Wrap-up•60 minutes
Data Types
Module 8•6 hours to complete
Module details
Computers operate on bits, but humans think in terms of numbers, words, and other types of data. Like any good language, MATLAB organizes bits into convenient data types. We will study those types in this section. We will learn that there are ten types of numbers and that there are conversion functions to change one type into another. We will learn much more about strings and how the characters in them are encoded as numbers. We will learn how to produce heterogeneous collections of data via structs and cells, and we will learn how to store points in time and time durations.
What's included
6 videos3 readings2 app items
Show info about module content
6 videos•Total 194 minutes
Introduction to Data Types•20 minutes
Character Arrays•29 minutes
Structs•15 minutes
Cells•22 minutes
The String Type (Introduced in 2017a)•48 minutes
The Datetime and Duration Types (Introduced in 2014b)•60 minutes
3 readings•Total 25 minutes
Lesson 7: Data Types•10 minutes
Solutions to caesar•10 minutes
Solution to sparse2matrix•5 minutes
2 app items•Total 120 minutes
Assignment: Character Vectors•60 minutes
Assignment: Using Cell Arrays•60 minutes
File Input/Output
Module 9•7 hours to complete
Module details
Files are named areas in permanent memory for storing data that can be used as input or output to MATLAB and to other programs. We will be introduced to MATLAB’s most important methods for reading and writing files. We will learn how to create, read from, and write into MAT-files, Excel files, text files, and binary files. We will learn how to navigate among folders with MATLAB commands.
What's included
4 videos5 readings5 app items
Show info about module content
4 videos•Total 75 minutes
File Input/Output•15 minutes
Excel Files•9 minutes
Text Files•12 minutes
Binary Files•39 minutes
5 readings•Total 41 minutes
Lesson 8: File I/O•10 minutes
Almost there!•1 minute
Solutions to saddle•10 minutes
Image blur solution•10 minutes
Solution to echo_gen•10 minutes
5 app items•Total 300 minutes
Assignment: Excel Files•60 minutes
Assignment: Text Files•60 minutes
Assignment: Saddle Points•60 minutes
Assignment: Image Blur•60 minutes
Assignment: Echo Generator•60 minutes
Earn a career certificate
Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.
Instructors
Instructor ratings
Instructor ratings
We asked all learners to give feedback on our instructors based on the quality of their teaching style.
Vanderbilt University, located in Nashville, Tenn., is a private research university and medical center offering a full-range of undergraduate, graduate and professional degrees.
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."
Learner reviews
4.8
18,000 reviews
5 stars
83%
4 stars
14.61%
3 stars
1.66%
2 stars
0.27%
1 star
0.43%
Showing 3 of 18000
I
IK
5·
Reviewed on Dec 19, 2021
Basics concepts are well covered within a short time and a few videos. I would recommend it for those who want to learn complete basics. but to master it, you need to enrol in a specialization course.
A
A
5·
Reviewed on May 22, 2020
The explanation of the topics was great. The assignments of the last week were challenging and I loved that. I learned a lot from this course. Thank you so much for sharing your knowledge with us.
M
MM
5·
Reviewed on Nov 1, 2021
Definitely it was the best course that I've ever took. Assignments were great, they bring all the materials to challenge you with real and practical issues that can be useful even after this course.
You'll learn how to program in MATLAB while also understanding the core ideas behind computer programming. It starts with the MATLAB environment and basic commands, then builds into matrices, functions, and the logic that controls how programs run. Through programming assignments, you'll write small programs, manipulate arrays, and solve numerical problems in code.
Do I need any programming experience before starting this course?
No, prior programming experience isn't required. The course is aimed at learners with little to no background and begins with the MATLAB environment, variables, and basic syntax before moving into functions and loops. Some comfort with numbers will help because many examples use calculations and matrices, but you don't need to have coded before.
Is this course beginner-friendly for MATLAB programming?
Yes, it's beginner-friendly if you want to learn programming from the ground up in MATLAB. It begins with simple calculations and basic commands, then moves step by step into functions, conditionals, and loops with regular practice along the way. It may be less ideal if you only want a quick MATLAB reference, because the emphasis is on learning programming concepts, not just software features.
How long does it take to complete this course?
The course takes about 35 hours in total. At around 10 hours a week, that's roughly 4 weeks of study for most learners. The workload includes video lessons, readings, quizzes, and programming assignments.
Are there hands-on exercises or projects in this MATLAB course?
Yes, there's regular hands-on practice throughout the course, and you'll get access to MATLAB Online during the course. Most of the work comes through guided programming assignments where you'll write functions, use loops and conditionals, and work with matrices or files. It's more exercise-driven than project-heavy, so you apply each concept as you learn it.
What topics and skills are covered in this MATLAB course?
You'll cover core programming skills such as variables, functions, and control flow, using MATLAB as the working language. You'll also spend time working with matrices, plotting, data types, and file input/output. Together, those topics help you learn how to write and organize programs for numerical problems, not just enter commands one by one.
What can I actually do after finishing this MATLAB course?
By the end, you should be able to write basic MATLAB programs that use functions, conditionals, loops, and matrices to solve problems. You'll also be able to handle common tasks like reading or writing files and working with different data types. For example, you could build a small function that checks inputs, processes array data, and saves the result to a file.
Is this course more focused on theory or hands-on learning?
It's more concept-first, with steady guided practice. The lessons explain how programming in MATLAB works, then reinforce that through quizzes and programming assignments instead of big open-ended projects. That suits learners who want clear explanations alongside regular coding.
Why would I choose this course over other MATLAB courses?
This course is a strong choice if you want to learn programming through MATLAB rather than take a feature-by-feature MATLAB tutorial. It teaches general coding ideas alongside MATLAB's strengths with matrices and numerical problem solving, and the assignments keep each lesson grounded in practice. If you want a beginner course that helps you understand both how to code and why MATLAB is useful, this is a good fit.