CS1132 --> Syllabus
Course: Transition to MATLAB -- Lecture-based course (1 credit)
Instructor: K.-Y. Daisy Fan
Website: http://www.cs.cornell.edu/courses/cs1132/2012fa/lec

Course Description

1 credit hour. S/U only. A brief introduction to programming using Matlab. Covers the Matlab environment, assignment, conditionals, scripts, functions, iteration, and arrays, as well as graphics. It is assumed that the student knows basic procedural programming in a language like Java, C, C++, or Fortran.

Times & Places

Course duration is five weeks. Lecture Section 001 runs August 28 to September 28.
Lecture: TuTh 3:35-4:25pm Hollister B14
Lab1 (Dis1): F 1:25-2:15pm Upson B7
Lab2 (Dis2): F 2:30-3:20pm Upson B7

Staff

Instructor: K.-Y. Daisy Fan dfan at cs.cornell.edu Office hour Thurs 2-3pm Upson 5141
Teaching Assistant: Ankit Arora aa545 at cs.cornell.edu Office hour Mon 3-5pm Upson 328 Bay C
Consultants: Consulting hours Sunday to Thursday 5-10pm Carpenter Hall ACCEL Green Rm (2nd flr)

Material

Required textbook: Essentials of MATLAB Programming (Second Edition) by Stephen J. Chapman.
Optional software:   MATLAB Student Version (2008 or later)

Grades

Though S/U only, the course requires mastery of the material: you must pass the course at the B level. Specifically, the average score of the required submissions--Assignment 1 (a and b together), Test 1, Assignment 2, and Test 2--must be 85 or higher. Assignment 1 parts a and b together accounts for 25%; Assignment 2 is worth 25%. Each of the two tests is worth 25%.

Multiple submissions are allowed in order to help you achieve mastery. For each assignment, if your first submission isn't perfect you may correct and re-submit it once without penalty; each additional re-submission, if allowed, incurs a 10% deduction for that assignment. For the purpose of (re-)submission, Assignments 1a and 1b are considered separate assignments. We will accept a (re)submission that is late but within 24 hours of the deadline with a 10% penalty for that assignment. For each asssignment, penalties accumulate--carry forward--from (re)submission to resubmission.

Note that your assignment will receive a substantial point deduction if it is not properly annotated with comments. Always include concise comments in your code!

You may take each of Test 1 and Test 2 twice in order to improve your score. For each test, the final score is your most recent score.

Academic Integrity

Simply put, academic integrity is about respecting yourself: you respect yourself by submitting work completed through your own effort. Your individual effort is required in this course. For an assignment, you may discuss background issues and general strategies with others and seek help from course staff, but the implementations that you submit must be your own. In particular, you may discuss general ideas with others but you may not work out the detailed solutions with others. It is never OK for you to see or hear another student’s code and it is never OK to copy code from published/Internet sources. If you feel that you cannot complete an assignment on you own, seek help from the course staff. For a test, whether pencil-and-paper or using the computer, you may not access any material (printed or digital) not included in the test packet. Students agree that by taking this course all required assignments and tests may be subject to similarity reviews using a plagiarism detection software (for example, MOSS).

Special Accommodation

You must write the tests at their scheduled time unless your request for special accommodation (medical reason, disability-related, or exam conflicts as posted officially on the university schedule) has been approved beforehand. Any request for test-taking accommodation must be made at least two weeks before the test, with documentation from Student Disability Services if appropriate. If you have an illness that prevents you from completing required work, email the course instructor as soon as possible to make an alternative arrangement for submiting or making up the work.

Schedule, Topics, and Files

Topics and the course schedule are given below. Selected lecture slides and example code will be posted after each lecture. These posted files are not complete transcripts of the lectures. You are expected to attend class and to take notes for yourself. Topics and dates are subject to change.

No. Date Topics Lecture/Blecture Program Examples Reading (Chapman)
1 8/28 Tu Introduction, Matlab desktop, script Selected slides
Blecture: Matlab Desktop
diffArea.m, diffAreaFun.m Chapter 1
2 8/30 R User-defined function, 1-d array, control flow Selected slides
Blecture: Common for-loop error
mcPi.m, rollDie.m Sec 2.1, 2.2, 3.3, 3.4, 4.1, 4.2, 5.1, 5.2
3 8/31 F Lab 1 Vectors, functions, loops   rollDice.m, vectorQuery.m, sequence.m Sec 2.13
4 9/4 Tu Vectorized arithmetic, graphics, matrix Selected slides mcPi_plot_vector.m, mcPi_plot_vectorized.m, plotComparison.m, showMultigraph.m, minInMatrix.m Sec 2.8-2.11
  9/4 Tu 11:59pm Assignment 1a due
5 9/6 Th 2-d array (matrix), subfunction, detail on for-loop Selected slides
Blecture: Function memory
RandomLinks.m, CirclePoints.m, ShowRandomLinks.m Sec 2.3, 2.4
6 9/7 F Lab 2 Matrix   findInMatrix.m, matrixCSums.m, matrixCSums_nonvec.m Sec 3.5, 3.6
7 9/11 Tu Review, char and strings Selected slides    
  9/11 Tu 11:59pm Assignment 1b due
8 9/13 Th Test 1
9 9/14 F Lab 3 Char and strings, vectorized logical operations Blecture: Strings countPattern.m, countPattern2.m, censor.m, toUpper.m Sec 6.2
10 9/18 Tu Cell array, file i/o Selected slides RomanNum.m cellArray2file.m, file2cellArray.m, proteinXYZData.m  
11 9/20 Th Test 1 (2nd run, if necessary)
12 9/21 F Lab 4 Graphics   connectDots.m (skeleton), positions.mat (data), connect_dots,jpg (image) connectDotsSol.m (solution), Sec 5.3-5.8
13 9/25 T Vectorized logical operations, review Selected slides censor.m, showCensor.m  
14 9/27 Th Help on Assignment 2 (Location: Upson B7 computer lab)
  9/27 Th 11:59pm Assignment 2 due (Data files)
15 9/28 F Test 2 (Location: Upson B7 computer lab)
16 10/4 Th Test 2 (2nd run, if necessary) (Location: Upson B7 computer lab, Time: 3:35~4:25pm)