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:
- 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 with header and in-line documentation
- Results of having executed the test plan
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:
- 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 ASU student records if you are caught cheating.