Computer Science 157
Algorithmic Problem Solving
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.
Office: Woods Laboratories 120
Lab Assistant and Programming Tutor
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
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
- demonstrate the ability to analyze a problem and formulate a solution
for that problem which incorporates principles of software engineering,
can be implemented in a programming language, and can be executed on a computer
system to provide correct results;
- demonstrate the ability to correctly use programming constructs of the
C++ language; and
- understand fundamental concepts of programming languages such as syntax
diagrams, type compatibility, and functional cohesion.
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.
- labs 10 %
- programs 30 %
- 3 class examinations 45 %
- final examination 15 %
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
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