Course: | Introduction to Computing Using MATLAB (4 credits) |
Instructor: | K.-Y. Daisy Fan |
Website: | http://www.cs.cornell.edu/courses/cs1112/2014fa |
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 | UPS B7 & HLS 314 | Alex Maass |
202 | T | 1:25PM - 2:15PM | UPS B7 & HLS 401 | Danny Sperling |
203 | T | 2:30PM - 3:20PM | UPS B7 & HLS 401 | Tommy Ashmore |
204 | T | 3:35PM - 4:25PM | UPS B7 & HLS 401 | Alex Maass |
205 | W | 10:10AM - 11:00AM |
UPS B7 & HLS 401 |
Dana Warmsley |
206 | W | 11:15AM - 12:05PM |
UPS B7 & HLS 401 |
Dana Warmsley |
207 | W | 12:20PM - 1:10PM |
UPS B7 & HLS 401 |
Tommy Ashmore |
208 | W | 1:25PM - 2:15PM | UPS B7 & HLS 401 | Danny Sperling |
209 | W | 2:30PM - 3:20PM | UPS B7 & HLS 401 | Dana Warmsley |
210 | W | 3:35PM - 4:25PM | UPS B7 & HLS 401 | La Vesha Parker |
Upson B7 is a computer lab. (UPS 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: | Thomas Ashmore | tba24 at cornell.edu |
Alex Maass | am838 at cornell.edu | |
La Vesha Parker | ldp47 at cornell.edu | |
Daniel Sperling | dhs252 at cornell.edu | |
Dana Warmsley | dw457 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. We reserve the right to make adjustments both up and down based on our knowledge of each student.
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/26 T | Introduction |
Slides
Syllabus |
- | Preface & Software sections |
2 | 8/28 Th | Programming basics |
Preview
Slides |
sphereArea.m, diffArea.m | 1.1 |
3 | 9/2 T | Conditionals |
Preview
Slides |
- | 1.2 |
4 | 9/4 Th | Nested conditionals; logical operators |
Preview
Slides |
quadMin.m, quadMinGraph.m | 1.2 |
9/4 Th | Project 1 due | ||||
5 | 9/9 T | Iteration: for |
Preview
Slides |
stickExp.m, showForLoop.m, ave10.m, mcPi.m | 2.1 |
6 | 9/11 Th | Iteration: while |
Preview
Slides |
areaCircle.m, Eg2_2.m from Insight, areaIndef.m DrawRect, DrawStar from Insight, DrawDisk.m drawDemo.m, | 2.2, 3.2 |
7 | 9/16 T | Developing algorithms; nested loops |
Preview
Slides |
DrawRect, DrawStar from Insight, DrawDisk.m drawDemo.m, nestedStars.m moreNestedStars.m, isItPrime.m, areTheyPrime.m, table.m | 3.1 |
8 | 9/18 Th | User-defined functions |
Preview
Slides |
polar2xy.m, dotsInRings.m, randDouble.m, drawColorDot.m | 5.1, 5.2 |
9/18 Th | Project 2 due | ||||
9 | 9/23 T | Executing a user-defined function |
Preview
Slides |
dotsInRings.m, randDouble.m, polar2xy.m | 5.3 |
10 | 9/25 Th | Probabilities and Averages; vectors |
Preview
Slides |
plotComparison2.m, rollDie.m, rollDieV1.m | 6.1 |
11 | 9/30 T | Simulation; vectors |
Preview
Slides |
RandomWalk2D.m, ShowRW.m, RandomWalk2D_v2.m, ShowRW2.m, Centralize_nonvec.m, Normalize_nonvec.m, Smooth.m, ShowSmooth.m | 6.2, 6.3 |
12 | 10/2 Th | Discrete vs. continuous; linear interpolation |
Preview
Slides |
xenoDisks.m, threeFadingDisks.m fadingXenoDisks.m, rowsOfXenoDisks.m | 4.1--4.3 |
Project 3 due | |||||
13 | 10/7 T | 2-d Arrays--matrix |
Preview
Slides |
plotComparison.m, minInMatrix.m | 7.1 |
14 | 10/9 Th | Matrix examples |
Preview
Slides |
RandomLinks.m, CirclePoints.m, ShowRandomLinks.m Cheapest.m, ShowCheapest.m | 7.2, 7.3 |
10/11 - 10/14 | Fall break | ||||
15 | 10/16 Th | Working with Images |
Preview
Slides |
pictureFrame.m, pictureFrame2.m, pictureFrameV.m, showMirror.m, LawSchool.jpg, bwduck.jpg | 12.1, 12.2 |
10/16 Th | Prelim 1 at 7:30pm | ||||
16 | 10/21 T | Working with Images |
Preview
Slides |
showToGrayscale.m, medVal.m, MedianFilter.m, showFilter.m, Edges.m, LawSchoolNoise.jpg | 12.4 |
17 | 10/23 Th | Characters and strings |
Recording Printable |
caps.m, toUpper.m removeChar_loop.m, censor.m, showCensor.m | 9.1 |
Project 4 due | |||||
18 | 10/28 T | Cell arrays |
Recording Printable |
CardDeck.m, Deal.m, Shuffle.m RomanNum.m, RN2Int.m, matchIDs.m, ShowMatchIDs.m | 8.1 |
19 | 10/30 Th | Working with numeric/text data (file I/O) |
Recording Printable |
file2cellArray.m, cellArray2file.m proteinXYZData.m population.m, statePop.txt | 9.2, 11.1, 11.2 |
20 | 11/4 T | Structures and structure arrays |
Preview
Slides |
MakePoint.m, DrawLine.m, PickUpStix.m, CirclePoints.m, DrawPoints.m, DrawTriangle.m, LotsaTriangles.m, | 10.1--10.3 |
21 | 11/6 Th | Objects and Classes |
Preview
Slides |
ShowIndices.m, demoPlotObj.m | - |
11/6 Th | Project 5 due | ||||
22 | 11/11 T | Class definition--properties & methods |
Preview
Slides |
Interval.m, demoInterval1.m | - |
23 | 11/13 Th | Overloading, array of objects, constructor that handles variable number of args |
Preview
Slides |
Interval.m, intervalArray.m, biggestInterval.m, LocalWeather.m, ithacaWeather.txt | - |
11/13 Th | Prelim 2 at 7:30pm | ||||
24 | 11/18 T | Why OOP? Private vs. public, Inheritance |
Preview
Slides |
Interval.m | OOP syntax summary |
25 | 11/20 Th | Inheritance |
Preview
Slides |
Die.m, TrickDie.m, demoDice.m | - |
26 | 11/25 T | Recursion |
Preview
Slides |
removeChar_loop.m, removeChar.m, removeChar2.m MeshTriangle.m, showMeshTriangle.m, | 14.1, 14.2 |
11/26 - 11/30 | Thanskgiving Break | ||||
27 | 12/2 T | Sorting and Searching |
Preview
Slides |
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/4 Th | Divide and Conquer: merge sort |
Preview
Slides |
mergeSort.m, merge.m, showMergeSort.m, comopareInsertMerge.m, insertSortInplace.m, | 8.2, 9.3 |
12/4 Th | Project 6 due | ||||
TBA | Final Exam |