Programming Languages (Matlab)

CS W3101-1

Instructor: Blake Shaw

 

Office Hours and Contact Info

Blake at 624 CEPSR

Thursdays 3-4pm or by appointment


TA: Subhrendu

Tuesdays 4-5pm or by appointment at the CS TA room (1st floor of MUDD)


More information

Feel free to email me or the TA with any questions


More Help with Matlab

Matlab Documentation from Mathworks


Great set of videos and tutorials:

Mathworks Demos



Basic Course Syllabus

Matlab as a calculator (Class 1)

the command prompt,  variables, mathematical functions, arrays, and array operations, setting up scripts, basic plotting


Matlab as a scripting language (Classes 2-3)

control flow, more data types, matrices, strings, cells, creating functions, user input, more advanced plotting


Matlab as  research tool (Classes 4-6)

reading data in, writing data out, visualization, working with images, linear algebra, symbolic math, optimization solvers, other toolboxes

Spring 2008 Computer Science W3101

PROGRAMMING LANGUAGES

Section 001

PROGRAMMING LANG (MATLAB)

Call Number: 83539 Points: 1

Day/Time: W 11:00am-1:00pm Location: 252 Engineering Terrace

Notes: START DATE: 3/5/08, END DATE: 4/16/08. NO CLASS ON 3/19/08

Instructor: Blake Shaw

News (archive)


5/6/08 - All HWs graded on courseworks

5/6/08 - HW5 solutions are posted

4/24/08 - HW4 solutions are posted


Course Description

Matlab is a general-purpose high-level computer language and interactive environment that is useful for solving a wide variety of problems in science and engineering.  This course aims to provide a basic understanding of the language for students who already have some programming experience.  There will be an emphasis on the features that distinguish Matlab from other languages, in particular, Matlab’s matrix and vector operations, complex mathematical functions, as well as plotting and visualization tools.


Prerequisites:  Any introductory programming class, such as 1003, 1007, 1009.  Basic knowledge of at least one common language: Java, C, Python, etc. and a basic knowledge of linear algebra.


Requirements:

  1. CUNIX account, and access to courseworks for grades

  2. Access to Matlab 7, there are computer labs on campus where you can use your cunix account to access Matlab, or you can purchase a student copy from mathworks

  3. A textbook is not required, however for many students I feel that a textbook is highly recommended.  The textbook: Mastering MATLAB 7 by Duane Hanselman and Bruce Littlefield.


Is this course right for you?

I have received many emails from students asking if this class is right for them, and I would just like to clarify that this class is not an introduction to Matlab for students without any programming experience. Those students are urged to take Intro to Programming in Matlab (1005).   If you are on the fence, ask yourself... could I write a program (in any language) that could, say, spit out the first 100 Fibonacci numbers, or sort a list of strings?



Schedule, Notes and Assignments

6 lectures, weekly short programming assignments, and 1 quiz


Homework Submission Instructions


3/5/08 - Class 1 notes (m-file), Homework 1 (m-file) is due at 11:59pm EST, 3/11/08, Optional reading: Getting Started, Mastering Matlab: chapters 1-7.  Homework 1 Solutions.


3/12/08 - Class 2 notes (m-file), Homework 2 (m-file) is due at 11:59pm EST, 3/25/08, Optional reading: Flow Control, Mastering Matlab: chapters: 10-11.  Homework 2 Solutions.


3/19/08 - No class - Spring Break!!!


3/26/08 - Class 3 notes (m-file), Homework 3 (m-file) is due at 11:59pm EST, 4/1/08 (no joke!).  Download hw3caesar.matHomework 3 Solutions.


4/2/08 Quiz today, Class 4 notes (m-file), Homework 4 (m-file) is due at 11:59pm EST, 4/8/08.  Download fruit.jpg, waldo.png, and findwaldobig.jpg. Homework 4 Solutions.


4/9/08 Class 5 notes (m-file), Homework 5 (m-file) is due at 11:59pm EST, 4/15/08. Download hw5digits.mat, hw5classify.mat, hw5labels.mat, hw5trainlabels.matHomework 5 Solutions.


4/16/08  Class 6 notes (m-file), OPTIONAL Homework 6 (m-file) is due at 11:59pm EST, 4/22/08


Note about HW6:

This Homework is optional. It is a chance to improve your grade (if you feel like you need to) by using MATLAB for a problem of your choosing.  More details are posted in the homework file.  Choosing to not do HW6 will not affect your grade in any way.