Course: | CS1112 Introduction to Computing Using MATLAB (4 credits) |
Instructor: | K.-Y. Daisy Fan |
Website: | http://www.cs.cornell.edu/courses/cs1112/2016fa |
Alternative: | CS1110 (Python) |
Forbidden Overlap: | Credit is given for only one of CS 1112, CS 1114, CS 1115, and BEE 1510. Due to a partial overlap in content, students will receive 6 credits instead of 8 if they take CS 1112 and CS 1110. Students will receive 5 credits instead of 6 if they take CS 1142 and CS 1110. |
|
1 | ||||
2 |
Instructor | ||||
201 | T | 12:20PM - 1:10PM | HLS 464 (lab) & HLS 401 | Rohit Biswas |
202 | T | 1:25PM - 2:15PM | HLS 464 (lab) & HLS 401 | Mandy Mengqi Xia |
203 | T | 2:30PM - 3:20PM | HLS 464 (lab) & HLS 401 | Jeannie Fu |
204 | T | 3:35PM - 4:25PM | HLS 464 (lab) & HLS 401 | Jeannie Fu |
205 | W | 10:10AM - 11:00AM |
HLS 464 (lab) & HLS 401 |
Hassan Haseeb |
206 | W | 11:15AM - 12:05PM |
HLS 464 (lab) & HLS 401 |
Sara Venkatraman |
207 | W | 12:20PM - 1:10PM |
HLS 464 (lab) & HLS 401 |
Mandy Mengqi Xia |
208 | W | 1:25PM - 2:15PM | HLS 464 (lab) & HLS 401 | Sara Venkatraman |
209 | W | 2:30PM - 3:20PM | HLS 464 (lab) & HLS 401 | Wayne Uy |
210 | W | 3:35PM - 4:25PM | HLS 464 (lab) & HLS 401 | Rohit Biswas |
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: | Rohit Biswas | rb625 at cornell.edu |
Jeannie Fu | jf586 at cornell.edu | |
Hassan Haseeb | hbh47 at cornell.edu | |
Wayne Isaac Uy | wtu4 at cornell.edu | |
Sara Venkatraman | skv24 at cornell.edu | |
Mandy Mengqi Xia | mx83 at cornell.edu |
See CS1112 --> Staff for other course staff and office hours.
Optional software: MATLAB Student Version (2008 or later)
Items that count towards your course grade include homework (programming projects), discussion/lab exercises, quizzes, and exams (prelims and final).
Exercises (E) | = | 4% (discussion exercises) |
Quizzes (Q) | = | 1% (in lecture) |
Projects (P) | = | 25% |
Prelim 1 (T1) | = | 20% |
Prelim 2 (T2) | = | 20% |
Final (F) | = | 30% |
Exercises (E) | = | 9% (discussion exercises) |
Quizzes (Q) | = | 1% (in lecture) |
Projects 1-3 (P) | = | 40% |
Prelim 1 (T1) | = | 50% |
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.
Overall score Letter grade > 93 A-, A, A+ > 80 B-, B, B+ > 65 C-, C, C+
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) |
1 | 8/23 T | Introduction |
Slides
Syllabus Recording |
- | Preface & Software sections |
2 | 8/25 Th | Programming basics |
Preview
Slides Recording |
sphereArea.m, diffArea.m | 1.1 |
3 | 8/30 T | Conditionals |
Preview
Slides Recording |
- | 1.2 |
4 | 9/1 Th | Nested conditionals; logical operators |
Preview
Slides Recording |
quadMin.m, quadMinGraph.m | 1.2 |
9/1 Th | Project 1 due | ||||
5 | 9/6 T | Iteration: for |
Preview
Slides Recording |
stickExp.m, showForLoop.m, ave10.m, mcPi.m | 2.1
MatTV: Troubleshooting Loops |
6 | 9/8 Th | Iteration: while |
Preview
Slides Recording |
areaCircle.m, Eg2_2.m from Insight, areaIndef.m DrawRect, DrawStar from Insight, DrawDisk.m drawDemo.m, | 2.2, 3.2 |
7 | 9/13 T | Developing algorithms; nested loops |
Preview
Slides Recording |
nestedStars.m moreNestedStars.m, isItPrime.m, areTheyPrime.m, mTable.m | 3.1 |
8 | 9/15 Th | User-defined functions |
Preview
Slides Recording |
nestedLoops.m, polar2xy.m, dotsInRings.m, randDouble.m, drawColorDot.m | 5.1, 5.2 |
9/15 Th | Project 2 due | ||||
9 | 9/20 T | Executing a user-defined function |
Preview
Slides Recording |
dotsInRings.m, randDouble.m, polar2xy.m | 5.3 |
10 | 9/22 Th | Probabilities and Averages; vectors |
Preview
Slides Recording |
plotComparison2.m | 6.1 |
11 | 9/27 T | Simulation; vectors |
Preview
Slides Recording |
rollDie.m, rollDieV1.m, RandomWalk2D.m, ShowRW.m, RandomWalk2D_v2.m, ShowRW2.m, Centralize_nonvec.m, Normalize_nonvec.m, Smooth.m, ShowSmooth.m | 6.2, 6.3 |
12 | 9/29 Th | Discrete vs. continuous; linear interpolation |
Preview
Slides Recording |
xenoDisks.m, threeFadingDisks.m fadingXenoDisks.m, rowsOfXenoDisks.m | 4.1--4.3 |
10/3 M | Project 3 due | ||||
13 | 10/4 T | Vectorized computation, 2-d Arrays--matrix |
Preview
Slides Recording |
plotComparison.m, minInMatrix.m | 7.1 |
14 | 10/6 Th | Matrix examples |
Preview
Slides Recording |
RandomLinks.m, CirclePoints.m, ShowRandomLinks.m Cheapest.m, ShowCheapest.m | 7.2, 7.3 |
10/8 - 10/11 | Fall break | ||||
15 | 10/13 Th | Working with Images |
Preview
Slides Recording |
pictureFrame.m, pictureFrame2.m, pictureFrameV.m, bwduck.jpg | 12.1, 12.2 |
10/13 Th | Prelim 1 at 7:30pm | ||||
16 | 10/18 T | Working with Images |
Preview
Slides Recording Application: edge finding |
showToGrayscale.m, medVal.m, MedianFilter.m, showFilter.m, Edges.m, LawSchoolNoise.jpg | 12.4 |
17 | 10/20 Th | Characters and strings |
Preview
Slides Recording |
caps.m, toUpper.m, removeChar_loop.m | 9.1 |
10/26 W |
Project 4 due | ||||
18 | 10/25 T | Cell array, file input/output |
Preview
Slides Recording Extra file i/o example |
censor.m, showCensor.m, CardDeck.m, Deal.m, Shuffle.m | 8.1, 11.1, 11.2 |
19 | 10/27 Th | Working with numeric/text data (file I/O) |
Preview
Slides Recording |
population.m, file2cellArray.m, cellArray2file.m, statePop.txt | 9.2, 11.1, 11.2 |
20 | 11/1 T | Structures and structure arrays |
Preview
Slides Recording |
MakePoint.m, DrawLine.m, PickUpStix.m, CirclePoints.m, DrawPoints.m, DrawTriangle.m, LotsaTriangles.m | 10.1--10.3 |
21 | 11/3 Th | Objects and Classes |
Preview
Slides Recording |
ShowIndices.m, demoPlotObj.m | Optional viewing: MATLAB plot object (recording) |
11/3 Th | Project 5 due | ||||
22 | 11/8 T | Class definition--properties & methods |
Preview
Slides Recording |
Interval.m, demoInterval0.m | - |
23 | 11/10 Th | Overloading, array of objects, constructor that handles variable number of args |
Preview
Slides Recording |
Interval.m, intervalArray.m, biggestInterval.m, guessingGame.m | - |
11/10 Th | Prelim 2 at 7:30pm | ||||
24 | 11/15 T | Why OOP? Private vs. public |
Preview
Slides Recording |
LocalWeather.m, ithacaWeather.txt, Interval.m | OOP syntax summary |
25 | 11/17 Th | Inheritance |
Preview
Slides Recording |
Die.m, TrickDie.m, demoDice.m | - |
26 | 11/22 T | Recursion |
Preview
Slides Recording 1 Recording 2 (Recording failed during lecture: Recording 1 was 2/3 of the lecture captured on 11/22. Recording 2, edited from another semester, shows the part not captured on 11/22.) |
removeChar_loop.m, removeChar.m, removeChar2.m MeshTriangle.m, showMeshTriangle.m | 14.1, 14.2 |
11/23 - 11/27 | Thanskgiving Break | ||||
27 | 11/29 T | Sorting and Searching |
Preview
Slides Recording |
InsertionSort.m, ShowInsertionSort.m, InsertionSortIntervals.m, demoSortIntervals.m, see Interval.m and intervalArray.m from previous lectures. binarySearch.m, showBinarySearch.m | 9.1, 9.2 |
28 | 12/1 Th | Divide and Conquer: merge sort |
Preview
Slides Recording |
mergeSort.m, merge.m, showMergeSort.m, comopareInsertMerge.m | 8.2, 9.3 |
12/1 Th | Project 6 due | ||||
12/7 W | Final Exam for BOTH Lec1 AND Lec 2 (Date given in Student Center for Lec2, 12/15, is wrong) |