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 |
TR |
9:05am-9:55am |
Hollister B14
|
Fan |
2 |
TR |
11:15am-12:05pm |
Hollister B14
|
Fan |
Section |
Days |
Time |
Room |
Instructor |
201 |
T |
12:20PM - 1:10PM |
UPS B7 & HLS 314 |
Peter Greenberg |
202 |
T |
1:25PM - 2:15PM |
UPS B7 &HLS 314 |
Hyundo Reiner |
203 |
T |
2:30PM - 3:20PM |
UPS B7 & HLS 401 |
Andrew Robbins |
204 |
T |
3:35PM - 4:25PM |
UPS B7 & HLS 401 |
Andrew Robbins |
205 |
W |
10:10AM - 11:00PM |
UPS B7 & HLS 401
|
Chen Wang |
206 |
W |
11:15AM - 12:05PM |
UPS B7 & HLS 401
|
Chen Wang |
207 |
W |
12:20PM - 1:10PM |
UPS B7 & HLS 401
|
Wenceslaus Lee |
208 |
W |
1:25PM - 2:15PM |
UPS B7 & HLS 401 |
Michael Flashman |
209 |
W |
2:30PM - 3:20PM |
UPS B7 & HLS 314 |
Danny Sperling |
210 |
W |
3:35PM - 4:25PM |
UPS B7 & HLS 314 |
Michael Flashman |
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: |
Michael Flashman |
mtf53 at cornell.edu |
|
Peter Greenberg |
prg53 at cornell.edu |
|
Wenceslaus Wen-Hao Lee |
wwl45 at cornell.edu |
|
Hyundo Reiner |
hpr6 at cornell.edu |
|
Andrew Robbins |
abr74 at cornell.edu |
|
Chen Wang |
cw636 at cornell.edu |
|
Bin Xu |
bx55 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," end of week 3.
- 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.
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+
You must write all prelims and the final exam at their scheduled time unless
your request for special accommodation (medical reason, disability-related,
or exam conflicts as posted on the University exam schedule)
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 appropriate.
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.
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 R |
Introduction |
Selected slides |
- |
Preface & Software sections
|
2 |
8/28 T |
Programming basics |
Preview
Selected slides
|
sphereArea.m,
diffArea.m
|
1.1 |
3 |
8/30 R |
Conditionals |
Preview
Selected slides
|
- |
1.2 |
4 |
9/4 T |
Nested conditionals; logical operators |
Preview
Selected slides
|
quadMin.m,
quadMinGraph.m
|
1.2 |
5 |
9/6 R |
Iteration: for |
Preview
Selected slides
|
stickExp.m,
showForLoop.m,
ave10.m,
mcPi.m
|
2.1 |
|
9/6 R |
Project 1 due |
6 |
9/11 T |
Iteration: while |
Preview
Selected slides
|
areaCircle.m,
areaIndef.m
|
2.2, 3.2 |
7 |
9/13 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 |
8 |
9/18 T |
User-defined functions
|
Preview
Selected slides
|
polar2xy.m,
dotsInRings.m,
randDouble.m,
drawColorDot.m
|
5.1, 5.2 |
9 |
9/20 R |
Executing a user-defined function |
Preview
Selected slides
|
dotsInRings.m,
randDouble.m,
polar2xy.m
|
5.3 |
|
9/20 R |
Project 2 due |
10 |
9/25 T |
Probabilities and Averages; vectors |
Preview
Selected slides
|
rollDie.m,
rollDieV1.m
|
6.1 |
11 |
9/27 R |
Simulation; vectors |
Preview
Selected slides
|
Twinkle.m,
RandomWalk2D.m,
ShowRW.m,
RandomWalk2D_v2.m,
ShowRW2.m,
Centralize.m,
Normalize.m,
|
6.2, 6.3 |
|
10/1 M |
Project 3 due |
12 |
10/2 T |
Discrete vs. continuous; plotting |
Preview
Selected slides
|
xenoDisks.m,
threeFadingDisks.m
fadingXenoDisks.m,
rowsOfXenoDisks.m
|
4.1--4.3 |
13 |
10/4 R |
2-d Arrays--matrix |
Preview
Selected slides
|
plotComparison.m,
minInMatrix.m,
RandomLinks.m,
CirclePoints.m,
ShowRandomLinks.m
|
7.1 |
|
10/4 R |
Prelim 1 at 7:30pm |
|
10/9 T |
Fall Break |
14 |
10/11 R |
Matrix examples
|
Preview
Selected slides
|
Cheapest.m,
ShowCheapest.m
|
7.2, 7.3 |
15 |
10/16 T |
Working with Images |
Recording 1.1
Recording 1.2
Recording 1.3
Username: cs1112student
Password: cs1112video
Printable
|
pictureFrame.m,
pictureFrame2.m,
pictureFrameV.m,
showMirror.m,
showToGrayscale.m,
LawSchool.jpg,
bwduck.jpg
|
12.1, 12.2 |
16 |
10/18 R |
Working with Images |
Recording 2.1
Recording 2.2
Username: cs1112student
Password: cs1112video
Printable
|
medVal.m,
MedianFilter.m,
showFilter.m,
Edges.m,
LawSchoolNoise.jpg
|
12.4 |
|
10/22 M |
Project 4 due |
17 |
10/23 T |
Characters and strings |
Preview
Selected slides
|
caps.m,
toUpper.m
|
9.1 |
18 |
10/25 R |
Cell arrays, working with numeric/text data (file I/O) |
Preview
Selected slides
|
censor.m,
showCensor.m,
file2cellArray.m,
cellArray2file.m
|
9.2, 11.1, 11.2 |
19 |
10/30 T |
Cell arrays |
Preview
Selected slides
Extra file i/o example
|
CardDeck.m,
Deal.m,
Shuffle.m
RomanNum.m,
RN2Int.m,
matchIDs.m,
ShowMatchIDs.m,
population.m,
statePop.txt
|
8.1 |
20 |
11/1 R |
Structures and structure arrays |
Preview
Selected slides
|
MakePoint.m,
DrawLine.m,
PickUpStix.m,
CirclePoints.m,
DrawPoints.m,
DrawTriangle.m,
LotsaTriangles.m,
ShowIndices.m
|
10.1--10.3 |
|
11/1 R |
Project 5 due |
21 |
11/6 T |
Objects and Classes |
Preview
Selected slides
|
demoPlotObj.m,
Interval.m,
demoInterval1.m
|
|
|
11/6 T |
Prelim 2 at 7:30pm |
22 |
11/8 R |
Class definition--properties & methods, overloading |
Preview
Selected slides
|
Interval.m,
demoInterval2.m
|
|
23 |
11/13 T |
Array of objects, constructor that handles variable number of args |
Preview
Selected slides
|
Interval.m,
intervalArray.m,
biggestInterval.m,
LocalWeather.m,
ithacaWeather.txt
|
|
24 |
11/15 R |
Why OOP? Private vs. public, Inheritance |
Preview
Selected slides
|
Interval.m,
Die.m,
TrickDie.m,
demoDice.m
|
|
25 |
11/20 T |
Recursion |
Preview
Selected slides
|
removeChar_loop.m,
removeChar.m
|
14.1, 14.2 |
|
11/22 R |
Thanksgiving Break |
26 |
11/27 T |
Sorting and Searching |
Preview
Selected slides
|
InsertionSort.m,
ShowInsertionSort.m,
InsertionSortIntervals.m,
demoSortIntervals.m,
see Interval.m and intervalArray.m from previous lectures
|
8.2 |
27 |
11/29 R |
Divide and Conquer |
Preview
Selected slides
|
binarySearch.m,
showBinarySearch.m,
mergeSort.m,
merge.m,
showMergeSort.m
|
9.1, 9.2, 9.3 |
|
11/29 R |
Project 6 due |
|
12/7 F |
Final Exam at 9am |