CMU 15-110 Syllabus
|Description||A course in fundamental computing principles for students with minimal or no computing background. Programming constructs: sequencing, selection, iteration, and recursion. Data organization: arrays and lists. Use of abstraction in computing: data representation, computer organization, computer networks, functional decomposition, and application programming interfaces. Use of computational principles in problem-solving: divide and conquer, randomness, and concurrency. Classification of computational problems based on complexity, non-computable functions, and using heuristics to find reasonable solutions to complex problems. Social, ethical and legal issues associated with the development of new computational artifacts will also be discussed.|
|See the topic list and schedule here (includes schedule, notes, video mini-lectures, homeworks, quizzes, and tests).|
This schedule may be adjusted at times (such as when there are no classes
on one or more days in a week):
|Time on Task:||
As this is a 10-unit course, students are expected to invest 10 hours per week in the course, as such:
TA's will generally invest 10-12 hours per week in the course, as such:
Instructor Office Hours:
Piazza Virtual Office Hours:
* Daily (7 days/wk): 5pm - 11pm (on most days)
Additional Optional Sessions
Academic Development Walk-in Tutoring:
This is a great resource provided not by 15-110 but rather by Academic Development in support of 15-110 as such:
Every required software package we use is available for free on the web. This includes:
|Participation in this course is required and consists of the following activities:
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.
Note: most homeworks will include a team hw portion and a solo hw portion. Generally, these will be equally weighted, though the weightings may be adjusted as appropriate per homework.
Each homework, quiz, midterm, term project, and final will be graded on a standard scale:
A: 90 - 100
B: 80 - 89
C: 70 - 79
D: 60 - 69
R: 0 - 59
The lowest 2 hw's, lowest 2 quizzes, and lowest midterm are all half-weighted.
This course includes team homeworks as an important way to reduce time-on-task and to reduce stress while improving student learning. This also allows us to include more meaningful and educationally compelling coding examples. Each team will include a TA, who will provide guidance and discuss solutions to team homework exercises. Team homework sessions are fixed at 2 hours per week, at times that are as convenient as possible for each student.
Team homeworks are graded based on participation with 5 points each week, as such:
Students who miss their assigned team session must attend the make-up team session on Tuesdays at 8pm. Students can do this twice on the semester without penalty. Beyond that, students make-up sessions scores are halved.
Student should expect to spend the full 2 hours at these sessions. Students who complete the main assignment may help other students on their team, or may work on additional challenging exercises that we will provide for this purpose.
There will be a standard 3-hour final exam, weighted as indicated above, during the final exam period at the end of the semester.
There will be two midterm exams, weighted as indicated above, given in class as noted in the course schedule.
Quizzes will be given about once weekly, generally in lecture on Wednesday. Quizzes generally cover material from the previous week and the previous homework.
We gladly accommodate students with university-approved extended time (as approved by the Office of Disability Resources (ODR)). For in-lecture quizzes, the extended-time quiz will be administered by Mark Stehlik at his office (GHC 6205) that same day, between 4:30pm and 5:30pm. For those who have a university-approved time conflict at that time, please email ODR directly (cc'ing the 110 course faculty in that email) by the day before the quiz, and you can arrange directly with ODR for them to proctor your extended-time quiz anytime from 4:30pm the same day of the quiz until 6pm the next day. For in-recitation quizzes, should they occur, the extended time will be provided immediately in the same recitation period. For midterm and final exams, the ODR proctors the extended-time versions of these. Important: to obtain extended-time, you must attend the extended-time quiz or exam and not the normal-duration quiz or exam. You do have the option of attending the normal-duration quiz or exam, 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).
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 faculty office hours up until 4 days following the quiz.
Homework Grace Days:
Homework is due at a specified time and date. However, the first 2 times you miss the deadline (by even one minute, according to Autolab's clock), you may use a single "Grace Day" for just the solo portion of that assignment, so that week's solo homework may be submitted up to 24 hours late without any penalty. This policy does not apply to team hw's.
Once you have used your 2 Grace Days, no future homeworks can be submitted late, except in the case of extensions (see below).
Students who have medical or family emergencies or other pre-arranged university-approved absences (such as for multi-day athletic or academic trips) may request an extension from the course faculty.
Proctored Homework Writing Session
[Note: this clause was added on 1-Oct-2018, and is effective from that day forward] We understand that anyone may have an off day or two, particularly on quizzes or exams. However, if a student persistently scores dramatically below their hw scores on quizzes or exams, that is a different matter. In such a case, the course faculty at their discretion may have the student reproduce their hw results, on the same or similar exercises as the original hw, in a proctored homework writing session, and adjust their hw results as appropriate as a consequence. Note that this would not result in any punitive measures, only in adjusting hw scores to reflect how students performed when asked to reproduce their hw results in a proctored setting.
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.
Solo Homework Policy:
Unless otherwise noted, for Solo 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 their 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, Piazza, office hours, 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.
Team Homework Policy:
Note that some assignments (or portions thereof) will be explicitly marked as team hw's. In those (and only those) assignments, you must work with the other students on your team, even writing code together, and certainly debugging each other's code. However, you may only work with your approved team members -- the restrictions for solo homeworks apply here, too, for everyone who is not on your team. Also, even when working on an approved team, 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.
Retaking Course / Reusing Prior Material Policy: If you are repeating 110, your prior work in this course is treated just as anyone else's work -- that is, you may not consult it. This is to promote the best possible learning, and using your prior answers will only hurt in that regard. So do not refer to your prior work, and solve everything from scratch. This will result in your best learning experience.
Autograder / Decompiling Policy:
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.
Plagiarism Detector Policy:
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).
Homeworks or portions thereof that are deemed overly similar (as opposed to mostly identical) will face these consequences:
Online "Help" Policy:
There are many online 'help' resources, and while some may be legitimate, many are basically providing a homework outsourcing 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 Teaching 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.
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
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).
We care very much about your well-being and
happiness. Yes, CMU students (and faculty) work hard, sometimes very hard.
But we must keep our balance and always attend to our well-being and happiness.
That comes first, academics follow. So be sure to get enough sleep, eat
right, exercise regularly, and attend to your well-being and happiness.
Here is a list of ideas that might help.
In any case, know that we DO take your well-being seriously. This course can be stressful, but we regularly take measures (mostly based on very helpful student feedback) to reduce that stress as much as possible. And we always welcome your feedback, if you have ideas on how we can improve on this (or any other) front.
Finally, if you are feeling overly stressed, or anxious, or unhappy about your performance or your general experience in this course, please do come talk to us. We will listen. We are here for you and we will try to help.
Addendum: Here is a great two-page one-stop-shopping summary of many CMU Student Support Services.