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

Coursera

Introduction to Programming with MATLAB

Vanderbilt University via Coursera

Overview

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.

Syllabus

  • Course Pages
  • The MATLAB Environment
    • 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.
  • Matrices and Operators
    • 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.
  • Functions
    • 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.
  • Programmer's Toolbox
    • 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.
  • Selection
    • 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.
  • Loops
    • 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.
  • Data Types
    • 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.
  • File Input/Output
    • 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.

Taught by

Akos Ledeczi, Michael Fitzpatrick and Robert Tairas

Tags

Related Courses

Reviews

4.8 rating, based on 207 reviews

Start your review of Introduction to Programming with MATLAB

  • Robert Mattera completed this course.

    Below I'll post a private email I sent to Dr. Fitzpatrick telling him what I thought about the course: My name is Robert Mattera and I'm a graduate student at Rutgers University in Plant Science. For years now I've been saying I wanted to program but...
  • Nisheet Patel completed this course.

    Prof. Fitzpatrick is an excellent teacher. Apart from the fact that he delivered the subject matter in a crisp and concise manner, I love his sense of humour too. The style of presentation is really neat. The assignments were excellent too; they very...
  • Anonymous

    Anonymous completed this course.

    I am a Speech-Language pathologist whom started to work with brain image data analysis. I came across Matlab in this journey and got interested in learning the basics of programming to better understand the script written by my collaborators. Then, I...
  • Kwame Oppong Hackman completed this course.

    The course was amazing and I enjoyed every part of it; the video lessons by Prof Fitzpatrick are excellent. The many years of Prof Fitzpatrick's extensive experience is visible in the course through his command over the material and his humorous statements; any time I felt I was getting bored there was a statement from the good professor that made me laugh again. The other professors (e.g. Akos) and the TAs, especially Aatish Kumar were greatly helpful. The course is too great; it's hard to drop out. I'm not a computer science student but I completed it successfully! All thanks to the everyone who supported in putting the course together.
  • Simon Buchholz completed this course.

    The video lectures are very good and interesting. The homework is very challenging and takes it time but it's very satisfying when it's done. A highlight is that you get MATLAB free for the time of the course and a few weeks after that. It's probably a good promotion for them too because people want to buy a full version afterwards to not get out of training... But luckily I'm a student and I get the student version for less. In conclusion i must say that it was a very great course and if I had known how much work it would be I'd probably bought a verified certificate too.
  • Ishan Panthi completed this course, spending 8 hours a week on it and found the course difficulty to be medium.

    Let's take it step by step. First, the teaching. It is exactly like in the memes which had comparison of what you get taught and what comes in exam. It is stated that it is aimed at people with little to no knowledge in programming, but I can safely say it isn't true.The only thing good and the best which other MOOC's didn't have is the tough assignments, which you needed a solid grasp in the concept to do. The reading was all copy pasted from the referred book, the body language was not solid. Good luck to future learners but please don't begin programming with this.
  • Anonymous

    Anonymous completed this course.

    The lectures in this course are at the junior high school level and are very boring; the examples given are all very trivial. But at least the lectures fit the description of the course as being for complete beginners. Then there are the problem sets:...
  • Anonymous

    Anonymous completed this course.

    Having completed the course, I was not impressed with many aspects. The textbook was not that helpful when it came to the homework problems. The time stated to complete the course was 4-6 hrs per week. With the lectures at 1-2 hours per week, that left...
  • Anonymous

    Anonymous is taking this course right now.

    I am Gerezgiher Gebrehiwot from Addis Ababa, Ethiopia. The course given by you is very interesting and it is a critical course for Civil engineers graduate. My interesting is learning the course of introduction to programming with MATLAP from training center with free online plus recognized certificate.
  • Profile image for Biprodev Sarker
    Biprodev Sarker
    1

    Biprodev Sarker completed this course, spending 6 hours a week on it and found the course difficulty to be medium.

    I was brushing up my long unused skills in MATLAB. I did not use MATLAB since my undergrad days, and now I am on the verge of entering the graduate study. Worked great for that purpose.
  • Aditya Govardhan completed this course, spending 3 hours a week on it and found the course difficulty to be medium.

    Lectures: Brilliant. Prof. Fitzpatrick is an experienced programmer and he is very well accustomed to thinking processes of students. At times he is funny too and keeps you quite engaged in the lecture. I have watched the lectures twice and found equally...
  • Octavian Datcu completed this course, spending 11 hours a week on it and found the course difficulty to be medium.

    Very comprehensive course. Very well informed. There's a book available, very well written and with lots of exercises. Explanations were all very clear.
  • Anonymous

    Anonymous completed this course.

    This is an excellent course. I had already used Matlab in the past for Linear Algebra and Numerical Methods in university but this was a long time ago and I wanted to refresh my knowledge about it. Initially when I saw course topics I thought this is...
  • Scott Siclari completed this course.

    This course is the epitome of a perfect online course; everything from the lesson plan, lesson formats, video formats, homework formats and grading. This course does establish you with the basic programming concepts you'll need as a programmer as well...
  • Anonymous

    Anonymous completed this course.

    I took a number of online courses on various programming languages before and after this one, and I need to say that the Introduction to Programming with Matlab remains my reference in how a programming course should be made. The pace of lectures is slow...
  • Mackenzie Endres completed this course.

    This was my first experience with an online course and my first real programming course. That being said, I was impressed with the quality of the videos and assignments. I learned a lot more than I expected from this course, but I had to work hard. Dr. Fitzpatrick did a wonderful job keeping the videos engaging with a delightful sense of humor. The examples helped with assignments without giving them away, and the cTAs for the course were very responsive and helpful. I would recommend this course to anyone looking to learn or brush up on their programming skills. If you are new to programming (like me), the course is challenging. I would plan on spending a good amount of time on this to build a solid foundation.
  • Dmitrijs Kass is taking this course right now, spending 3 hours a week on it and found the course difficulty to be medium.

    I'm on the 3rd week of the course. Wow, the course is fantastic! The instructor is among the best I've seen:
    1. You'll see from the start - an instructor is ultra-professional in both programming AND teaching.
    2. Difficulty goes gradually from low to high and the pace is just optimal.
    2. Every example shows some specific and important aspect. As a result, each example teaches something important.
    3. Many aspects and pitfalls are explained by using examples where errors are made on purpose. The instructor attempts braking the standard rules and shows what happens then.
    4. The instructor uses humor, which keeps my smiling and enjoying the course!

    That's my impression during the Week 3.
  • Ankon Pratim Mazumder
    very good course. so much knowledge, very proud of myself that i've completed this course. The professor was so helpful. Glad to them , that i've completed this course successfully.
  • Anonymous

    Anonymous is taking this course right now.

    As we know this days cause of course virus people are totally afraid with it. During apadamic time coursera gave us diamond opportunity to balance our knowledge it's great pleasure to tell everyone. When i heard about online study i feel totally safe and excited to gain more and more knowledge from all over the world with different universities. Usually i am student of software engineering. This course is totally encouraged my future goal to achieve success. Thanks
  • Anonymous

    Anonymous completed this course.

    Excellent course! The organization was perfect with clear, high quality videos and homework sets. The discussion board was constantly monitored by one or more teaching assistants who gave great hints without giving away the answers.

    As a novice, the class time and homework was probably closer to 12 hours per week for me. I got through week 5 before the demands of grad school swept in and couldn't complete the rest. If offered again, I will definitely repeat it.

    The professor's videos are excellent!

Never Stop Learning!

Get personalized course recommendations, track subjects and courses with reminders, and more.

Sign up for free