Table of Contents
An introduction to the process of program design and analysis using the Java programming language for students with some prior programming experience (functions, loops, and arrays) in a language other than Java. Topics to be covered include an overview of fundamental programming concepts using Java as well as object-oriented programming techniques, data aggregates, data structures (e.g., linked lists, stacks, queues, trees, and graphs), and an introduction to the analysis of algorithms that operate on those data structures. This course, along with 21-127, serves as a prerequisite for 15-211.
One or more courses in programming taught in a language other than Java. Those who have studied Java should consult an advisor or the instructor to determine if 15-200 is a better alternative.
Lafore, Robert, Data Structures & Algorithms in Java, 2nd, Sams, 2003. ISBN: 0-672-32453-9
This Web site, http://courseweb.sp.cs.cmu.edu/~cs111 is temporary. It will move to a new location as soon as this semester's course AFS volume is create in Andrew-land. The new location will be announced in class and a redirectory will be located here. Please do not bookmark the temporary site.
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.
I can't stress enough that the course staff, the instructor and CAs, are dedicated to providing you the highest possible levels of support: inside of the classroom and outside. Please, if you need help, do ask.
Assignments and Grading
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.
It is suggested that you form study groups as soon as possible. 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.
You have three (3) "Late Days" for use on assignments this semester. You can use one day on each of three assignments, three days on one assignment, &c. There are no half days -- an assignment 1 second late requires the use of a full late day.