15-211 Syllabus

Table of Contents

Course Meetings

  • Lecture: 10:30 - 11:50, daily in room GHC 5222
  • Recitation: 4:30 - 5:50 in GHC 5222 (Keep the timeslot free, but only attend as announced)

Course Description

Fundamental programming concepts are presented together with supporting theoretical foundations and practical applications. This course emphasizes the practical application of techniques for writing and analyzing programs: data abstraction, program verification, and performance analysis. These techniques are applied in the design and analysis of fundamental algorithms and data structures. The course is currently taught in Java.

The goals for this course are to gain a solid understanding of the following topics:

  • The fundamental design, analysis, and implementation of basic data structures and algorithms;
  • Principles for good program design, especially the uses of data abstraction and modular program composition;
  • Basic concepts in the specification and analysis of programs.

Prerequisite: (15-111 or 15-200) and 21-127 (summer-only: co-requisite okay)

Prerequisites

15-111/200, or equivalent, and 21-127, or equivalent, or consent of instructor.

Textbook

Weiss, Mark, Data Structures and Algorithm Analysis in Java, any recent edition.

Website

This course website, http://www.andrew.cmu.edu/course/15-211-kesden.

Instructor

Name: Gregory Kesden
Email: gkesden@cs.cmu.edu
Url: http://www.cs.cmu.edu/~gkesden
Office: GHC 7711
Office phone: 412-268-1590
Office hours: Please see schedule

Please note:

Office hours are times that I do my best to reserve exclusively for "drop in - no appointment" meetings with students, but I am often available at times other than office hours.

Please don't hesitate to call or drop by at other times, or to request an appointment. Office hours are convenient -- if they are convenient for you. If not, please, please, please email or call for an appointment, or just take your chances and drop by -- if I'm not teaching, I'm likely here.

Please remember -- I'm here to help. I appreciate the opportunity to serve you. Do give me the chance.

My office rolls to my cell phone. Please feel free to call at any time (I generally turn it off when it is inconvenient to answer).

I can often be found as "gkesden" on AIM, GIM, Yahoo, and others. Please feel free to ping me if I can be of service.

Teaching Assistants

    Name: Matthew Mirman
    Email: mmirman@andrew.cmu
    Office: GHC 5201 (only for office hours)
    Office hours: 4:30-6:30, Mon-Fri (except recitations)

Course Attendance

Attendance is expected at all classes. You are responsible for everything conveyed during class, even if you are absent. It is suggested that you make friends with your classmates and establish a study group -- these will provide vehicles by which you can discovery the content of any lectures you might miss. In the event that you miss class, you should contact one of these individuals promptly to ask for help.

The course staff is not responsible to help you with material or procedural announcements from which you opted out by electively missing class.

Need Help?

I can't stress enough that the course staff, the instructor and TAs, are dedicated to providing you the highest possible levels of support: inside of the classroom and outside. Please, if you need help, do ask.

Important: It is strongly suggested that you email the entire staff with questions or concerns. This will assure you of the fastest possible answers.

Assignments and Grading

  • Exam 1: (15%): In-class written exam
  • Exam 2: (20%): In-class written exam
  • Final Exam (20%): Longer written exam
  • Labs/Homeworks (45%): Usually done in one-time-only 2-person teams

Grade Corrections

We try to be very, very careful about scoring your work and maintaining your grades. But, we are human and will make mistakes. If you have any questions about grading, please see any member of the course staff.

If possible, s/he will help you "on the spot". But, if s/he want to discuss the issue with other members of the staff, which does occur in many cases, he or she might make a copy of your work and/or ask you to write down or email your concerns. Please don't be alarmed -- this is just to try to ensure correctness and consistency among staffers, as well as prevent miscommunication. If you are asked to provide a copy of the work or feedback in question, or to provide your concerns in writing or email, you are required to do this before your concern can be addressed.

Please keep copies of all of your graded work, electronic submissions, and electronci feedback, until you receive your final course grade and are satisifed that it is correct. Without the original work and the grading information, it is more difficult and time consuming to correct errors.

In general, grading concerns should be addressed within one (1) weeks. In the special case of the final exam, they should be addressed with one (1) year. The course staff, at its discretion, may refuse to reconsider grades outside of this time period.

Should concerns arise outside of these time periods, but during the semester, please do contact any member of the course staff -- we want to be reasonable and will do our best, within our discretion, to help. Should concerns occur after the end of the semester, please contact the instructor. Or, in the unlikley event that he is no longer at the University, on leave, or otherwise inaccessible, contact an administrator in the Computer Science department.

Students do have the right to appeal final course grades. This can be done informally, beginning with the instructor, and then to the student's academic dean and/or the academic dean in the home department. It can also be done formally using the policy outline in the Academic Regulations.

Collaboration

Study groups are highly recommended. These groups generally work best if there are between three and five people involved, but sometimes pairs or slightly larger groups can work well. Typically the most effective study groups meet once per week for a few hours, or a couple of times each week for a couple of hours each meeting. For study groups to be effective, each member must work indivudally with the material in-between meetings such that s/he has something to contribute as well as questions to drive the discussion.

Exams are non-collaborative exercises (.)

Labs may be done in two person teams. But, there is a caviat: You can't work in the same team more than once.

See the University policies about Plagarism and other types of Academic Dishonesty -- they apply in this class, in full force.

Late Work

You have three (3) "Late Days" for use on assignments this semester. You can use one day on each of three assignments, one day on one assignment and two on the next, &c. There are no half days -- an assignment 1 second late requires the use of a full late day.

Once you run out of late days, assignments are discounted at a rate of 20% per day. In other words, an assignment which would have earned an 86, but is 2 days late will, instead earn 55=(86*.8*.8*.8)

No Email Attachments

Unless otherwise directed by a member of the course staff, do not send files as attachments via email. For technical reasons, this mode of file transmission is extremely inefficient. Instead, please create a directory within your AFS space, place the file or files into that directory, and give gkesden:staff-100 at least "rl" access. If this doesn't make sense to you -- relax. Just send email to us and ask for instructions for sending us the file(s).

No Electronically Mediated Communication

You may not use any electronically mediated communication during lecture or recitation, except as specifically requested by your recitation instructor or instructor. Violation of this policy is punishable by an R for the course. Even for a first offense. Yes, really.

This policy is specifically designed to prohibit the use of TXT messaging (SMS), IM clients, voice cellphones, Web surfing, reading email, &c. Please focus your attention entirely on class.

Recording

High-fidelity recordings of class, including any audio and/or video recordings, regardless of the media or format, and regardless of the intended or actual use, are not permitted without prior written permission of the instructor. The class will be notified in advance should any such recording be approved. The penalty for violating this policy is an “R” in the course. If you are not comfortable with this, drop the course now. Studnets have no right to record classes under any University policy.

This policy is intended to protect the privacy of the students. No student should run the risk of potential employers finding a naïve question or incorrect answer on the Web. The classroom is a learning environment, not an exhibition. Rather than attempt to control the uncontrollable or distinguish between neutral and detrimental uses, all recording is prohibited. Experience has shown that, excluding special cases such as use by students with disabilities or distance learners, undergraduate students do not improve their performance through the use of high fidelity recordings.