Programming: Structuring Code
Programming: Structuring Code
Created with R2021b. Compatible with R2021b and later releases.
This curriculum module contains interactive MATLAB® live scripts that teach fundamental concepts and basic terminology related to programming computers. This module focuses on organizing code into functions, describing, debugging, and sharing code.
You can use these live scripts as demonstrations in lectures, class activities, or interactive assignments outside class. This module covers using built-in and user-defined functions, commenting code and choosing variable names, utilizing warning messages and run-time errors to locate and fix bugs, comparing different versions of a script, cloning a GitHub repository, and creating a MATLAB project.
The instructions inside the live scripts will guide you through the exercises and activities. Get started with each live script by running it one section at a time. To stop running the script or a section midway (for example, when an animation is in progress), use the Stop button in the RUN section of the Live Editor tab in the MATLAB Toolstrip.
Solutions are available upon instructor request. Contact the MathWorks teaching resources team if you would like to request solutions, provide feedback, or if you have a question.
This module assumes familiarity with basic programming concepts such as floating point doubles and strings, structures including constants, vectors, matrices, and arrays, and control flows including if/else, for loops, and while loops, as well as how to use them in MATLAB. These ideas are all presented with interactive examples in Fundamentals of Programming.
Accessing the Module
On MATLAB Online:
Use the link to download the module. You will be prompted to log in or create a MathWorks account. The project will be loaded, and you will see an app with several navigation options to get you started.
Download or clone this repository. Open MATLAB, navigate to the folder containing these scripts and double-click on StructuringCode.prj. It will add the appropriate files to your MATLAB path and open an app that asks you where you would like to start.
Ensure you have all the required products (listed below) installed. If you need to include a product, add it using the Add-On Explorer. To install an add-on, go to the Home tab and select Add-Ons > Get Add-Ons.
The license for this module is available in the LICENSE.md.
Related Courseware Modules
Programming: Organizing Data
Learn more about strings, numeric data types, memory, and ways of storing data
Programming: A Starter Project Using MATLAB and Python
Use MATLAB, Python, and the OpenWeather API together to implement a weather prediction dashboard
- Fundamentals of Programming is available on or or GitHub
- Treasure Hunt Game: Learn to Code is available on or or GitHub
Or feel free to explore our other modular courseware content.
Looking for more? Find an issue? Have a suggestion? Please contact the MathWorks teaching resources team. If you want to contribute directly to this project, you can find information about how to do so in the CONTRIBUTING.md page on GitHub.
© Copyright 2023 The MathWorks™, Inc
Emma Smith Zbarsky (2024). Programming: Structuring Code (https://github.com/MathWorks-Teaching-Resources/Programming-Structuring-Code/releases/tag/v1.0.4), GitHub. Retrieved .
MATLAB Release Compatibility
Platform CompatibilityWindows macOS Linux
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!
See release notes for this release on GitHub: https://github.com/MathWorks-Teaching-Resources/Programming-Structuring-Code/releases/tag/v1.0.4
See release notes for this release on GitHub: https://github.com/MathWorks-Teaching-Resources/Programming-Structuring-Code/releases/tag/v1.0.3
See release notes for this release on GitHub: https://github.com/MathWorks-Teaching-Resources/Programming-Structuring-Code/releases/tag/v1.0.2
See release notes for this release on GitHub: https://github.com/MathWorks-Teaching-Resources/Programming-Structuring-Code/releases/tag/v1.0.1