We may earn an affiliate commission when you visit our partners.
Course image
Akos Ledeczi and Mike Fitzpatrick

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.

Read more

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.

Enroll now

What's inside

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.
Read more
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.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Introduces the MATLAB programming system and language, which is widely used in industry and academia
Provides a solid foundation in computer science and programming concepts, making it suitable for beginners
Utilizes MATLAB's easy-to-learn syntax and intuitive design, making it accessible to students with no prior programming experience
Covers essential MATLAB topics such as matrices, operators, functions, and data types, providing a comprehensive overview
Offers hands-on learning through MATLAB Online exercises and assignments, reinforcing understanding and practical application
Taught by experienced instructors with expertise in computer science and engineering

Save this course

Save Introduction to Programming with MATLAB to your list so you can find it easily later:
Save

Reviews summary

Introduction to programming with matlab

This online course review focuses on the features, content, and overall experience of Vanderbilt University's "Introduction to Programming with MATLAB." The course received an overall sentiment score of 86%, indicating that the majority of reviewers had a positive experience. **Key features and benefits of the course include:** * **Thorough introduction to programming concepts**: The course starts from the very basics of programming, covering topics such as data types, control flow, and functions. * **Emphasis on practical applications**: The course assignments are designed to apply the concepts learned to real-world problems, such as image processing and signal analysis. * **Interactive assignments and quizzes**: The course includes a variety of interactive assignments and quizzes that provide immediate feedback and help reinforce learning. * **Experienced instructors**: The course is taught by experienced instructors from Vanderbilt University, who are known for their clear and engaging teaching style. * **Free MATLAB license**: Students enrolled in the course receive a free license for MATLAB, which allows them to practice the concepts learned in the course. **Reviews of the course highlight the following strengths:** * **Excellent teaching**: Reviewers praised the instructors for their clear and engaging teaching style, which made the course easy to follow and understand. * **Well-structured content**: The course content is well-organized and provides a logical progression from basic to advanced concepts. * **Challenging assignments**: The assignments are challenging and require students to apply their knowledge to solve real-world problems. * **Helpful community support**: The course has a strong community of students and instructors who are willing to help each other out. **Some areas for improvement mentioned in the reviews include:** * **Difficulty level**: Some reviewers found the later assignments to be too difficult and time-consuming. * **Lack of hints and explanations**: Some reviewers felt that the assignments could have provided more hints and explanations to help struggling students. * **Limited scope**: The course only covers the basics of MATLAB and does not go into advanced topics such as object-oriented programming or machine learning. Overall, "Introduction to Programming with MATLAB" is a well-received course that provides a solid foundation in MATLAB programming. It is suitable for beginners and those with some prior programming experience who are looking to enhance their MATLAB skills. The course is challenging but rewarding, and the support provided by the instructors and the community makes it a worthwhile learning experience.

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Introduction to Programming with MATLAB with these activities:
Organize Course Notes and Resources
Improve organization and retention by compiling lecture notes, assignments, and other course materials into a structured and accessible format.
Show steps
  • Gather all relevant course materials.
  • Categorize and organize materials.
  • Consider using a digital note-taking app or software.
Assist in Course Forums
Contribute to the learning community by answering questions and providing support to fellow students, reinforcing own understanding of course concepts.
Show steps
  • Actively participate in course forums.
  • Provide thoughtful and helpful responses to student queries.
Show all two activities

Career center

Learners who complete Introduction to Programming with MATLAB will develop knowledge and skills that may be useful to these careers:
Machine Learning Engineer
A Machine Learning Engineer uses MATLAB to develop and deploy machine learning models. This course would help build a strong foundation in programming and data analysis, which are essential for success as a Machine Learning Engineer. MATLAB is widely used in machine learning, and this course covers many of the functions and principles that are essential for developing and deploying machine learning models.
Data Scientist
A Data Scientist leverages MATLAB to manipulate and analyze data to solve complex business problems or conduct scientific research. This course would help build a solid foundation in programming and data analysis techniques, which are crucial for success as a Data Scientist. MATLAB allows data scientists to work with large datasets and create effective data visualizations to convey insights.
Quantitative Analyst
A Quantitative Analyst uses MATLAB to develop and implement trading strategies. This course would help provide a strong foundation in programming, data analysis, and statistical modeling, skills that are all essential for success in quantitative finance. MATLAB is widely used in quantitative finance, and this course covers many of the functions and principles that are essential for developing and implementing trading strategies.
Financial Modeler
A Financial Modeler uses MATLAB to build and analyze financial models. This course would help provide a foundation in financial modeling and analysis, concepts that are essential for success as a Financial Modeler. MATLAB is widely used in financial modeling, and this course covers many of the functions and principles that are essential for building and analyzing financial models.
Operations Research Analyst
An Operations Research Analyst uses MATLAB to solve complex optimization problems. This course would help build a foundation in optimization and modeling, concepts that are essential for success as an Operations Research Analyst. MATLAB is widely used in operations research, and this course covers many of the functions and principles that are essential for solving complex optimization problems.
Statistician
A Statistician uses MATLAB to analyze data and draw conclusions. This course would help build a strong foundation in statistical analysis, including hypothesis testing, regression analysis, and data visualization. MATLAB is widely used in statistics, and this course covers many of the functions and principles that are essential for success as a Statistician.
Risk Analyst
A Risk Analyst uses MATLAB to assess and manage risk. This course would help build a foundation in risk management and analysis, concepts that are essential for success as a Risk Analyst. MATLAB is widely used in risk management, and this course covers many of the functions and principles that are essential for assessing and managing risk.
Data Engineer
A Data Engineer uses MATLAB to build and maintain data pipelines, and to ensure that data is clean, accurate, and consistent. This course would help provide a foundational understanding of data management and processing, concepts that are essential for success as a Data Engineer. MATLAB is widely used in data engineering, and this course covers many of the functions and principles that are essential for building and maintaining data pipelines.
Big Data Analyst
A Big Data Analyst uses MATLAB to clean large data sets, analyze trends and patterns, and create visualizations to effectively communicate and present insights to decision-makers. This course would help build a foundational understanding of numeric data analysis and how to turn raw data into meaningful information. MATLAB is widely used in data analytics, and this course covers many of the functions and principles that are essential for successful data analysis.
Control Systems Engineer
A Control Systems Engineer designs and implements control systems for a variety of applications. This course would help build a foundation in systems modeling and simulation, concepts that are essential for success as a Control Systems Engineer. MATLAB is widely used in control systems engineering, and this course covers many of the functions and principles that are essential for designing and implementing control systems.
Financial Analyst
A Financial Analyst uses MATLAB to analyze financial data, build models, and make investment recommendations. This course would help provide a foundation in numerical analysis and matrix manipulation, concepts that are essential for financial modeling. The course also covers plotting and visualization, skills that are often used to present financial data in a clear and concise manner.
Actuary
An Actuary uses MATLAB to evaluate risk and uncertainty, and develop financial plans. This course would help provide a foundational understanding of numerical analysis, probability, and statistics, concepts that are essential for actuarial work. MATLAB is widely used in actuarial science, and this course covers many of the functions and principles that are essential for success as an Actuary.
Software Engineer
A Software Engineer uses MATLAB to develop and test software applications. This course would help build a foundation in programming and computer science concepts. MATLAB is widely used in software development, and this course covers many of the programming paradigms and design patterns that are essential for success as a Software Engineer.
Researcher
A Researcher uses MATLAB to analyze data, develop models, and write scientific papers. This course would help develop skills needed for data processing and analysis. MATLAB is widely used in research, and this course covers many of the functions and principles that are essential for successful research.
Web Developer
A Web Developer uses MATLAB to create dynamic websites and web applications. This course would help build a foundation in programming and web development concepts. MATLAB is not as commonly used in web development as other programming languages, but it can be used to create interactive websites and web applications.

Reading list

We've selected 12 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Introduction to Programming with MATLAB.
Well-suited as an introductory textbook for MATLAB programming.
Valuable for its treatment of MATLAB's numerical computing capabilities, particularly for engineers.
Combines MATLAB programming instruction with practical applications in engineering, offering context for the course's content.
A classic text on numerical computing using MATLAB, providing a solid foundation for understanding the underlying principles.
Provides a specialized introduction to MATLAB for students and researchers in neuroscience, addressing domain-specific needs.
Practical introduction to MATLAB programming. It focuses on teaching students how to use MATLAB to solve real-world problems. It includes chapters on data analysis, visualization, and optimization.
Focuses on MATLAB's capabilities for data analysis and visualization, expanding the course's scope.
Covers essential MATLAB programming concepts and techniques, providing a solid foundation for further exploration.
Focuses on the practical applications of MATLAB, making it a useful supplement for hands-on learning.
Introduces MATLAB's machine learning capabilities, providing additional context for the course's discussion of functions and algorithms.
Explores MATLAB's deep learning capabilities, providing an extension to the course's coverage of MATLAB's versatility.

Share

Help others find this course page by sharing it with your friends and followers:
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser