Curriculum Module
Created with R2024b. Compatible with R2024b and later releases.
With Pixels to Pictures, students will use MATLAB®, the programming platform used by scientists and engineers, to edit images, build GIFs, and create filters used in popular apps like Instagram™, Snapchat™, or TikTok™!
This material contains interactive MATLAB Live Scripts to assist instructors in teaching computer programming and image manipulation concepts. They can be leveraged as demonstrations, activities, or interactive assignments.
Within this content, MATLAB Live Scripts (".MLX") are employed, which are interactive documents that combine MATLAB code with formatted text, equations, and images in a single environment called the Live Editor. Both “.M” files and “.MLX” files will execute the written code the same, but the Live Scripts are meant to be interacted with as an educational or visual tool.
https://www.mathworks.com/help/matlab/matlab_prog/what-is-a-live-script-or-function.html
https://www.mathworks.com/help/matlab/live-scripts-and-functions.html
Note: Modules are also available in PDF document format.
Modules are numbered to show a recommended flow, but do not necessarily need to be completed sequentially. You may choose to complete whichever modules fit the experience level of your students. This means that modules can be leveraged as:
- Individual lessons/activities
- A combination of modules, either in order or mixed and matched
- A week-long course, consisting of a few modules per day:
Day 1 | Day 2 | Day 3 | Day 4 |
---|---|---|---|
1. Introduction to Pixels | 5. Indexing Practice and Character Arrays | 9. Concatenation in MATLAB | 13. Applying Masks to Faces in Images |
2. What is RGB? | 6. Functions and Operating on Images | 10. Complex Color Filters | 14. Applying Custom Masks on Images |
3. Introduction to MATLAB | 7. Applying Special Effects to Images | 11. Text on Images | 15. Creating Custom Collages |
4. Indexing and Matrices | 8. Applying Color Filters to Images | 12. Encipher and Decipher Text | 16. Creating an Animated GIF |
There are no prerequisites for these modules, but instructors and students can use MATLAB Onramp or Learn to Code (for beginner students) as a resource to become familiar with Live Scripts and MATLAB syntax.
Students will need laptops or Chromebooks with access to the Internet to use MATLAB® Online™. MATLAB Online provides access to MATLAB and Simulink through a web browser, eliminating the need to install the entire application on a device. For the best overall experience, Google Chrome® is recommended to access MATLAB Online.
For more information about MATLAB Online, please visit: https://www.mathworks.com/products/matlab-online.html
It is recommended to set up desks and tables such that students can move around to facilitate group work and can also see the screen where you project the MATLAB lesson plans. Students need laptops with access to power outlets. Internet access is required in order to use MATLAB® Online™.
Instructor Guides
Each module has its own Instructor Guide in the form of a Live Script or PDF document. These contain all the background information, course preparation, and lesson plans for the activities to cover with the students. Be sure to read them carefully as they contain the basic information you need to teach each module successfully.
Tip: To effectively navigate the Instructor Guides, you can make use of the Table of Contents at the top.
Student Live Scripts
While you use the Instructor Guides to direct the modules, students will be opening Live Scripts through the File Explorer or via the command line , as shown below:
>> open ImageConcatenate.mlx
They will follow along with these and are not given a set of Instructor Guides.
Student Worksheets and Handouts
Included are worksheets and handouts that students fill out to reinforce concepts, the modules indicate when to print/distribute each worksheet. Handouts contain a list of vocabulary and common MATLAB commands the students need in the course. Encourage the students to refer to the handouts while completing the modules. The 'Materials' section in each activity lists the worksheets and/or handouts required for that activity.
These instructions are for both instructors and students.
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 the file directory within the Current Folder pane.
Download or clone this repository. Open MATLAB and navigate to the folder containing the repository.
Within the Command Window, next to the >> symbol, enter the following:
>> setupP2P
This will start installing the course toolbox and apps.
Note: This could take several minutes to complete. You only need to run ‘setupP2P.m’ once to install the course toolbox.
There will be a message within the Command Window when the toolbox done installing.
From there, you can get started by opening the modules within the 'instructor_resources > instructor_guides' folder. The instructions inside these will guide you through the exercises and activities.
NGSS
MS-ETS1-2. Evaluate competing design solutions using a systematic process to determine how well they meet the criteria and constraints of the problem.
MS-ETS1-3. Analyze data from tests to determine similarities and differences among several design solutions to identify the best characteristics of each that can be combined into a new solution to better meet the criteria for success.
ISTE
Creativity and Innovation
- Apply existing knowledge to generate innovative ideas, products, or processes.
- Create original works as a means of personal or group expression.
Critical thinking, problem solving, and decision making
- Identify and define authentic problems and significant questions for investigation.
- Plan and manage activities to develop a solution or complete a project.
- Collect and analyze data to identify solutions and/or make informed decisions.
- Use multiple processes and diverse perspectives to explore alternative solutions.
CSTA
Computational Thinking
- Use the basic steps in algorithmic problem-solving to design solutions (e.g., problem statement and exploration, examination of sample instances, design, implementing a solution, testing, evaluation).
Computing Practice & Programming
- Implement problem solutions using a programming language, including: looping, behavior, conditional statements, logic, expressions, variables, and functions.
- Demonstrate dispositions amenable to open-ended problem solving and programming (e.g., comfort with complexity, persistence, brainstorming, adaptability, patience, propensity to tinker, creativity, accepting challenge).
MATLAB®
The license for this module is available in the LICENSE.txt file in this GitHub repository.
Contact the MathWorks STEM Outreach team to provide feedback, or if you have questions.
Copyright 2024 The MathWorks®, Inc.