University of Maryland/Asian Division

CMIS 102 - Introduction to Problem Solving, Algorithm Design and Programming

Term 4: 29 March - 22 May 2004
MW 1645-1930

David Wills with the example programs, assignments and software to download.

This course is an introduction to problem solving, algorithm design and programming. Problem solving will be addressed through the use of the programming. The programming language for this course will consist of entry level exposure to C++. A study of techniques for finding solutions to problems through structured programming and step-wise refinement. Topics include principles of programming, the logic of constructing a computer program, and the practical aspects of integrating program modules into a cohesive whole. Algorithms are used to demonstrate programming as an approach to problem solving, and basic features of the C ++ language are illustrated.


  1. Define and practice heuristic learning.
  2. List methods to improve your critical thinking, as well as how to improve your learning and memory skills.
  3. List ways to improve comprehension in what you read and hear.
  4. Demonstrate improved skills in solving math and logic problems.
  5. Develop confidence in your own ability to solve problems.
  6. Define and understand the following programming terms: source code, object code, and compiler.
  7. Distinguish between a syntax error and a runtime error.
  8. Conceptually define the three types of program statements: sequential, conditional and iterative.
  9. Understand the process of stepwise refinement in developing programs to solve problems.
  10. Demonstrate understanding of programming statements written in structured pseudo-code.
  11. Write basic programs in C++; compile them; and execute them.
We'll learn about computers, how they work, how to use them more effectively. You'll learn a lot.


  1. Dale, Nell, Chip Weems & Mark Headington. Programming and Problem Solving with C++. 3rd Edition. Jones and Bartlett Publishers. ISBN: 0-7637-0292-7. We will cover Chapters 1-6.
  2. Robertson Simple Program Design
All the text's programs are available from the publisher in softcopy at
You need a C++ compiler for your home computer, if you want; else you can use UMUCAD's computer labs, most of whose computers should have VC++ and DevC++ installed.
A very good free Windows C++ compiler and IDE is Dev-C++ from
I recommend this compiler. The textbook comes with a student version of Microsoft's VC++.
Only use the standard functions as defined in the textbook. Don't use functions that are specific to the compiler because it probably won't work elsewhere, in particular when I grade your programs.

Students who are interested in computing in general and CMIS in particular are encouraged to use Linux Academic computer science is almost wholly done using the Unix operating system. MS-Windows is not an appropriate OS for computer science. Linux has everything you need for computing, and it's free.


   Midterm Exam:   20%
   Final Exam:     30%
   Assignments:    50%

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.

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 plagiarism.

MISCELLANEOUS: * Students are expected to spend between two and three hours outside of class on course materials and preparation for every one hour spent in the classroom. e.g. a UMAD course meets for approximately 5 hours per week and you will be expected to spend between 10 and 15 hours additional time outside of class on course work for an average of 20 hours per week.