SYLLABUS
CSE210 (Object Oriented Design & Data Structures)
TR 1:40P-2:55P (ASU) in PEBE 201
TR 9:00P-10:15P (SCC) in PS-169S



PREREQUISITES:   CSE200 or instructor approval. Competency in the core aspects of C, C++ or Java programming is assumed. The student is expected to be able to develop reusable pieces (e.g., classes or functions) and along with standard library usage, design and develop maintainable programs that consist of many pieces working together to solve a single problem.

COURSE SUMMARY:   The course contains mastery of the basic containers (sequential and associative), adapters (eg., stacks, queues), ordered containers along with basic searching/sorting algorithms plus introductory complexity analysis, iterators, simple trees and search trees. Features of the Java language will be covered as needed. The Java2 Collections Framework will be used liberally and that style will be followed for all examples and assignments. This style emphasizes abstraction, implementation/interface separation and the use of polymorphic class hierarchies. This course will also feature basic design patterns and use them consistently throughout (e.g., Singleton, Container, Enumeration, Adapter, Visitor).

JAVA ENVIRONMENT REQUIREMENTS:    A Java 1.2 Development Kit (JDK 1.2) will need to be downloaded and installed. See Sun's Java2 Download Page for downloading information.

TEXT BOOKS:    The following textbooks are recommended, but not required: Java Data Structures and Programming -or- Data Structures and Other Objects using Java. The course website along with the JDK documentation may be sufficient for the course depending on your learning style.

STUDENT RESPONSIBILITY:   Notes and examples will be available on this website (see http://audix.eas.asu.edu/~aud1/NewClasses/CSE210/Notes+Examples) organized by date (eg., 0601/). It is the student's responsibility to print out the dated materials and bring them to class on the specified date.. Each file in these directories will be gone over (in detail) during class; it will be assumed that each student has all of their printed handouts with them. All materials for a given date will be available online by the midnight of the previous day (so print them out in the morning before class each class day).

TESTS, QUIZZES, EXAMS:   There will be bi-weekly quizzes (total of 7) given alternating Thursdays covering the material from those weeks. All quizzes will be closed book/closed notes. These quizzes (best 6 out of 7) will constitute 30% of the grade. The lowest quiz grade will be dropped. There will be a final exam (given during the regular final exam period) which will constitute 10% of the grade.
There will be not be any makeup quizzes or exams.

HOMEWORK:   Programming assignments will be given (and collected) throughout the course. There will always be a "current" assignment that is actively being worked on at all times. When an assignment is turned in, it needs to include printed copies of: Additionally, the working project will be electronically transmitted to me as specified in class.

Programs are expected to be turned in ON-TIME. Late programs will not be accepted.

Programs constitute 60% of the final grade.

GRADING:    The Grade-to-percentage correlations are listed below:


ATTENDANCE POLICY:   There is a direct correlation between attendance and success in this class; therefore 100% attendance is expected. I do not take attendance. Either class meetings are valuable to you, or they're not. If they're not, please let me know how they could be improved. But, in any case:
You are responsible for all material discussed and announced in class. I do not answer any requests to repeat material given in class. If you miss a class, contact several people who were there and get their notes.

OTHER:    Besides academic performance, students should exhibit the qualities of honesty and integrity. Any form of dishonesty, cheating, fabrication, facilitation of academic dishonesty or plagiarism will make you subject to disciplinary action. IT IS IMPORTANT THAT YOU WRITE YOUR OWN PROGRAMS! Handing in a program that someone else authored is considered plagiarism and will be treated as such. I have NO problem failing you in this class for this semester and having the appropriate entries placed in your academic student records if you are caught cheating.