SYLLABUS
CSE210 (Data Structures & Algorithms 1)
TWR CPCOM 212 1:40-3:20P



PREREQUISITES: CSE200 or instructor approval. Competency in the core aspects of C++ programming is assumed. The student is expected to be able to develop reusable library routines in core C++; 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 sequential containers and adapters (vectors, lists, stacks, queues), associative containers (sets, multisets, maps, multimaps) and simple trees along with some basic searching/sorting algorithms and introductory complexity analysis. Advanced features of C++ will be covered as needed including generic programming techniques and object-oriented programming. The Standard Template Library (STL) will be used and the STL style will be followed for all examples and assignments.

C++ ENVIRONMENT REQUIREMENTS: If you are working in a Windows environment, Microsoft Visual C++ 6.0 is the environment of choice. If you are working in a Unix environment, gnu g++ (version 2.8 or beyond) is the needed environment. These are both available in the ASU Computer Labs. For more information, see More on the needed computer environment.

If you do not have access to one of the above environments, come and talk to me right away.

TEXT BOOKS:
These books are available online or at the Computer Library on the SE Corner of Mill and Baseline (107 E. Baseline, #4) 820-0458


STUDENT RESPONSIBILITY: Notes and examples will be available on this website (see http://audix.eas.asu.edu/Classes/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 weekly quizzes (total of 8) given every Thursday covering the material from that week. All quizzes will be closed book/closed notes. These quizzes (best 7 out of 8) will constitute 40% of the grade. The lowest quiz grade will be dropped.

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 the grader 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 ASU student records if you are caught cheating.