Computer Science 157

Algorithmic Problem Solving

Catalog Description

An introduction to the design of algorithmic solutions to problems and the implementation of algorithms in a programming language. Problem solving methods are taught which emphasize modularity and reliability, and students develop the fundamental programming skills needed for later courses.


Chris Parrish
Office: Woods Laboratories 120

Lab Assistant and Programming Tutor

SP Kalita

Location and Time

Tuesday, Thursday, 9:30 a.m.
Lab Thursday, 2:00 - 5:00 p.m.
Programming Tutor, Wednesday, 7:00 - 9:00 p.m., WL119
Final Examination: Tuesday, 19 Dec 2000, 9 a.m.
All are in Woods Laboratories 134

Course Topics and Schedule

CprS 157 Schedule, Fall 2000

CprS 157 Lab Schedule, Fall 2000


Programming and Problem Solving, Second Edition, by Dale, Weems, and Headington; Jones and Bartlett Publishers, 1999
A Laboratory Course in C++, Second Edition, by Dale; Jones and Bartlett Publishers, 1999

Web Enhancements

The publisher's web pages maintained by Jones and Bartlett Publishers, Inc., in support of our textbook contain electronic copies of the text's programs and other resources which can be downloaded onto your computer.

Objectives of the course

Course Format

Students learn to design solutions to problems and implement those solutions in C++, an object oriented language. For each of the programming assignments, students develop a design document and a program implementation. The design document includes a breakdown of the problem into manageable modules, outlines of steps to be taken in each module to solve the problem, and test cases to be used to determine whether the solution is correct. A weekly laboratory gives each student the opportunity to gain experience using the language.


Lab exercises

Lab exercises are designed to give students experience using the C++ language. Students will receive assistance during the lab and turn in each lab exercise at the end of the session. All labs must be completed. The textbook for lab exercises is A Laboratory Course in C++, Second Edition, by Dale.


Programs require that students first develop a design for a correct and reliable solution to a specific problem. A design document should be submitted that includes module structure charts, test cases, and algorithms. Then that design should be implemented using C++, fully tested, debugged, and documented. The due dates for the designs and programs are listed on the class schedule. Separate grades are given for the design and the program.

All programs must be completed. All assignments should be turned in at the beginning of class on the due date listed. Late assignments will be penalized 10% for each day late. Every effort should be made to submit programs when due since the time devoted to late programs has a negative impact on the next assignment.

Honor Code

The Honor Code applies to all examinations and programs. Plagiarism is copying or imitating the language and thoughts of others, whatever the medium (computer program or written paper). All work on the exams and the pledged programs must be done individually.


Attendance is required and an important factor in doing well in the class. All assignments must be completed, and the student is responsible for making up any work missed due to absence. The Dean's Office will be notified after two absences.