Introduction to Computer Science and Programming in MATLAB
Section 1: Spring 2012, Mondays and Wednesdays from 10:35am to 11:50am
Location: 483 CSB
Section 2: Spring 2012, Tuesdays and Thursdays from 9:10am to 10:25am
Location: 233 Mudd
Announcements:
2/3/2012 - Paul's office hours on
Wednesday, February 8 will be movded to the 1:30pm to 2:30pm slot.
2/3/2012 - Homework
1 was assigned in class at the beginning of this week. It is
due on Friday, February 10, 2012 at 11:59pm.
Archive of all announcements.
Instructor:
Paul Blaer
(pblaer@cs.columbia.edu)
Office Hours: Monday through Thursday from 12:30pm to 1:30pm
Location: 483 Computer Science Building
Teaching Assistants:
All TA office hours are held in
the TA room.
- Benjamin Bardin
(bab2153@columbia.edu)
Office Hours: Tuesdays from 1:30pm to 2:30pm and 5:30pm to 6:30pm.
- Marc Howard
(mh3203@columbia.edu)
Office Hours: Wednesdays from 1:30pm to 2:30pm and Thursdays from
4:30pm to 5:30pm.
- Farbound Tai
(ft2201@columbia.edu)
Office Hours: Mondays from 6:00pm to 7:00pm and Fridays from 9:00am
to 10:00am.
Class Links:
- Syllabus - General course information,
required text books, class topics and schedule.
- Courseworks -
Through courseworks you have access to your homework and exam grades
(when they are available). Homework assignment solutions will also be
available in the "Class Files" section under the folder "Shared
Files." If you are registered for the class, you should have access to
this site. If you can't access the site please send me a note
at pblaer@cs.columbia.edu.
- MATLAB
Documentation provided by MathWorks.
- Software - Access to a recent version of MATLAB is required (R2008a
or later).
- Computer
Lab Locations - Dell Windows workstations and Mac workstations
have a recent version of MATLAB installed. Most labs are not open
24 hours a day, so make sure to check the scheduled hours before
heading to the lab.
- Matlab is available at no cost to students under the
Engineering School's site licence. You can download it
at http://portal.seas.columbia.edu/matlab/.
Lectures
- Lecture 1 - 1/18/2012: Introduction and a brief history of
computing.
- Lecture 2 - 1/23/2012 (section 1) and 1/24/2012 (section
2): Introduction to MATLAB. Basic expressions, operators, and
order of precedence. Complex numbers. Different data types
(classes) such as logical and char. Use of the class function.
Calling functions. Script m-files and their relationship to the
command window's workspace.
Reading: Skim Hanselman Chapters 1-4
- Lecture 3 - 1/25/2012 (section 1) and 1/26/2012 (section
2): Discussed the diary command. Reviewed script
m-files. Talked about array creation and concatenation.
Introduced matrix operations. Talked about performing matrix
operations with a matrix operand and a scalar operand. Talked
about the concept of vectorization. Talked about elemental
operations and their difference from matrix operations.
Reading: Start Reading Hanselman Chapter 5
- Lecture 4 - 1/30/2012 (section 1) and 1/31/2012 (section
2): Talked about the \ operator and its use in solving a
linear series of equations. Talked about using an index or
subscripts to access and/or change a particular element in an
array. Talked about using arrays to index or subscript into an
array. Talked about the colon operator. Mentioned the randperm,
repmat, and reshape functions.
Reading: Finish Reading Hanselman Chapter 5
- Lecture 5 - 2/1/2012 (section 1) and 2/2/2012 (section 2):
Talked about assigning multiple elements of an array at one time.
Talked about comparison operators and logical operators. Talked
about regular and short circuiting and's and or's. Introduced
logical indexing and the find function. Introduced the input
function. Started talking about control flow and the if statement.
Reading: Read Hanselman Chapter 10, Start Reading Hanselman
Chapter 11
Files: Sample files from this lecture can be
found here.
Homework Assignments
- Homework 1 - Due at 11:59pm on Friday,
February 10, 2012.
Paul Blaer pblaer@cs.columbia.edu
Last Modified: February 3, 2012