ACM11 Introduction to Matlab and Mathematica Fall 2008-09

Announcements

Handouts

During the Matlab section, we may refer to Clever Moler's freely available online textbook "Numerical Computing with MATLAB" (Moler is the creator of MATLAB and a Caltech alumn). Supplemental texts and readings will be listed here as they arise.

Week 1: MATLAB
Mon Sept. 29 to Sun Oct. 5
Lecture 1: the m file and a nicer html version
(optional) Chapter 1 (Introduction) from Moler's online book
If you need help "getting started", try sections 1 and 2 from the MATLAB Getting Started guide
See also the Mathwork's Tutorial site which lists several tutorials.
Week 2: MATLAB
Mon Oct. 6 to Sun Oct. 12
Lecture 2: the m file and a nicer html version
(optional) Moler and Van Loan's 19 Dubious Ways to Compute the Exponential of a Matrix, sections 1, 3, 8 and 9
Week 3: MATLAB
Mon Oct. 13 to Sun Oct. 19
Lecture 3: the m file and a nicer html version
Week 4: MATLAB
Mon Oct. 20 to Sun Oct. 26
Lecture 4: the m file and a nicer html version
Supplemental Notes on the ODE solvers in MATLAB
Week 5: MATLAB
Mon Oct. 27 to Sun Nov. 2
Lecture 5 (advanced topics): the m file and a nicer html version
Week 6: Mathematica
Mon Nov. 3 to Sun Nov. 9
Lecture 6 (introduction to Mathematica): the notebook file and problem set template (these are viewable only in Mathematica 6, and you may have to right-click in your browser and use "Save As" to download them). You can also look at the template as a pdf.
Week 7: Mathematica
Mon Nov. 10 to Sun Nov. 16
Lecture 7 (Lists, functions, rules, and patterns in Mathematica): the notebook file for the lecture is available. If you would like to view the notebook file on a computer that does not have Mathematica installed, you can download the free Mathematica Player (formerly known as the Mathematica Reader).
Week 8: Mathematica
Mon Nov. 17 to Sun Nov. 23
Lecture 8 (Functions and loops in Mathematica): the notebook file for the lecture is available.
Week 9: Mathematica
Mon Nov. 24 to Sun Nov. 30
Lecture 9 (Anonymous functions, loops, and graphics in Mathematica): the notebook file for the lecture is available.
Week 10: Mathematica
Mon Dec. 1 to Sun Dec. 7
Lecture 10 (Exact vs. Inexact Arithmetic, Packages and Namespaces)" the notebook file for the final lecture is available.
Week 11: Study Period/Finals Week
Mon Dec. 8 to Sun Dec. 14

Problem Sets

Directions for online submission During the Matlab portion of the class, submit online assignments via anonymous ftp to ftp.its.caltech.edu/pub/gittens/incoming. If there are multiple files in your submission, zip them together and submit that single compressed file. Whatever file you submit, name it according to the template Firstname_Lastname_HW#.ext, where you replace HW# with the number of the assignment, and ext is the appropriate extension. If you need to resubmit an assignment before the due date, e.g. you found a bug, append a single letter indicating the revision to the filename: A to indicate the first revision after the initial submission, through Z to indicate the 26th. Examples: Peter_Petrelli_1.zip, Sarah_Connor_3_A.m, Dean_Winchester_5.c

Here are ftp instructions if you are not familiar with uploading files via ftp. The instructions also tell you how to check if your upload worked; do not email us and ask!

Week 1: MATLAB
Mon Sept. 29 to Sun Oct. 5
HW1 (PDF) and the data for problem 1 HW1 is due in class at noon, Mon Oct 6 Problem two has been improved; see HW1 version 2. You may turn in either the original or version 2.
The HW1 solutions are now posted.
Week 2: MATLAB
Mon Oct. 6 to Sun Oct. 12
HW2 (PDF), the file diceData.mat for problem 2, and the file randomNumbers.mat for problem 3.
Please note the special instructions for the format of your homework; we will run the code, not look at it! This homework must be submitted electronically.
HW2 is due by noon on Wednesday, October 15. HW2 Solutions are now posted.
Week 3: MATLAB
Mon Oct. 13 to Sun Oct. 19
HW3 (PDF), due by noon on Wednesday, October 22. This must also be submitted electronically.
Deadline extended to Monday, October 27 HW3 Solutions are now posted.
Week 4: MATLAB
Mon Oct. 20 to Sun Oct. 26
HW4 (PDF), due by noon on Wednesday, October 29. This must also be submitted electronically. HW4 Solutions are now posted.
Instructions for the project are posted.
Week 5: MATLAB
Mon Oct. 27 to Sun Nov. 2
Instructions for the project are posted. The project is due Wed, Nov 5 at noon.
Deadline extended to Monday, November 10 at noon.
Week 6: Mathematica
Mon Nov. 3 to Sun Nov. 9
HW5.pdf, due by noon on Wednesday, November 12. Please note the instructions for submission, both in the assignment and the problem set template. In particular, the ftp directory you submit homeworks to has been changed.
Week 7: Mathematica
Mon Nov. 10 to Sun Nov. 16
HW6.pdf (has been revised to clarify part b of problem 2), due by noon on Wednesday, November 19. The HW5 solution is now available.
Week 8: Mathematica
Mon Nov. 17 to Sun Nov. 23
HW7.pdf has been posted, and is due by noon on Wednesday, November 26. The HW6 solution is now available.
Week 9: Mathematica
Mon Nov. 24 to Sun Nov. 30
HW8.pdf has been posted, and is due by noon on Wednesday, December 3. The HW7 solution is now available. The Mathematica project instructions have been posted.The projects are due December 12.
Week 10: Mathematica
Mon Dec. 1 to Sun Dec. 7
HW8 solution is now available. (Recall HW8 was the final homework).
Week 11: Study Period/Finals Week
Mon Dec. 8 to Sun Dec. 14

Contact

Mathematica (Mon Nov. 3 to Fri Dec. 5)
Instructor Alex Gittens
email: gittens at acm.caltech.edu
office: 210 Firestone
office hours: noon to 1pm on Tuesdays, in office
Teaching Assistants Stephen Becker
email: srbecker at acm.caltech.edu
office: 214 Firestone
office hours: Tuesdays 4pm-5pm and Mondays 3pm-4pm, in office
Esther Wang
email: estherwang at gmail.com
office: (office hours in study room 2-2 in SFL library)
office hours: Sundays 9pm-11pm

Course Policies

Download the course syllabus (PDF)

Grading Both the Matlab and Mathematica sections will each have 4 to 5 homeworks and one project. The two sections will have equal weight. The homeworks will be weighted equally, and each project will carry the weight of two homeworks. Students will be allowed to drop one homework for the entire class (not per section); the projects are not eligible to be dropped. Electing to drop a homework will prevent the student from receiving an "A+" letter grade. Letter grades may be based on a curve.

For students taking the course PASS/FAIL: the passing cutoff will be 70%. Grading will be done the same as for students taking the course for a letter grade.

Collaboration Students are allowed to discuss problems; however, particular homework problems should be discussed away from the computer. It is not acceptable for students to "split" a homework or homework problem. Copying of code is completely unacceptable.

Extensions In order to be fair to all students, there is a no-extension policy. However, as mentioned above, students are allowed to drop one homework per term (we will do this automatically).

Email policy The instructor and TA are happy to answer students' questions; this is why we hold office hours. However, we strongly discourage questions via email. Email responses take much longer and are less effective than personal interaction -- it is also harder to give the appropriate amount of assistance without revealing the solution. We will answer such emails at our discretion.

Important Dates

Week 1: MATLAB
Mon Sept. 29 to Sun Oct. 5
Monday Sept 29, 12:00 PM Firestone 306, mandatory organizational meeting
Week 2: MATLAB
Mon Oct. 6 to Sun Oct. 12
Week 3: MATLAB
Mon Oct. 13 to Sun Oct. 19
Fri Oct. 17: Last day for adding courses
Week 4: MATLAB
Mon Oct. 20 to Sun Oct. 26
Week 5: MATLAB
Mon Oct. 27 to Sun Nov. 2
Week 6: Mathematica
Mon Nov. 3 to Sun Nov. 9
The MATLAB projects are due on Wednesday at noon this week
Week 7: Mathematica
Mon Nov. 10 to Sun Nov. 16
Week 8: Mathematica
Mon Nov. 17 to Sun Nov. 23
Wed Nov. 19: Last day for dropping courses
Week 9: Mathematica
Mon Nov. 24 to Sun Nov. 30
No class Thur or Fri (Thanksgiving)
Week 10: Mathematica
Mon Dec. 1 to Sun Dec. 7
Fri Dec. 5 is last day of classes
Week 11: Study Period/Finals Week
Mon Dec. 8 to Sun Dec. 14
No class; final Mathematica projects due