Introduction to Problem Solving and Algorithm Design
Spring Session 1: 15 Jan 2013 - 7 Mar 2013
Instructor: David Wills
Class web site:
A study of techniques for finding solutions to problems through structured programming and step-wise refinement.
The objective is to design programs using pseudocode and participate in hands-on debugging,
testing, and documenting activities. Topics include principles of programming,
the logic of constructing a computer program,
and the practical aspects of integrating program modules into a cohesive application.
Algorithms are used to demonstrate programming as an approach to problem solving.
Students may receive credit for only one of the following courses:
CMIS 102, CMIS 102A, or CMSC 101.
COURSE OUTCOMES: After completing this course, you
will be able to:
- analyze and explain the behavior of simple programs involving fundamental programming constructs
- modify and expand programs that use conditional and iterative control structures and features
- create algorithms for solving problems
- design, implement, test, debug, and document programs that use basic data types and computation, simple I/O, conditional and iterative structures, and functions
- describe and use effective strategies in debugging and testing
CMIS 102 is an introduction to the entire field of computer and information science.
In it, we will briefly discuss the history of computing and introduce the subject of computing ethics.
The course focuses on an abstract (i.e., language-independent)
framework for understanding fundamental programming concepts and constructs.
You will have the opportunity to design, implement, test, debug, and document
simple computer programs using pseudocode and appropriate tools.
Don't let all the above bore or scare you. This course is mostly fun.
Venit, S., & Drake, E. (2011). Extended prelude to programming: concepts and design (5th ed.).
Boston: Pearson Education.
Some free software will be provided to you. Bringing a laptop to class is encouraged.
EVALUATION: Your grade will be based on
examinations and some exercises and homework (programs) in the following
Midterm Exam: 15%
Final Exam: 30%
The grade of 'A' means "outstanding", i.e. "mastery of the material".
The grade of 'B' means "good". The grade of 'C' means "satisfactory".
Grades are curved and related to the class average. "Significantly
above" the class average are the A's, "above" (or sometimes even at)
the class average are the B's, at or below the class average are the
C's. Significantly below the class average are the D's and F's.
Usually, in the 90's is an A, 80's is a B, 70's is a C. Actually, this
method is to your advantage, as often the curve for grades is lower
than the traditional 90-100 A, 80-90 B etc, in other words it might be
85-100 is an A etc.
The grade of “Fn” may only be assigned if a student stops attending
class during the first 60% of the class.
PENALTIES: There are penalties for late work. All work must be submitted as specified.
INCOMPLETES: The grade of I is exceptional and given only to students whose completed
course work has been qualitatively satisfactory but who have been unable to complete
all course requirements because of illness or other extenuating circumstances beyond
their control. The grade of I may be considered only for students who have completed
at least fifty (50) percent of the total course work requirements and who have received
a passing grade on all the course work which they have completed. the instructor retains
the right to make the final decision on granting a student's request for an I, even
though the student may meet the eligibility requirements for this grade.
POLICIES, PROCEDURES AND GRADES: IAW with the University of Maryland, University
Catalog, Asian Division, and the Student Handbook (current editions).
These cover essential information such as attendance, grading, make-up work and
Office hours are available at the request of students.