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.
| Lecture |
Days |
Time |
Room |
Instructor |
| 1 |
T, Th |
9:05am-9:55am |
Hollister B14
|
Fan |
| 2 |
T, Th |
11:15am-12:05pm |
Upson B17
|
Fan |
| Discussion |
Days |
Time |
Room |
Instructor |
|
201 |
T |
12:20PM - 1:10PM |
UPS B7 & HLS 314 |
Rachael Van Pelt |
|
202 |
T |
1:25PM - 2:15PM |
UPS B7 & HLS 401 |
Aiswarya Jami |
|
203 |
T |
2:30PM - 3:20PM |
UPS B7 & HLS 401 |
Sara Venkatraman |
|
204 |
T |
3:35PM - 4:25PM |
UPS B7 & HLS 401 |
Sara Venkatraman |
|
205 |
W |
10:10AM - 11:00AM |
UPS B7 & HLS 401
|
Rachael Van Pelt, Aiswarya Jami |
|
206 |
W |
11:15AM - 12:05PM |
UPS B7 & HLS 401
|
Lei Yu |
|
207 |
W |
12:20PM - 1:10PM |
UPS B7 & HLS 401
|
Lei Yu |
|
208 |
W |
1:25PM - 2:15PM |
UPS B7 & HLS 401 |
Wayne Uy |
|
209 |
W |
2:30PM - 3:20PM |
UPS B7 & HLS 401 |
Wayne Uy |
|
210 |
W |
3:35PM - 4:25PM |
UPS B7 & HLS 401 |
Aiwarya Jami |
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: |
Aiswarya Jami |
aj493 at cornell.edu |
| |
Wayne Uy |
wtu4 at cornell.edu |
| |
Rachael Van Pelt |
rev35 at cornell.edu |
| |
Sara Venkatraman |
skv24 at cornell.edu |
| |
Lei Yu |
LY97 at 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), discussion/lab exercises, quizzes,
and exams (prelims and final).
- CS1112 students are allowed to drop one project (e.g.,
you added the course late, you submitted the wrong file, your partner forgot to submit
your joint work, your dog ate your flash drive, etc.).
CS1142 students may not drop any projects.
- Discussion exercises are assigned and checked in discussion only.
CS1112 students may have two non-excused absences;
CS1142 students may have one non-excused absence.
- In-class quizzes usually are done using clickers. For each question,
- earn one point for submitting an answer
- earn another point for getting the correct answer
You will get full credit (1% of course grade) if you earn half of
the maximum possible number of quiz points.
We will start counting the questions as quiz questions after the "Add deadline" set
by the College of Engineering.
- 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) |
= |
20% |
| Prelim 2 (T2) |
= |
20% |
| Final (F) |
= |
30% |
CS1142 uses the following weights to determine the course grade:
| Exercises (E) |
= |
9% (discussion exercises) |
| Quizzes (Q) |
= |
1% (in lecture) |
| Projects 1-3 (P) |
= |
40% |
| Prelim 1 (T1) |
= |
50% |
Prelim 1 is the only exam in CS1142.
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+
You must write all prelims and the final exam at their scheduled time unless
your request for special accommodation (based on medical/disability reasons,
religious holidays, exam conflicts as posted on the University exam schedule,
or official travel for Cornell Althletics)
has been approved beforehand.
Any request for exam-taking accommodation
must be made at least two weeks before the exam,
with official documentation as appropriate (e.g., letter from Cornell Student
Disability Services or Cornell Althletics team coach).
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
the missed work.
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/25 T |
Introduction |
Slides
Syllabus
|
- |
Preface & Software sections
|
| 2 |
8/27 Th |
Programming basics |
Preview
Slides
|
sphereArea.m,
diffArea.m
|
1.1 |
| 3 |
9/1 T |
Conditionals |
Preview
Slides
|
- |
1.2 |
| 4 |
9/3 Th |
Nested conditionals; logical operators |
Preview
Slides
Recording
|
quadMin.m,
quadMinGraph.m
|
1.2 |
| |
9/3 Th |
Project 1 due |
| 5 |
9/8 T |
Iteration: for |
Preview
Slides
Recording
|
stickExp.m,
showForLoop.m,
ave10.m,
mcPi.m
|
2.1 |
| 6 |
9/10 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/15 T |
Developing algorithms; nested loops |
Preview
Slides
Recording
|
nestedStars.m
moreNestedStars.m,
isItPrime.m,
areTheyPrime.m,
mTable.m
|
3.1 |
| 8 |
9/17 Th |
User-defined functions
|
Preview
Slides
|
Recording
nestedLoops.m,
nestedLoops2.m,
polar2xy.m,
dotsInRings.m,
randDouble.m,
drawColorDot.m
|
5.1, 5.2 |
| |
9/17 Th |
Project 2 due |
| 9 |
9/22 T |
Executing a user-defined function |
Preview
Slides
Recording
|
dotsInRings.m,
randDouble.m,
polar2xy.m
|
5.3 |
| 10 |
9/24 Th |
Probabilities and Averages; vectors |
Preview
Slides
Recording
|
plotComparison2.m
rollDie.m,
rollDieV1.m
|
6.1 |
| 11 |
9/29 T |
Simulation; vectors |
Preview
Slides
Recording
|
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/1 Th |
Discrete vs. continuous; linear interpolation |
Preview
Slides
Recording
|
xenoDisks.m,
threeFadingDisks.m
fadingXenoDisks.m,
rowsOfXenoDisks.m
|
4.1--4.3 |
| |
10/1Th10/5 M |
Project 3 due |
| 13 |
10/6 T |
2-d Arrays--matrix |
Preview
Slides
Recording
|
plotComparison.m,
minInMatrix.m
|
7.1 |
| 14 |
10/8 Th |
Matrix examples
|
Preview
Slides
Recording
|
RandomLinks.m,
CirclePoints.m,
ShowRandomLinks.m
Cheapest.m,
ShowCheapest.m
|
7.2, 7.3 |
| |
10/10 - 10/13 |
Fall break |
15 |
10/15 Th |
Working with Images |
Preview
Slides
Recording
|
pictureFrame.m,
pictureFrame2.m,
pictureFrameV.m,
showMirror.m,
LawSchool.jpg,
bwduck.jpg
|
12.1, 12.2 |
| |
10/15 Th |
Prelim 1 at 7:30pm |
| 16 |
10/20 T |
Working with Images |
Preview
Slides
Recording
Recording: edge finding
|
showToGrayscale.m,
medVal.m,
MedianFilter.m,
showFilter.m,
Edges.m,
LawSchoolNoise.jpg
|
12.4 |
| 17 |
10/22 Th |
Characters and strings |
Preview
Slides
Recording
|
caps.m,
toUpper.m
removeChar_loop.m
|
9.1 |
| |
10/22Th10/26 M |
Project 4 due |
| 18 |
10/27 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/29 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/3 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/5 Th |
Objects and Classes |
Preview
Slides
Recording
|
ShowIndices.m,
demoPlotObj.m
|
Optional reading: MATLAB plot object (recording)
|
| |
11/5 Th |
Project 5 due |
| 22 |
11/10 T |
Class definition--properties & methods |
Preview
Slides
Recording
|
Interval.m,
demoInterval1.m
|
- |
| 23 |
11/12 Th |
Overloading, array of objects, constructor that handles variable number of args |
Preview
Slides
Recording
|
Interval.m,
intervalArray.m,
biggestInterval.m,
guessingGame.m
|
- |
| |
11/12 Th |
Prelim 2 at 7:30pm |
| 24 |
11/17 T |
Why OOP? Private vs. public |
Preview
Slides
Recording
|
Interval.m
|
OOP syntax summary
|
| 25 |
11/19 Th |
Inheritance |
Preview
Slides
Recording
|
Die.m,
TrickDie.m,
demoDice.m
|
- |
| 26 |
11/24 T |
Recursion |
Preview
Slides
Recording
|
removeChar_loop.m,
removeChar.m,
removeChar2.m
MeshTriangle.m,
showMeshTriangle.m
|
14.1, 14.2 |
| |
11/25 - 11/29 |
Thanskgiving Break |
| 27 |
12/1 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/3 Th |
Divide and Conquer: merge sort |
Preview
Slides
Recording
|
mergeSort.m,
merge.m,
showMergeSort.m,
comopareInsertMerge.m
|
8.2, 9.3 |
| |
12/3 Th |
Project 6 due |
| |
12/9 W |
Final Exam (7-9:30pm) |