COMPUTER SCIENCE 1320

COURSE SYLLABUS

Spring 1998


COURSE: Problem Solving and Algorithm Design I

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--Others by appointment

MEETING HOURS AND ROOM:
1320-1: 8:30-9:20 MWF, Halsell 228,

TEXT MATERIALS: An Introduction to Computer Science using C, Eggen and Eggen, PWS publishers


COURSE: This course is the first course for computer science majors, following the guidelines established by the Association for Computing Machinery. This course also partially satisfies the requirements for Understanding the World Through Science of the common curriculum. The course content will include learning about block structured strongly typed programming languages as well as conceptual information including beginning data structures, computer arithmetic, computer organization, operating systems, programming languages, sorting and searching. Our study will include data types, arrays, strings, structures, files, recursion, decisions and loops.

PREREQUISITE: none

COURSE GOALS AND OBJECTIVES: The objectives of this course include, but are not limited to, the following:

1. Learning fundamental 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. Introduction to the basic topics in data structures
6. Introduction to sorting and searching algorithms


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. All problems will be machine tested before they are hand graded. Each laboratory problem will have a due date. Homework is due at the beginning of the period 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 track of your scores so you know where you stand in the class at any time.


EXAMINATION DATES:
Examination 1: February 13, 1998
Examination 2: March 25, 1998
Reading Days: April 29, 30.
Final Examination: Monday, May 4, 1998, 8:30am, Halsell 228


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.


ADDITIONAL REFERENCES:

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

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

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

Kernighan and Ritchie, The C Programming Language, Prentice Hall, 1988, Second Edition

Hanly, Koffman and Friedman, Problem Solving and Program Design in C, Addison Wesley, 1993

Sobell, A practical Guide to the Unix System, Benjamin Cummings, Third Edition, 1995

King, C Programming, A Modern Approach, Norton Publishers, 1996

Return to Dr. Eggen's Home Page