CS368: Learning a New Programming Language
SYLLABUS - Lec 1, Spring 2020

Note: this syllabus is tentative and subject to change - make sure to check it regularly.

Week  
1 (1/22) Topics: course information, getting started in MATLAB
Read: Matlab Reference
Other: handouts: course information, MATLAB Basics
2 (1/29)  Topics: scalars, vectors, matrices, creating scripts
Read: Matrices and vectors in Matlab, Matlab Scripts
Other: handout: Vectors and Matrices
3 (2/5)  Topics: mathematical operations on vectors/matrices, plotting, publishing scripts
Read: Plotting Points in Matlab
Other: handouts: More MATLAB Basics
4 (2/12)  Topics: user input, basic file input and output
Read:
Other: handouts: publishTemplate.m, Basic I/O
5 (2/19)  Topics: formatting output, defining functions
Read: Functions
Other: handouts: Formatted Output, MATLAB Functions;
6 (2/26)  Topics: polynomials, curve fitting, interpolation, approximation
Read: Data Fitting
Other: handout: Data Fitting
7 (3/4)  Topics: solving linear systems, \ (the backslash operator)
Read: Linear Systems
Other: handout: Linear Systems Examples;
8 (3/11)  Topics: loops
Read: Sequential and Iterative Execution
Other: handout: for Loops
9 (3/25)  Topics: conditional execution
Read: Conditional Execution and Code Tracing
Watch: Boolean Expressions Part 1; Boolean Expressions Part 2;
If Statements;
While Loops;
Notes from Video: Notes for Boolean Expressions (Part 1 and 2);
MATLAB Script for Boolean Expressions (Part 1 and 2);
Notes for If Statements;
MATLAB Script for If Statements;
Notes for While Loops;
MATLAB Script for While Loops;
Other: handout: Conditional Execution;
10 (4/1)  Topics: advanced control-flow, input validation
Read: Nesting and Debugging
Watch: Nested Statements;
Vector Conditional Execution and String Operations;
Switch Statements;
Break and Continue;
Video Notes: Nested Statements Lecture Notes;
Nested Statements MATLAB Script;
Vector Conditional Execution and String Operations Notes;
Vector Conditional Execution and String Operations MATLAB Script;
Switch Statements Notes;
Switch Statements MATLAB Script;
Break and Continue Notes;
Break and Continue MATLAB Script;
Other: handout: Advanced control-flow: nesting, break, continue, and switch
11 (4/8)  Topics: testing and debugging
Read: MATLAB help for using MATLAB's debugger
Watch: Testing;
Building a Test Suite;
Error Types and Debugging;
Notes from Video: Notes for Testing and Test Suites;
MATLAB Script for Testing (Video 1);
MATLAB Script for Test Suite;
MATLAB Function validateID;
Notes for Error Types and Debugging;
MATLAB Script for Error Types and Debugging;
Other: handout: Testing and Debugging;
12 (4/15)  Topics: function handles, anonymous functions, function functions
Read: Advanced Functions
Watch: Function Handles;
Anonymous Functions;
Root Finding;
Numerical Integration;
Notes from Video: Notes for Function Handles;
MATLAB Script for Function Handles;
MATLAB Function aTrigFunction;
MATLAB Function addNoise;
Notes for Anonymous Functions;
MATLAB Script for Anonymous Functions;
Notes for Root Finding;
MATLAB Script for Root Finding;
MATLAB Function fctn;
Notes for Integration;
MATLAB Script for Integration;
Other: handout: Advanced Functions
13 (4/22)  Topics: successive numeric approximation algorithms
Read: Successive Numeric Approximation
Watch: Successive Numeric Approximation;
Bisection Method for Root Finding;
Newton's Method for Root Finding;
Notes from Video: Notes for Successive Numeric Approximation;
MATLAB Script for Successive Numeric Approximation;
Notes for Bisection Method for Root Finding;
MATLAB Script for Bisection Method for Root Finding;
MATLAB Function bisection;
Notes for Newton's Method for Root Finding;
MATLAB Script for Newton's Method for Root Finding;
MATLAB Function newton;
Other: handout: Successive Numeric Approximation;
14 (4/29)  Topics: formatted file input and output, 3D plotting, more plotting options
Read:
Watch: Formatted File Output;
Formatted File Input;
Advanced Plotting;
Notes from Video: Notes for Formatted File Output;
MATLAB Script for Formatted File Output;
MATLAB Script writefile;
Notes for Formatted File Input;
MATLAB Script for Formatted File Input;
MATLAB Script readfile;
Notes for Advanced Plotting;
MATLAB Script for Advanced Plotting;
Other: handout: Plotting;
Last Updated: 1/20/2020, Michael O'Neill