Sep 14, 2024  
2023-2024 College Catalog 
    
2023-2024 College Catalog [ARCHIVED CATALOG]

ENG 209IN - Introduction to MATLAB and Python

3 Credits, 5 Contact Hours
2 lecture periods 3 lab periods

Fundamental knowledge and practical abilities in MATLAB and Python utilizing technical numerical computations in engineering courses. Includes script files and functions; creating and performing operations on arrays; creating two and three-dimensional plots; implementation of programming and algorithms; applying numerical methods including integration and differentiation; linear and nonlinear problem-solving.

Prerequisite(s): MAT 220  
Button linking to AZ Transfer course equivalency guide 

Course Learning Outcomes
  1. Use MATLAB and Python for interactive computations.
  2. Use MATLAB and Python’s built-in computational and logical operators and functions
  3. Implement mathematical operations on one and two-dimensional arrays, including solving linear systems of equations, using Matlab and Python.
  4. Apply programming skills and techniques to solve computational and engineering problems.
  5. Evaluate various methods for algorithm implementation.
  6. Write program code that reads and writes data.
  7. Generate 2-dimensional and 3-dimensional plots in MATLAB and Python and export them for use in reports and presentations.
  8. Create functions in MATLAB and Python.
  9. Implement various numerical analysis techniques, such as regression, interpolation, differentiation, and integration.
  10.  Use Python objects including strings, lists, tuples, and loops.
  11. Compare strengths of MATLAB and Python to decide which is more useful for a given situation.

Outline:
  1. Introduction to MATLAB
    1. Starting MATLAB and MATLAB windows
    2. Working in the command window
    3. Arithmetic operations with scalars
    4. Relational and logical operations
    5. Elementary built-in math functions
  2. Variables, Arrays, and Data Types
    1. Single-value variables
    2. Constructing one and two-dimensional arrays
    3. Array indexing and referencing
    4. Operations on arrays
      1. Arithmetic, relational, and logical operators
      2. Built-in math functions
      3. Vectorized computations
    5. Character strings
    6. Struct and cell arrays
  3. Functions and Script Files
    1. Creating, saving, and running a script file
    2. User-defined functions
    3. Global and local variables
    4. Anonymous functions
    5. Function name as input
  4. Programming in MATLAB
    1. Branching
    2. Iteration
    3. Recursion
    4. Sorting and searching algorithms
  5. [Optional] Complexity
    1. Operation counting and Big-O notation
    2. Measuring performance
  6. Reading and Writing Data
    1. Importing and exporting data
    2. Output commands
  7. Two and Three-Dimensional Plots
    1. Two-dimensional plots
      1. The plot and flplot commands
      2. Continuous and discrete plots
      3. Plotting multiple plots in the same graph
      4. Plotting multiple graphs in the same figure
      5. Plots with logarithmic axes
    2. Three-dimensional plots
      1. Mesh and surface plots
      2. The view command
    3. Customization and annotation
  8. Linear Algebra
    1. Operations on vectors
      1. Norm
      2. Dot and cross products
      3. Inverse
      4. Determinant
    2. Matrix multiplication
    3. Solving systems of linear equations
  9. Regression and Curve Fitting
    1. Least squares regression theory
    2. Applying regression
    3. Nonlinear curve fitting
      1. Exponential curve
      2. Linear interpolation
      3. Polynomial interpolation
  10. Numerical Differentiation and Integration
    1. Difference quotients for first and second derivatives
    2. Built-in MATLAB differential operators
    3. Built-in MATLAB integrators
    4. Numerical integration with vectorized computation
  11. Introduction to Python
    1. Installing Python
    2. Working in the command line and the Python shell
    3. Computing with numbers and variables
    4. Relational and logical operators
    5. Working with Python objects
      1. Strings
      2. Lists
      3. Tuples
      4. Loops
    6. Control flow
    7. File input/output
    8. Functions
  12. Basic plotting in Python
    1. Line and scatter plots
    2. Annotation and customization
    3. Special plots: polar, histograms
  13. Matplotlib
    1. Line and scatter plots
    2. Annotation and customization
    3. Multiple plots
    4. Special plots
    5. Contour plots
    6. Three-dimensional plots
  14. Optional Python topics
    1. IPython and Jupyter Notebook
    2. Numpy


Effective Term:
Fall 2023