15-237 Syllabus
Fall 201
2

Course Staff

David Kosbie (koz), Instructor
Tomer Borenstein (tborenst), Head TA
Arthur Lee (arthurle), TA
Brandon Kase (bkase), TA
Dillon Grove (dgrove), TA
Evan Shapiro (eashapir), TA

Schedule:
 Event  Days  Time Room
Lecture Tue / Thu 3:00pm - 4:20pm DH A302
Instructor Office Hours Tue / Thu 2:00pm - 2:45pm GHC 5001
TA Office Hours Tue
Wed / Thu
4:30pm - 6:30pm
4:30pm - 7:30pm
GHC 3rd Floor
Required
Textbooks:
None.
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.
  • Actively participating in Piazza.
  • Attendance is required (if not always strictly recorded).  Repeated failure to attend lectures 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:

    Your semester grade is the MAX of these three options:

    Course Component  

     Option 1 

     Option 2 

     Option 3 

    hw1,4

    35%

    30%

    25%

    hw2,3,5,6,7

    30%

    25%

    20%

    Piazza Participation

    5%

    5%

    5%

    Term Project

    30%

    40%

    50%

    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 one midterm exam worth 15% of the semester grade, given in class as noted in the course schedule. 

    Quizzes:
    Quizzes will be given approximately once per week in lecture.

    Extended-Time Policy:

    We gladly accommodate students with university-approved extended time (as approved by Larry Powell's office).  The extended-time quiz will be administered at my office at 9:00am on the same day as the quiz.  For midterm and final exams, 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 quiz.  You do have the option of attending the in-lecture quiz, but then you will have to complete it in the assigned time (without extended-time).  If you are attending lecture 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 4 days 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 Javascript or a browser 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 (in Javascript, HTML, CSS, etc) 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 TA, and perhaps by automated graders, and at times by your instructor.

    Cheating
    and
    Collaboration:

    This course is richly collaborative.  Students are encouraged to talk to each other, to the course staff, or to anyone else about the assignments, and to provide help to fellow students.  In fact, students are graded in part on their collaboration via Piazza.

    However, there is a difference between collaboration and copying.  Students must be directly involved in the authoring of everything they submit as their own work.  They may collaborate, but only if they are truly intellectually engaged.  They absolutely may not take code others have written without their active involvement, not even portions of such code.  In all cases, students must be intellectually involved in the authoring of everything they submit for credit.

    Note that you may at times need to submit work from other authors that is not for credit, but that is required by the code that you do submit for credit (which, presumably, uses or extends that other code).  In this case, you must include a very clear and obvious citation indicating precisely which code is not authored by you, who it is authored by, and from where you obtained it.

    Also, some portions of assigned work may be labeled as SOLO.  In these cases, students must work entirely on their own, and may not even look at or copy any other code (whether another student's code or code found online or elsewhere).  For SOLO, consulting another solution or closely-related piece of work is prohibited, and submitted solutions may not be copied in whole or in part from any source.  That said, even for SOLO, students may consult the course website, mailing list, and Piazza, and of course may also seek help at office hours and by email to the TA's and professor.

    The issue of cheating will be taken seriously by the instructor and TA'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 frequent office hours, private and small-group tutoring, email-based help, collaborative assignments, Piazza, 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).