|
Bill Teter email: william.teter@plattsburgh.edu |
|
|
Introduction to Data Structures and Algorithms Spring 2008 Class Time: Required Texts: Prerequisite: Objectives: 1. Continue to develop programming skills in Java. 2. Apply big Oh notation to analysis of algorithm. 3. Extend understanding of principles of object oriented design. 4. Understand selected classes in the Java API and learn to use fundamental data structures and related algorithms. These data structures are arrays, stacks, queues, lists, sets, and maps. 5. Apply these data structures appropriately in Java programs. 6. Learn and put into practice the techniques of software engineering. Course Content: Software development cycle Object oriented design principles Java features Analysis of Algorithms Linear data structures Hierarchical data structures Sets and Maps Java Collections Framework Labs: The lab sessions are from 2:00 to 4:50 every Thursday. Lab assignments will be posted on the course web page. You will probably not finish assignments during the 3 hour lab sessions. It is expected that you will finish the labs on your own and submit them by the beginning of the next lab. It is also expected that you will not leave a lab session early (unless you have completed the assignment). I expect that you will talk with me and other students as you work out solutions to the labs. It is particularly important that you seek assistance resolving syntax error messages that you do not understand. My experience is that most students wait too long before asking for assistance. If you find yourself thinking, "I don't know where to begin", that's a fine question to ask. This said, I do expect that the work you submit is your own. It must have your name on it as the author. This means it has been typed (by you) into an editor, debugged, and tested by you. Work that is derived from an electronic copy of someone else's work is not acceptable. Most of the programs you write will implement designs developed in class. You will submit your work using version control system called subversion, svn. Exams: There will be a final exam. Quizzes: There will be a quiz each week on Monday covering current material, typically the topics of the previous week of lectures and lab. The lowest quiz score will be dropped when computing the final grade. If you must miss a quiz for an acceptable reason see me before the quiz. In this case the next quiz will be counted twice. Otherwise there will be no make-ups. Policy: Students taking this course for the third, fourth, etc. time (excluding withdrawals) need special permission from the department chair. Under normal circumstances withdrawals will not be permitted after the end of advising. Honesty:
It is expected that all students enrolled in this
class support the letter and the spirit of the
Academic Honesty Policy as stated
in the college catalog.
Cheating on exams (in the lab or class) or plagiarizing others' work will not be tolerated. The first instance will result in a zero on the exam or assignment. If a second instance occurs you will be dropped from the class. Grades: Your final grade should reflect your knowledge of the
subject. It will be computed as follows: Attendance Policy: Students are responsible for all material and information presented in class. |