Course Schedule

Dates and topics are subject to change, check back often!

Readings (page numbers) are given for the Sixth Edition of MATLAB: An Introduction With
Applications by Amos Gilat (pages for the Fifth Edition are the same).

Assignment work is expected to be done in pairs, following Pair Programming principles.

Monday Tuesday (Lab) Thursday

1/28   Lecture 1

  • course administration
  • course overview
  • student project gallery

1/29   Lab 1

  • introduction to MATLAB
  • accessing course software
  • Reading: 5-23

1/31   Lecture 2

  • variables and assignment
  • numbers and text
  • Reading: 95-102
  • Slides

2/4   Lecture 3

  • collections of numbers
  • vectors
  • plotting 2-D graphs
  • Reading: 35-38, 46, 133-138, 141-148
  • Slides

2/8   Lab 2

2/7   Lecture 4

  • conditional expressions
  • if statement
  • Reading: 175-186
  • Slides

2/11   Lecture 5

  • indexing
  • logical vectors for selection
  • Reading: 42-43
  • Slides

2/12   Lab 3

2/14   Lecture 6

  • matrices
  • matrix operations
  • indexing matrices
  • images
  • Reading: 39-53, 63-68, 72-78
  • Assignment 1 due
  • Slides
Monday Tuesday (Lab) Thursday

2/18

        Presidents' Day — No Class

2/19   Lecture 7

     Monday Schedule
  • matrices
  • tables of data
  • Slides

2/21   Lecture 8

     Class meets in SCI 257
  • matrices
  • tables of data
  • images
  • Assignment 2 due
  • Assignment 3 out

2/25   Lecture 9

  • user-defined functions
  • Reading: 221-231

2/26   Lab 4

  • review for Exam 1

2/28   Lecture 10

  • user-defined functions
  • MATLAB search path
  • for loops
  • Reading: 192-196
  • Assignment 3 due

3/4   Lecture 11

    EXAM 1 -- in class

3/5   Lab 5

  • functions
  • loops
  • Assignment 4 out

3/7   Lecture 12

  • optional inputs
  • more if statements
  • nested for loops
  • Reading: 187-188, 200-202
Monday Tuesday (Lab) Thursday

3/11   Lecture 13  

  • while loops
  • structures
  • program design
  • Reading: 197-199

3/12   Lab 6

  • functions
  • for & while loops
  • structures
  • Assignment 5 out

3/14   Lecture 14

  • program design
  • subfunctions
  • properties of graphics objects
  • Assignment 4 due

3/18   Lecture 15

  • creating GUIs
  • GUI programming
  • Reading: 53-55

3/19   Lab 7

  • building GUIs
  • Assignment 5 due Wednesday
  • Assignment 6 out

3/21   Spring Break


      

3/25   Spring Break

3/26   Spring Break

3/28   Spring Break

4/1   Lecture 16

  • GUI programming

4/2   Lab 8

  • building GUIs
  • Assignment 6 work

4/4   Lecture 17

  • string processing
  • cell arrays
Monday Tuesday (Lab) Thursday

4/8   Lecture 18

  • reading/writing files
  • Reading: 103-110

4/9   Lab 9

  • reading/writing files
  • Assignment 7 out

4/11   Lecture 19

  • reading/writing files
  • GUI tips for projects
  • Assignment 6 due
  • Final Project Phase One
    due Friday
  • MATLAB Extras

4/15

        Patriots' Day — No Class

4/16   Lab 10

  • review for Exam 2

4/18   Lecture 20

  • 3-D visualization
  • colormaps
  • Reading: 323-336
  • Assignment 7 due

4/22   Lecture 21

    EXAM 2 -- in class

4/23   Lab 11

  • 3-D visualization
  • color images and colormaps
  • Assignment 8 out

4/25   Lecture 22

  • numbers and images
  • 2-D visualization
  • Reading: 149-156
  • Plots page
Monday Tuesday (Lab) Thursday

4/29   Lecture 23

  • selecting/sorting data

4/30   Lab 12

  • project work

5/2   Lecture 24

  • error handling
  • Final Project Phase Two
    due Friday

5/6   Lecture 25

  • MATLAB statistics toolbox

5/7   Lab 13

  • Final Project Phase Three
  • project presentations

5/9   Lecture 26

  • CS112 retrospective
  • beyond CS112
  • Assignment 8 due

 5/13   Reading period

 5/14  Reading period

 5/16   Finals

 5/20   Finals

 5/21   Finals

  • Final Project Phase Four
    due by 4:00pm