CS1112 --> Syllabus
Course: Introduction to Computing Using MATLAB (4 credits)
Instructor: K.-Y. Daisy Fan
Website: http://www.cs.cornell.edu/courses/cs1112/2010fa
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.
CIS1121co-meets with CS1112 for the first seven weeks of the semester. CIS1121 will have the same lecture, discussion, 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 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

Olin 155
Olin 155
201 T 12:20PM - 1:10PM UP B7 & HLS 306 Shin
202 T 1:25PM - 2:15PM UP B7 & BRD 140 Shin
203 T 2:30PM - 3:20PM UP B7 & UPS 215 Teose
204 T 3:35PM - 4:25PM UP B7 & BRD 140 Teose
205 W 10:10AM - 11:00PM UP B7 & THR 203 Teose
206 W 11:15AM - 12:05PM UP B7 & THR 205 Ho
207 W 12:20PM - 1:10PM UP B7 & HLS 306 Shin
208 W 1:25PM - 2:15PM UP B7 & OLH 245 Zhao
209 W 2:30PM - 3:20PM UP B7 & UPS 215 Spielberg
210 W 3:35PM - 4:25PM UP B7 & THR 205 Bernstein

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, discussion will take place in the lab instead of the regular classrooms. A reminder of the section location will be posted every Monday.


Instructor: K.-Y. Daisy Fan dfan at cs.cornell.edu
Teaching Assistants: Garrett Bernstein gsb29 at cornell.edu
  Karen Ho ksh33 at cornell.edu
  Ji-Yong Shin jyshin at cs.cornell.edu
  Andrew Spielberg aes89 at cornell.edu
  Maarika Teose mt524 at cornell.edu
  Jijie Zhao zhao at cs.cornell.edu

See CS1112 --> Staff for other course staff and office hours.


Required material:

Optional software:   MATLAB Student Version (2008 or later)


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).

  • CS1112 students are allowed to drop one project (e.g., you added the course late, 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.
  • Discussion exercises are assigned and checked in section only. CS1112 students may have two non-excused absences; CIS1121 students may have one non-excused absence.
  • In-class quizzes are done using clickers. You will get full credit (1 point) if, over the course of the semester, you
    • answer at least 50% of the questions correctly, or
    • answer at least 80% of the questions.
    We will start counting the questions as quiz questions after the "Add deadline," Sept 17th.
  • CS1112 uses the following weights to determine the course grade:
    Exercises (E)  =   4% (discussion exercises)
    Quizzes   (Q)  =   1% (in lecture)
    Projects  (P)  =  25%
    Prelim 1  (T1)  =  10%
    Prelim 2  (T2)  =  15%
    Prelim 3  (T3)  =  15%
    Final     (F)  =  30%

  • CIS1121 uses the following weights to determine the course grade:
    Exercises    (E)  =   9% (discussion exercises)
    Quizzes      (Q)  =   1% (in lecture)
    Projects 1-3 (P)  =  30%
    Prelim 1     (T1)  =  20%
    Prelim 2     (T2)  =  40%
    Prelim 2 serves as the final exam of 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 at least two weeks before the exam, with documentation from Student Disability Services. 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.

No. Date Topics Lecture Slides Program Examples Reading (Insight)
18/26 R Introduction Selected slides - Preface & Software sections,   Syllabus
28/31 T Programming basics Preview
Selected slides
sphereArea.m, diffArea.m 1.1
39/2 R Conditionals Preview
Selected slides
- 1.2
49/7 T Nested conditionals; logical operators Preview
Selected slides
quadMin.m, quadMinGraph.m 1.2
59/9 R Iteration: for Preview
Selected slides
stickExp.m, showForLoop.m, ave10.m, mcPi.m 2.1
 9/9 R Programming Project 1 due
69/14 T Iteration: while Preview
Selected slides
areaCircle.m, areaIndef.m 2.2, 3.2
79/16 R Developing algorithms; nested loops Preview
Selected slides
DrawRect, DrawStar from Insight. DrawDisk.m, drawDemo.m, nestedStars.m, moreNestedStars.m, isItPrime.m, areTheyPrime.m, table.m 3.1
 9/20 M Programming Project 2 due
89/21 T Discrete vs. continuous Preview
Selected slides
biggestRectangle.m, xenoDisks.m, threeFadingDisks.m, fadingXenoDisks.m 4.1--4.3
99/23 R User-defined functions Preview
Selected slides
plotComparison.m, polar2xy.m, 5.1, 5.2
 9/23 R Prelim 1
109/28 T Executing a user-defined function Preview
Selected slides
dotsInRings.m, randDouble.m, polar2xy.m 5.3
119/30 R Probabilities and Averages; vectors; plots Preview
Selected slides
RandomWalk2D.m, ShowRW.m, rollDie.m, rollDieV1.m 6.1, 4.2
1210/5 T Simulation; vectors Preview
Selected slides
Twinkle.m, RandomWalk2D_v2.m, ShowRW2.m, Centralize.m, Normalize.m, Smooth.m, ShowSmooth.m 6.2, 6.3
1310/7 R 2-d Arrays--matrix Preview
Selected slides
minInMatrix.m, RandomLinks.m, ShowRandomLinks.m, CirclePoints.m 7.1
   Programming Project 3 deadline extended to Oct 14
 10/11-12 Fall Break
1410/14 R Matrix examples, contour plotting Preview
Selected slides
Cheapest.m, ShowCheapest.m 7.2, 7.3
 10/14 R Programming Project 3 due (extended deadline)
1510/19 T Working with Images Preview
Selected slides
pictureFrame.m, pictureFrame2.m, pictureFrameV.m, showMirror.m, LawSchool.jpg, bwduck.jpg 12.1, 12.2
1610/21 R Working with Images Preview
Selected slides
showToGrayscale.m, medVal.m, MedianFilter.m, showFilter.m, Edges.m, LawSchoolNoise.jpg 12.4
 10/21 R Prelim 2
1710/26 T Characters and strings Preview
Selected slides
caps.m, toUpper.m, 9.1
1810/28 R Cell arrays Selected slides CardDeck.m, Shuffle.m, RomanNum.m, RN2Int.m 9.2, 8.1
 10/28 R Programming Project 4 deadline extended to Nov 1
 11/1 M Programming Project 4 due (extended deadline)
1911/2 T Structures and structure arrays Preview
Selected slides
MakePoint.m, DrawLine.m, PickUpStix.m CirclePoints.m, 10.1--10.3
2011/4 R Working with numeric/text data (file I/O) Preview
Selected slides

Reading from a file
DrawPoints.m, DrawTriangle.m, LotsaTriangles.m, ShowIndices.m, file2cellArray.m, cellArray2file.m 11.1, 11.2
2111/9 T Computing on a grid (matrix & cell arrays) Preview
Selected slides
population.m, statePop.txt, TheDigits.m, showDigits.m, drawDigit.m, showNumber.m 12.3
2211/11 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
 11/11 R Programming Project 5 deadline extended to Nov 12
 11/12 F Programming Project 5 due (extended deadline)
2311/16 T Working with Acoustic Data Preview
Selected slides
playTwoNotes.m, playAllButtons.m, see m-files in 13.2 13.2
 11/16 T Prelim 3
2411/18 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
2511/23 T Divide and Conquer Preview
Selected slides
binarySearch.m, showBinarySearch.m, mergeSort.m, merge.m, showMergeSort.m 9.2, 9.3
 11/25-26 Thanksgiving Break
2611/30 T Recursion; Efficieny Considerations Preview
Selected slides
compareInsertMerge.m, insertSortInplace.m, mergeSort.m, merge.m, removeChar_loop.m, removeChar.m, 14.1, 14.2
2712/2 R Models and Simulation Preview
Selected slides
Update.m, StatVec.m, PageRank0.m  
 12/2 R Programming Project 6 due
 12/10 F Final Exam