Table of Contents
Course Meetings
- Lecture: 10:30 - 11:50, daily in room SH 222
- Recitation: 4:30 - 5:20, stay tune for first meeting and room information
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: (15111 or 15200) and 21127
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-200/.
Notice that the website is "200", not "211". This is correct and is just
to reduce administrative effort between the semesters.
Instructor
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
- Office hours: (in the Wean 5419 cluster)
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 aestablish 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
- Final Exam (20%): A written in-class exam
- Midterm Exam (15%): A written in-class exam
- Weekly quizes (15%): Weekly, probably about 4
- Labs/HW: Weekly, probably 5 major labs [2-person one-time 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 fivve (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.
|