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 |
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.
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 (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/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 |
|
10/2 Th10/3 F |
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 |
|
10/23 Th 10/27 M |
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 |