Course Title:
| Introduction to Problem Solving and Algorithm Design | |
Course Materials:
|
Venit, S., & Drake, E. (2009). Extended prelude to programming: concepts and design (4th ed.). Boston: Pearson Education. | |
Course Description:
|
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 a modern object-oriented language are illustrated. Students may receive credit for only one of the following courses: CMIS 102, CMIS 102A, or CMSC 101. | |
Course Goals/Objectives:
|
After completing this course, you should be able to: • trace the evolution of computing as a profession • be aware of and uphold ethical principles in computing • demonstrate and explain the execution of sequential, conditional, and iterative programming statements • use the process of stepwise refinement to construct programs • create and use functions and recognize the use of value and reference parameters • document programs effectively and create and use test data • create, compile, and execute simple programs written in a modern object-oriented language | |
Course Introduction:
|
This course provides an introduction to the design of solutions to computer-solvable problems. Students learn how to use data types, files, arrays, and subprograms, and basic programming control structures such as sequence, selection (decisions), and repetition (loops).
Also, students acquire a fundamental understanding of object-oriented programming design, concepts, and constructs, and then apply this knowledge through extensive practice of the Program Development Cycle. Though real-world examples, students learn how to analyze a problem, design a program to solve it, write the programming code to implement it, and test the solution to locate and correct programming errors. | |
Grading Information and Criteria:
|
The course grade will be determined as follows:
Quizzes........20% Assignments....30% Midterm........25% Final..........25%
Letter grades will be assigned as follows:
90 - 100% = A 80 - 89% = B 70 - 79% = C 60 - 69% = D Less than 60% = F | |
Other Information:
|
Project Descriptions:
|
The projects, which consist of pseudo code, short Visual Basic, or short C++ programs, will include basic coverage of the following:
• data types and their uses • algorithm development • selection type statements • looping type statements • I/O concepts • object-oriented programming | |
Academic Policies:
Cases of plagiarism are handled consistent with current UMUC guidelines. See the UMUC policies at the following URL: http://www.umuc.edu/policy/ | |
Course Schedule:
|
Week 1 1st meeting: Chapter 0 2nd meeting: Chapter 1
Week 2 3rd meeting: Chapter 2, Assignment 1 due 4th meeting: Chapter 3, Quiz 1
Week 3 5th meeting: Chapter 4, Assignment 2 due 6th meeting: Chapter 4, Quiz 2
Week 4 7th meeting: Review for midterm, Assignment 3 due 8th meeting: Midterm exam
Week 5 9th meeting: Recap of first half 10th meeting: Chapter 5
Week 6 11th meeting: Chapter 6, Assignment 4 due 12th meeting: Chapter 7, Quiz 3
Week 7 13th meeting: Chapter 8, Assignment 5 due 14th meeting: Chapter 9, Quiz 4
Week 8 15th meeting: Review for final, Assignment 6 due 16th meeting: Final exam | |