COMPUTER SCIENCE 1321

COURSE SYLLABUS

Spring 1998

COURSE: Problem Solving and Algorithm Design II

INSTRUCTOR: Dr. Maurice L. Eggen

OFFICE: Halsell 201L

OFFICE HOURS: 8:00-8:30 MWF, 10:30-11:30 MWF, 8:00-9:55 TR, 11:10-11:30 TR

MEETING HOURS AND ROOM:
1321-1: 9:30-10:20 MWF, HALSELL 228
1321-2: 9:55-11:10 TR, HALSELL 228

TEXT MATERIALS: Tenenbaum, Langsam, and Augenstein, Data Structures Using C and C++, Prentice Hall Publishers, Second Edition, 1996.


COURSE: This course is the second course for computer science majors, following the guidelines established by the Association for Computing Machinery. The course content will include learning about block structured strongly typed programming languages as well as conceptual information including data structures, arrays, structures, stacks, infix, prefix and postfix notation, recursion, queues, linked lists, trees, binary trees, tree representation, sorting, searching, graphs, dynamic memory, and applications.

PREREQUISITE: CSci 1320, Problem Solving and Algorithm Design I.


COURSE GOALS AND OBJECTIVES: The objectives of this course include, but are not limited to, the following:
1. Learning problem solving methodology
2. Applying problem solving techniques to algorithm design
3. Implementing algorithms in a suitable programming language
4. Development and analysis of algorithms
5. Data structures
6. Sorting and searching.


LABORATORY PROBLEMS: Several homework laboratory problems will be required for successful completion of this class. Problems will be coded in a suitable programming language on the departmental UNIX network. These problems are to be completed on an individual basis. Solutions turned in for grading must represent your own individual effort. Each problem submission must include a printed listing of the programs as well as documentation for the programs submitted. Each laboratory problem will have a due date. Homework is due at the start of class on the day assigned. Late work will not be accepted for full credit. Additional information concerning laboratory problem submission will be detailed in class


GRADES: The grades in this class will be determined by the results of three major examinations, given at approximately equal intervals in the semester, by the results of several laboratory assignments, and by the results of periodic quizzes. Each of the three examinations will be approximately equally weighted, including the final, which will be given during the final examination week, and will serve as the third examination. Each of the laboratory assignments will be worth a variable number of points, depending on difficulty. Averages will be calculated as a simple percentage, points earned divided by points possible.

Letter grades will be assigned according to the following scale:
90-100 A
80-89 B
70-79 C
60-69 D
with plus and minus grades assigned in marginal cases. I advise you to keep a track of your scores so you know where you stand in the class at any time.


EXAMINATION DATES:
Examination 1: 1321-1 February 13, 1998
Examination 1: 1321-2 February 12, 1998
Examination 2: 1321-1 March 25, 1998
Examination 2: 1321-2 March 26, 1998
Final Examination: 1321-1 Tuesday, May 5, 1998, 8:30am
Final Examination: 1321-2 Saturday, May 2, 1998, 8:30am


NOTES: Regular class attendance is required. Each unexcused absence deducts one percentage point from your final average. Excessive absences will be reported to appropriate university officials and may cause you to be (involuntarily) withdrawn from the class.


REFERENCES:

Cormen, Lieserson and Rivest, Introduction to Algorithms, McGraw Hill, 1990

Van Wyk, Data Structures and C Programs, Addison Wesley, 1988

Kelley and Pohl, C by Disection, The Essentials of C Programming, Benjamin Cummings, 1992, Second Edition

Sedgewick, Algorithms in C, Addison Wesley, 1990

Schildt, C The Complete Reference, McGraw Hill, 1990, Second Edition

Horowitz, Sahni and Anderson-Freed, Fundamentals of Data Structures in C, Computer Science Press, 1993

Drozdek and Simon, Data Structures in C, PWS Publishing Co, 1995

Standish, Data Structures, Algorithms & Software Principles in C, Addison Wesley, 1995

Return to Dr. Eggen's Home Page