Exam #1 will be given on Wednesday, September 28th during regular class hours. It will begin at 2pm and you will have 75 minutes to complete the exam. The exam will cover the introductory materials from the first day of class, as well as Chapters 1-8 of Sprankle. No notes or reference materials will be allowed for use during the exam. You will be allowed a calculator to check your math, but you probably won't need it.

The format of the exam will be as follows:

Multiple Choice. There will be a series of multiple choice questions to test your basic knowledge of terms and problem-solving concepts.

Short Answer. You will be asked to define, identify, or explain various problem-solving concepts based on the material that has been discussed in lecture.

Problems. In this section, you will be asked to solve problems. For example, you may be given flowchart segments and asked to describe or list what the output would be. Alternatively, you may be asked to design a flowchart to perform a particular action. These problems will be similar to the lab activities and homework you have completed for this class.

For examples of each of the types of questions you'll see on the exam, here is a mini exam (key) I have created for you.

Introduction and Chapter 1: General Problem-Solving Concepts

Be able to define a computer, as well as the elements of the IPOS cycle (with examples)

Know and be able to sort the six steps of the problem-solving process

What is an algorithm? What are the four major components of algorithms in computer science?

How do algorithms differ from heuristic solutions? (Be able to give examples of each.)

Know the two common types of algorithms studied in computer science

Understand the basic functionality of the linear (sequential) search and the binary search algorithms

Chapter 2: Beginning Problem-Solving Concepts

Understand the difference between constants and variables

Be able to use the rules to properly name a variable (and tell when a variable name violates the rules)

Know the three major data types, as well as when you might use each

Be able to recognize and interpret when/how a function is being used

Be able to define operators, operands, and resultants (and recognize examples of each)

Know all of the various mathematical, logical, and relational operators

Be able to complete a truth table for the NOT, AND, and OR operators

Know and be able to apply the order of operations for the various operators

Be able to convert a mathematical equation or expression into one a computer would understand

Be able to evaluate the result of an expression or equation

Chapter 3: Planning Your Solution

What is syntax? What is the difference between a syntax error and a logic error?

Know all of the basic flowchart symbols

Be able to describe the "flow" of a basic flowchart that uses modules

Chapter 4: Introduction to Programming Structure

Define module and be able to provide and explain the multiple benefits of using modules in your solutions

Be able to list the three basic categories of logic structures

Chapter 5: Problem-Solving with the Sequential Logic Structure

Know how to complete the four-column data dictionary based on the contents of a flowchart

Be able to read or design a flowchart using sequential logic

Chapter 6: Problem-Solving with Decisions

Be able to describe, read, and interpret basic and nested if/then/else structures

Understand the difference between straight-through, positive, and negative logic

Know how to design a solution containing straight-through, positive, or negative logic for a given problem

Be able to determine when case logic might be appropriate

Know how to read a case logic structure to determine what might happen based on particular input

What is a "code" and how does it relate to the case logic structure?

What are some factors that can help you decide which decision logic structure to use?

Chapter 7: Problem-Solving with Loops

What is the difference between incrementing and accumulating?

Know and understand the terms "initialize" and "priming read" in relation to Dr. Rita's While Loop Checklist!

Understand the major similarities and differences between While loops and Repeat/Until loops in relation to (1) test location, (2) when the loop is broken, (3) priming reads, and (4) minimum number of iterations

Know how to construct basic While, Repeat/Until, and Automatic-Counter loops

Be able to follow the logic of a nested loop to determine what the output would be based on given input