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:
- Written specification (what have you done?)
- Design Documentation (as will be discussed in class)
- Complete Test Plan with list of test cases
- All source code and generated javadoc
- Results of having executed the test plan
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:
- 90% or above = A
- 80% or above = B
- 70% or above = C
- 60% or above = D
- Under 60% = E
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.