Giter Site home page Giter Site logo

jedekoru / introduction-to-programming-in-matlab Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 29.01 MB

This teaching package contains teaching material for the course "Introduction of Programming in MATLAB". The package consists of a set of of MATLAB Live Scripts with complementary PowerPoint presentations.

License: BSD 3-Clause "New" or "Revised" License

matlab symbolic-math tutorial

introduction-to-programming-in-matlab's Introduction

Introduction-to-Programming-in-MATLAB

Curriculum Module

Created with MATLAB R2022a. Compatible with MATLAB R2022a and later releases.

2023 © John Ekoru (University of the Witwatersrand, Academic Development Unit, Faculty of Engineering and the Built Environment)

Description of content

This teaching package contains content for the course “Introduction to Programming in MATLAB”, consisting of the following:

  1. A set of MATLAB Live Scripts arranged by topic, to be completed over a 6-week period.
  2. A set of complementary PowerPoint presentations.

The content of this package is targeted towards both undergraduate and postgraduate students who are first-time/novice programmers. MATLAB is a programming and numeric computing platform developed by MathWorks.

The intention of this package is to gradually introduce students to the basics of Programming in an accessible manner, providing both theoretical underpinnings along with guided demonstration and practical exercises. This is made possible by making use of MATLAB Live Scripts which incorporate text, visual aids as well as links to videos and other multimedia instructional content.

It is expected that students who complete this course will have been provided a sufficient foundation to delve into areas requiring intermediary and advanced programming skills using MATLAB including such as Machine Learning, Shallow Neural Networks, Deep Learning, etc. In addition to that, provide students the necessary skills to provide access to the varied analysis and synthesis tools available MATLAB are important in several science and engineering courses which include but not limited to such at Control systems, Design of Measurement systems, Modelling, simulation and analysis of system response, Mechatronics, Flight dynamics and control, Signals and Systems, Telecommunications systems, Process control and optimization, Numerical methods, Electronics, Electric Power Systems etc.

If you are new to MATLAB, please take the following free online training entitled MATLAB Onramp in order to get familiar with language.

Important points to take note

  • For every week there is a set of MATLAB Grader exercises divided into two levels of complexity. Those exercises are not given and can be shared only upon request.

  • The content has been fully embedded into a Learning Management System, aka LMS, that for the particular course held at the University of the Witwatersrand is Ulwazi (an LMS based in Canvas). In fact, MATLAB content as well as MATLAB Grader problems, can be easily integrated into Canvas and many other LMS like Moodle, D2L Brightspace, Sakai, Blackboard, etc.

  • The University of the Witwatersrand has a Campus Wide License which enables every staff members, students, and visitors to use the full suite of MATLAB products. This makes easy access to the tools to every students from everywhere in the world. Students can use MATLAB directly in the web browser with MATLAB Online which is connected to MATLAB Drive, which gives every students 20Gb of space in the cloud.

  • Students were encouraged to take Online Training like MATLAB Onramp and MATLAB Fundamentals to better prepare them for projects involving components in MATLAB as well as final exams.

Some Learning Highlights


Learn to plot multidimensional data

Understand control flow structures in MATLAB

Simulate dynamic models in MATLAB Simulink

Create Multivariable plots

Learn multiple methods to import data into MATLAB

Gain insight into Matrix Manipulation

Develop functions and
understand how they work

Learn to create plots
that help you understand the data better

Instructions

The course content can be approached in one of two ways:

  1. Click on the Open in MATLAB Online button at the top of this readme file to access the content online in your web browser.
  2. By following the included PowerPoint presentations: Begin by opening the introductory Live Script and follow the presentation

Live Scripts

Each Live Script contains instructions that will guide you step-by-step through the set activities and exercises.

Live scripts are divided into sections and contain Interactive Live Script Controls which include buttons, checkboxes, sliders, etc. Feel free to interact with these controls as well as typing in your own code snippets. You can run each section within a Live Script individually.

To activate Live Script Controls, run the script manually by making use of the Run section (to run a section) or Run all sections. This will enable you to see the results. Initially, when you open a script, the Live Script controls are not active which means that you have to run the script (or section) manually in order to see results.

There is a link to the complementary PowerPoint Presentation at the end of every Live Script.

PowerPoint Presentations

Whenever teaching/learning is approached using PowerPoint Presentations, a link to the complementary Live Script can be found on the last slide of every presentation.

Content

The table below indicates all the content made arranged by week, topic, and content type:

LiveScripts

A list of all links to all the Live Scripts is given below:

  1. Week_0_Course_Content_and_Instructions.mlx
  2. Week_1_Part_1_Fundamentals.mlx
  3. Week_1_Part_2_Fundamentals.mlx
  4. Week_1_Part_3_Fundamentals.mlx
  5. Week_1_Part_4_Fundamentals.mlx
  6. Week_1_Part_5_Fundamentals.mlx
  7. Week_1_Part_6_Fundamentals.mlx
  8. Week_1_Part_7_Fundamentals.mlx
  9. Week_1_Part_8_Fundamentals.mlx
  10. Week_2_Part_1_Arrays_and_Matrices.mlx
  11. Week_2_Part_2_Relational_and_Logical_Operators.mlx
  12. Week_3_Part_1_Control_Flow_Structures.mlx
  13. Week_3_Part_2_Control_Flow_Structures.mlx
  14. Week_4_Part_1_Inputs_and_Outputs.mlx
  15. Week_4_Part_2_Inputs_and_Outputs.mlx
  16. Week_5_Part_1_Functions_and_Graphing.mlx
  17. Week_5_Part_2_Functions_and_Graphing.mlx
  18. Week_5_Part_3_Functions_and_Graphing.mlx
  19. Week_6_Part_1_Bigger_Picture.mlx
  20. Week_6_Part_2_Interoperability_Solution.mlx
  21. Week_6_Part_3_Beyond_Introduction_to_Programming_Solution.mlx

Learning goals

  • MATLAB Fundamentals
  • Creating arrays and operations on arrays
  • Introduction to relational and logical operators
  • Distinguish between For and While loops and their applications
  • Using vectorization to replace loops
  • Introduction to various data input and output methods
  • Learn to import data from various structured and unstructured data types
  • Interactive or Programmatic approach to plotting data
  • Formatting plots
  • Creating and calling functions
  • Debugging and error-handling
  • Introduction to computational thinking
  • Interoperability of MATLAB with other programming languages
  • Introduction to Symbolic Math, Object-Oriented Programming and Simulink

Suggested Prerequisites

Since this is an introductory course, there are no prerequisites and no prior programming experience is assumed.

Additional Resources

Introduction to MATLAB

MATLAB Onramp - Learn the essentials of MATLAB through this free, two-hour introductory tutorial on commonly used features and workflows.

Educator Resources

We invite educators interested in this course material to go through the resources links provided below:

Do you have any questions or feedback? Contact the MathWorks online teaching team.

PowerPoint Presentation

Week_0_Contents_and_instructions.pptx

Products

License

The license for this module is available in the LICENSE file in this repository.

Acknowledgments

This Curriculum Module was developed through the support of MathWorks. Special thanks to:

introduction-to-programming-in-matlab's People

Contributors

jedekoru avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.