Office Hours: |
Instructor Office Hours (koz): Tue/Thu, noon to 2pm++, GHC 5001
Head CA (Ashley Kumar / askumar): by appointment
CA Office Hours (in GHC 5205, with overflow in GHC 5201 or elsewhere as needed):
* Daily (7 days/wk): 8pm to 10pm
* Thu-Fri: 6pm to 10pm
* Sat-Sun: 2pm to 10pm
To help identify CA's and Tutors, see these
staff pictures. |
Schedule
of Classes:
|
|
Days
|
CA / Lecturer |
Head Tutor |
Time |
Room |
Lecture |
TR |
David Kosbie (koz) |
--- |
10:30am
- 11:50am |
GHC 4401 |
Section A |
F |
Jordan (jzink) |
Saagar (saagars) |
8:30am -
9:20am |
GHC 5205 |
Section B |
F |
Michael (mchoquet) |
Tom (tabraham) |
9:30am - 10:20am |
GHC 5205 |
Section C |
F |
Andre (asutanto) |
Saagar (saagars) |
10:30am - 11:20am |
GHC 5205 |
Section D |
F |
Maddy (mclute) |
Tom (tabraham) |
11:30am
- 12:20pm |
GHC 5205 |
Section E |
F |
Yuyang (yuyangg) |
Torstein (tstroemm) |
12:30pm
- 1:20pm |
GHC 5205 |
Section F |
F |
Alex (amsmith1) |
Tom (tabraham) |
1:30pm -
2:20pm |
GHC 5205 |
Section G |
F |
Charlie (cwswanso) |
Torstein (tstroemm) |
2:30pm -
3:20pm |
GHC 5205 |
Section H |
F |
Tamar (tbenshac) |
Torstein (tstroemm) |
3:30pm - 4:20pm |
GHC 5205 |
|
Required
Textbooks: |
None. |
Optional
Textbooks
and
Online
Resources: |
- Python Shells (in the browser)
- Python Exercises
- Python Books and/or video lectures
- Previous versions of 15-112/15-110/15-100
-
F11,
S11, F10,
S10, F09,
APEA-09,
S09,
F08,
APEA-08,
S08,
F07
- Math books (particularly helpful for intro CS):
- Janacek and Close, "Mathematics
for Computer Scientists"
Numbers, Logic, Induction, Sets, Counting, Functions, Sequences,
Calculus, Matrices, Probability, Statistics
- Kaw, et al, "Numerical
Methods with Applications"
Approximation and Errors, Differentiation, Nonlinear Equations,
Simultaneous Linear Equations, Interpolation, Regression, Integration,
Ordinary Differential Equations, Fast Fourier Transforms, Partial
Differential Equations, Optimizations
|
Required
Software:
|
We will use Python
version 2.x, which can be freely downloaded from
python.org.
We will provide download instructions in class.
We will also use one or more free IDE's (code editors) and other free software
packages. We will not use any commercial software packages in this course. |
Course
Requirements:
|
Participation
in this course is required and consists of the following activities:
Attending and participating in
lectures and recitations.
Reading the printed and online notes and other
assigned readings.
Carrying out homework assignments.
Taking the quizzes, midterms, and final.
Attendance is required
(if not always strictly recorded). Repeated failure to attend lectures
or recitations may result in a lowered semester grade regardless of your numeric
average. You will be responsible
for all materials presented in lectures and recitations. You should not
expect that all lecture or recitation materials will be given to you in
written form (including the online class notes we provide). Note that missed quizzes and
tests may not be made up in general (though certain exceptions are
permitted -- see the relevant sections below).
Assessment: Any material
covered in lecture, in recitation, in assigned readings, or in homework
assignments may be included in any future homework assignment, quiz, or
test.
|
Grading: |
Course
Component |
Weight |
Final Exam |
20% |
Midterm1 |
10% |
Midterm2 |
10% |
Quizzes |
10% |
Homeworks |
35% |
Term Project |
15% |
Each homework, term project, quiz, midterm, and final will be graded
on a standard scale:
A: 90 - 100
B: 80 - 89
C: 70 - 79
D: 60 - 69
R: 0 - 59
|
Exams
and
Quizzes: |
Final Exam:
There
will be a standard 3-hour final exam during the final exam period at
the end of the semester. The final exam is worth 20% of the
semester grade.
Midterm Tests:
There will be 2
midterm tests, each worth 10% of the semester grade, given in class as noted in
the course schedule.
Quizzes:
Quizzes will be given approximately once per week generally in lecture
but perhaps on occasion in recitation or at other times.
Quiz Tutoring Bonus Policy:
In order to encourage students to receive the maximal benefit from the
quizzes, students will generally be awarded bonus points for meeting with tutors
to review their quizzes. In particular, to receive bonus points on a quiz
(once the graded quiz has been returned), the student must first attempt to
correctly complete the quiz and bring this to the tutoring session, the tutoring session must be at least 30 minutes, and must only review the
material on that specific quiz (if you need to review other topics, you should
set up a separate tutoring session!). The tutor should sign the quiz,
which then must be returned to the professor at the specified time (typically,
on the subsequent Thursday in lecture or in Thursday office hours). Unless
otherwise noted, this will result in a bonus of half the difference of the
original score and 70. So a score of 56, for example, would receive
(70-56)/2, or 7 bonus points, to raise the recorded score to 63.
Extended-Time Policy:
We gladly accommodate students with university-approved extended time (as
approved by Larry Powell's office). For quizzes, the extended-time quiz
will be administered at 7:50am on the same day as the quiz (so, generally, on
Thursday's for in-lecture quizzes and on Fridays for in-recitation quizzes; or
on both days for quizzes with both portions). To take an extended-time
quiz, meet at my office on the given day at 7:50am (don't be late, as we may
relocate at once to a more suitable location). For midterm tests and the
final exam, Larry Powell's office typically proctors the extended-time versions
of these, and we will email you with details for each test. Importantly:
to obtain extended-time, you must attend the extended-time quiz and not the
in-lecture or in-recitation quiz. You do have the option of attending the
in-lecture or in-recitation quiz, but then you will have to complete it in the
assigned time (without extended-time). If you are attending lecture or
recitation and a quiz is commencing that you have already completed (having
taken the extended-time version of the quiz that morning), you may remain in the
room and work quietly on other materials or you may leave the room for the
duration of the quiz (your choice).
Late Policy:
No late / make-up quizzes or tests will be administered, except in the
case of medical or family emergencies or other university-approved absences. For
qualifying missed quizzes, students should obtain instructor approval before
missing the quiz. Students may then make-up missed
quizzes by attending professor's office hours up until the Wednesday following
the quiz.
|
Homework
Deductions: |
Late Homework:
Homework is due at a specified date and time. If you miss the deadline (by
even one minute, according to Autolab's clock), homework may be submitted up to
24 hours late with a 25% penalty. No homework submissions will be
accepted after the 24-hour late period, except in the case of medical or family
emergencies or other pre-arranged university-approved absences.
Homework Formatting Errors:
Misformatted homework in general cannot be graded by our autograder, and as
such may receive 0 points. Thus, be sure to submit your homework early
-- you can submit repeatedly, we only grade the last submission -- to be sure
you do not have obvious formatting errors.
Show Your Work:
Some homework assignments, and
most quizzes and tests, will include some written work
(meaning: work that is not performed with access to Python or
an IDE or a calculator (unless otherwise noted), whether or not it
involves programming). In order to receive credit for these
problems, you must show your work.
Correct answers without supporting documentation will not be given full
credit. Some questions may not require work to be shown
(e.g.: "Name three software companies in Silicon Valley"),
but most questions assuredly do. When in doubt, show your
work. |
Programming
Assignments: |
The programming assignments are a critical part of the
course. Experience has shown that
the concepts covered in this course are best learned by direct
engagement -- in our case by applying them to example
problems or by implementing them in computer programs.
Programming assignments will be graded based on style
(modularity, effective use of
data
abstraction, readability, commenting, etc.) and functionality
(correctness and efficiency
of the
program on the test inputs). A working program is not
sufficient for full credit. Make
sure you
do a thorough data validation. Your code should be properly annotated
with comments that are well-placed, concise, and informative. Your
assignments will be graded by your CA, and by automated graders, and at
times by your instructor.
|
Cheating
and
Collaboration:
|
Unless otherwise noted, for homework assignments,
students are encouraged to talk to each other, to the course staff, or
to anyone else about the assignments. This assistance, though, is
limited to the discussion of the problems in general.
Each student must develop his or her own solutions to the homework.
Consulting another student's solution is prohibited, and submitted
solutions may not be copied in whole or in part from any source.
Specifically: do not look at other
students' code or written answers, and do not show them your code or
written answers, until after the assignment deadline has passed and the
assignment has been submitted and graded.
And: do not email or otherwise electronically or
physically transfer your code to other students, and do not receive
such transmissions from other students, until after
the assignment deadline has passed and the assignment has been submitted and
graded.
In particular, this precludes students helping each other
debug their code (since you may not even look at their code). Of
course, students
may (and should!) seek debugging assistance (and any other help) from the course
staff, who provide extensive support to all
students via email, office hours, review sessions, and 1-on-1 tutoring
by appointment.
Also, if you find a reference (say, in an optional
textbook or some online source) that contains code or a written
solution that is identical or overtly similar to an assigned problem,
then you are required to not look at that code or written
solution! You may still refer to supporting figures and
explanatory text, but you may not look at or copy the code.
And: any attempt to
decompile solutions, or object code that may help produce solutions,
or in any way to extract solutions from the autograder, or to "hack" the
autograder in any way, will result in your failing the course.
Note that some assignments (or portions thereof) will be explicitly marked as collaborative. In those (and
only those) assignments, you may work with other students, even writing code
together, and certainly debugging each other's code. However, even
then, you absolutely may not copy solutions from anyone or anywhere. In
all cases, you must be intellectually involved in the authoring of everything
you submit.
In addition to manual checks on homework and exam submissions, we will also
routinely use an automated plagiarism detector. Here is a video demonstrating
how it works (AVI or
MP4).
The issue of cheating will be taken seriously by the instructor and CA's.
Any violations will be handled in accordance with the University
regulations, with serious consequences on the first offense.
Addendum: There are many online 'help' resources, and while some may
be legitimate, many are basically providing a homework service, or otherwise
violating the spirit (and often also the letter) of our course policies on
cheating and collaboration. Importantly, we also cannot control the quality of
'help' students receive from such sources, and experience indicates many
'answers' from such sources are of very low quality (presumably in part as these
are not always supplied by CMU Course Assistants or other similarly-qualified
tutors). Finally, given the truly extensive support this course provides
through daily office hours, private and small-group tutoring, email-based help,
collaborative assignments, and so forth, not to mention the support of the
broader CMU community of learners, there is no compelling reason students should
need any external sources (except, presumably, to obtain assistance in violation
of course policies). AND SO... Students may not post any course content. nor any questions related to any assigned material.
to any online venue. Doing so may result in failing the course on the first
offense.
|
Classroom: |
Recording (audio or video): Students may not record lectures or recitations
without explicit permission in writing from the instructor. Violations will
result in your failing the course. Exceptions will be granted in accordance with
university guidelines for accessibility concerns, but even then such recordings
may not be shared publicly or privately and must be deleted at the end of the
semester.
Electronics: Students may not use any electronic devices in lecture (no
cell phones, laptops, iPads, iPods, iWhatevers, etc) without explicit permission
in writing from the instructor. Students are expected to take notes, but
to do so manually (pen and paper). |