CS1112 --> Syllabus
Course: Introduction to Computing Using MATLAB (4 credits)
Instructors: K.-Y. Daisy Fan, Charles Van Loan
Website: http://www.cs.cornell.edu/courses/cs1112/2009fa
Note: Take either CS1112 or CS1110, not both. CS1112 is not to be taken with CS2110 concurrently or after CS2110.

Course Description Learning Objectives Academic Integrity Times & Places Staff Material Grades Special Accommodation Schedule

Course Description

4 credit hours. S/U Optional. Programming and problem solving using Matlab. Emphasizes the systematic development of algorithms and programs. Topics include iteration, functions, arrays, and Matlab graphics. Assignments are designed to build an appreciation for complexity, dimension, fuzzy data, inexact arithmetic, randomness, simulation, and the role of approximation.
CIS1121
co-meets with CS1112 for the first seven weeks of the semester. CIS1121 will have the same lecture, section, homework, and prelims as CS1112 during the first seven weeks of the semester.

Learning Objectives

In CS1112, students will acquire the following skills:

Academic Integrity

Simply put, academic integrity is about respecting yourself and respecting others. You respect yourself by submitting work completed through your own effort; you respect others by acknowledging contribution from others when such external contribution is allowed, e.g., for group projects. When your individual effort is required, for exams and for in-class quizzes, you may neither seek nor accept help from others. You must read the complete Code of Academic Integrity as it applies to this course. Ignorance of the Code is not an acceptable excuse.

Times & Places

Lecture
Days
Time
Room
Instructor
      1
TR
9:05am-9:55am
OH 155
Fan / Van Loan
      2
TR
11:15am-12:05pm
OH 155
Fan / Van Loan
Section
Days
Time
Room
Instructor
201 T 12:20PM - 1:10PM UP B7 & THR 203 C. Van Loan
202 T 1:25PM - 2:15PM UP B7 & BRD 140 C. Van Loan
203 T 2:30PM - 3:20PM UP B7 & HLS 206 Tai Chen
211 T
3:35PM - 4:25PM
UP B7 & UPS 211 Chin Isradisaikul
209 W
10:10AM - 11:00AM
UP B7 & HLS 362 Jerry Hanpin Yan
210 W 11:15AM - 12:05PM UP B7 & OLH 145 Tai Chen
205 W 12:20PM - 1:10PM UP B7 & HLS 206 Tai Chen
206 W 1:25PM - 2:15PM UP B7 & THS 205 Chin Isradisaikul
207 W 2:30PM - 3:20PM UP B7 & OLH 165 William Chou
212 W 3:35PM - 4:25PM UP B7 & UPS 111 Chin Isradisaikul


Upson B7 is a computer lab. (UP B7 is split in half; we will use the right half.)  The first two weeks and then every other week, section will take place in the labs instead of the regular classrooms. A reminder of the section location will be posted every Monday.

Staff

Instructors: K.-Y. Daisy Fan dfan@cs.cornell.edu
  Charles Van Loan cv@cs.cornell.edu
     
Teaching Assistants: Taiyang Chen taiyangc@cs.cornell.edu
  William Chou wc264@cornell.edu
  Chinawat Isradisaikul ci44@cornell.edu
  Justin Prieto jp393@cornell.edu
  Hanpin Yan hy95@cornell.edu
  Tao Zou tz85@cornell.edu
See CS1112 --> Staff for other course staff and office hours.

Material

Required material:
  • Course packet: "Insight Through Computing: A Matlab Introduction to Computational Science and Engineering" by Van Loan and Fan, will be available at Campus Store
  •  iClicker system responder keypad (clicker)

Optional software:   MATLAB Student Version Release 14

Grades

You must adhere to the Code of Academic Integrity for all work.

Items that count towards your course grade include homework (programming projects), section/lab exercises, quizzes, and exams (prelims and final).

  • Section exercises are assigned and checked in section only. Each in-class quiz counts as an exercise. You can miss a number of exercises/quizzes without affecting your grade. For example, if we have 15 exercises/quizzes in total, you can miss three (about 20%) without lowering your grade.
  • CS1112 students are allowed to drop one project (e.g., you slept in and missed the deadline, you submitted the wrong file, your partner forgot to submit your joint work, your dog ate your hard disk, etc.). CIS1121 students may not drop any projects.
  • CS1112 uses the following weights to determine the course grade:
    Exercises (E)  =   5% (section exercises and in-class quizzes)
    Projects  (P)  =  30%
    Prelim 1  (T1)  =  15%
    Prelim 2  (T2)  =  20%
    Final     (F)  =  30%

  • CIS1121 uses the following weights to determine the course grade:
    Exercises    (E)  =  10% (section exercises and in-class quizzes)
    Projects 1-3 (P)  =  40%
    Prelim 1     (T1)  =  50%
    Prelim 1 is the only exam in CIS1121.

Your course grade will follow the "cut-off" structure given below. You need an overall score higher than 55 (out of 100) to get a "D" ("marginal pass"). Note that your College (or Major) may require a "C-" to be a passing grade. We reserve the right to make adjustments both up and down based on our knowledge of each student.

    Overall score    Letter
       93-100        A-,A,A+
       80-89         B-,B,B+
       65-76         C-,C,C+

Special Accommodation

All homework and tests must be completed at their scheduled time unless your request for special accommodation has been approved beforehand. Any request for exam-taking accommodation must be made, with documentation from Student Disability Services, at least two weeks before the exam. 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 and Lecture Materials

You must write all exams at the scheduled times unless you have another exam officially scheduled at the same time.

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 lecture and to take notes for yourself. Topics and dates are subject to change.

Unless otherwise specified, the chapter/section numbers in the reading list refer to the course packet "Insight Through Computing" (Insight).

No. Date Topics Lecture Slides Program Examples Reading
18/27 R Introduction Selected slides - Preface & Software sections in Insight
29/1 T Programming basics Selected slides - 1.1
39/3 R Conditionals Preview
Selected slides
sphereArea.m 1.2
49/8 T Nested conditionals; logical operators Preview
Selected slides
quadMin.m, quadMinGraph.m 1.2
59/10 R Iteration: for Preview
Selected slides
stickExp.m, showForLoop.m, ave10.m, mcPi.m 2.1
 9/10 R Programming Project 1 due
69/15 T Iteration: while Preview
Selected slides
areaCircle.m, areaIndef.m 2.2, 3.2
79/17 R Developing algorithms; nested loops Preview
Selected slides
DrawRect, DrawStar from Insight. drawDemo.m, nestedStars.m, moreNestedStars.m, itItPrime.m, areTheyPrime.m, table.m 3.1
89/22 T Discrete vs. continuous; plotting continuous functions Preview
Selected slides
xenoDisks.m, DrawDisk.m 4.1--4.3
99/24 R User-defined functions Preview
Selected slides
fadingXenoDisks.m, polar2xy.m, dotsInCircles.m, randDouble.m, drawColorDot.m 5.1, 5.2
 9/24 R Programming Project 2 due
109/29 T User-defined functions; local memory space Preview
Selected slides
dotsInCircles.m, randDouble.m, polar2xy.m 5.3
 9/30 Simulated Prelim 1, Olin 155      
1110/1 R Probabilities and Averages; vectors; plots Preview
Selected slides
paintChips.m, rollDie.m, rollDieV1.m 6.1, 4.2
 10/5 M Programming Project 3 due
1210/6 T Simulation; vectors Preview
Selected slides
Twinkle.m, RandomWalk2D.m, ShowRW.m, RandomWalk2D_v2.m, ShowRW2.m, Centralize.m, Normalize.m, Smooth.m, ShowSmooth.m 6.2, 6.3
1310/8 R 2-d Arrays--matrix Preview
Selected slides
minInMatrix.m, Cheapest.m, ShowCheapest.m 7.1
 10/8 R Prelim 1
 10/12-13 Fall Break
1410/15 R Matrix examples, contour plotting Preview
Selected slides
Update.m, StatVec.m, ShowStatVec.m, ShowContour1.m, see Insight 7.2 m-files 7.2, 7.3
1510/20 T Working with Images Preview
Selected slides
pictureFrame.m, pictureFrameV.m, showMirror.m, showToGrayscale.m, LawSchool.jpg, bwduck.jpg 12.1, 12.2
1610/22 R Working with Images Preview
Selected slides
toNegative.m, medVal.m, MedianFilter.m, showFilter.m, Edges.m, LawSchoolNoise.jpg 12.4
 10/22 R Programming Project 4 due
1710/27 T Characters and strings Preview
Selected slides
caps.m, toUpper.m, censor.m, showCensor.m, 9.1
1810/29 R Cell arrays Preview
Selected slides
CardDeck.m, Deal.m, Shuffle.m, ShowCards.m, matchIDs.m, ShowMatchIDs.m 9.2, 8.1
1911/3 T Structures and structure arrays Preview
Selected slides
RomanNum.m, RN2Int.m, MakePoint.m, DrawLine.m, PickUpStix.m 10.1--10.3
2011/5 R Working with numeric/text data (file I/O) Preview
Selected slides
CirclePoints.m, DrawPoints.m, DrawTriangle.m, LotsaTriangles.m, file2cellArray.m, cellArray2file.m, proteinXYZData.m, matrix2file.m 11.1, 11.2
 11/5 R Programming Project 5 due
2111/10 T Simulation on a grid (matrix and cell arrays) Preview
Selected slides
population.m, statePop.txt, TheDigits.m, showDigits.m, drawDigit.m, reverseCol.m, reverseDigits.m, showNumber.m 12.3
 11/10 T Prelim 2
2211/12 R Working with Acoustic Data Preview
Selected slides
showAustin.m, movies.m, wavSegments.m, playSegments.m, myPlayList.m, austin.wav, sp_truth.wav, sp_beam.wav, sp_oz6.wav 13.1
2311/7 T Working with Acoustic Data Preview
Selected slides
playTwoNotes.m, MakeShowPlay.m, playAllButtons.m, SendNoisy.m, cos_xy.m, ShowCosines.m, Eg13_2.m, alarmClock.m 13.2
2411/19 R Sorting and Searching Preview
Selected slides
Bubble.m, BubbleSort1.m, BubbleSort.m, ShowBubbleSort.m, InsertionSort.m, ShowInsertionSort.m, Eg8_2.m 8.2, 9.1
 11/23 M Programming Project 6 due
2511/24 T Divide and Conquer Preview
Selected slides
binarySearch.m, showBinarySearch.m, mergeSort.m, merge.m, showMergeSort.m 9.2, 9.3
 11/26-7 Thanksgiving Break
2612/1 T Recursion; Efficieny Considerations Preview
Selected slides
compareInsertMerge.m, insertSortInplace.m, mergeSort.m, merge.m, removeChar_loop.m, removeChar.m, MeshTriangle.m, showMeshTriangle.m 14.1, 14.2
2712/3 R Models and Simulation Preview
Selected slides
Update.m, StatVec.m, PageRank0.m 15.1
 12/3 R Programming Project 7 due
 12/14 M Final Exam