Goals of the course:
CSI 31 introduces students to structured, top-down programming design and implementation.
In this course students will learn basic programming style and techniques in keeping with modem programming
philosophy.
Objectives: By the end of this course the successful student will be able to:
1. Identify the basic components of a computer system;
2. Design an algorithm to solve a given problem using the top-down design approach;
3. Translate that algorithm into a computer program, using programmer-defined functions wherever possible;
4. Know the difference between call-by-value and call-by-reference parameters;
5. Understand the notion of procedural abstraction;
6. Understand and use the three basic programming structures: sequence, selection, repetition;
7. Use files for input and output, and
8. Use arrays and strings to manipulate data.
Sections Suggested programming exercises
Chapter 1: Introduction P. 36-37: 2,3,4
1.1 Computer systems
1.2 Programming and Problem Solving
1.3 Introduction to C++
1.4 Testing and Debugging
Chapter 2: C++ Basics P. 104-106: 1, 3, 5, 6, 7
2.1 Variables and Assignments
2.2 Input and Output
2.3 Data Types and Expressions
2.4 Simple flow of Control
2.5 Program Style
Chapter 3: More Flow of Control P. 171-174: 1,2, 5, 7
3.1 Using Boolean Expression
3.2 Multiway Branches
3.3 More about C++ Loop Statements
3.4 Designing Loops
Chapter 4: Procedural Abstraction and Functions P. 242-243: 1, 2, 3, 4, 5
That Return a Value
4.1 Top-Down Design
4.2 Predefined Functions
4.3 Programmer Defined Functions
4.4 Procedural Abstraction<
4.5 Local Variables
4.6 Overloading Function Names
Chapter 5: Functions for all Subtasks P. 293-295: 1,3,4,5,6
5.1 Void Functions
5.2 Call-by-Reference Parameters
5.3 Using Procedural Abstraction
5.4 Testing and Debugging Functions
5.5 General Debugging Techniques
Chapter 6: I/O Streams as an Introduction to P. 367-369: 1, 2, 5, 6, 8
Objects and Classes
6.1 Streams and Basic File I/O
6.2 Tools for stream I/O
6.3 Character I/O
Chapter 7: Arrays P. 435-438: 1,2, 3,5
7.1 Introduction to Arrays
7.2 Arrays in Functions
7.3 Programming with Arrays
7.4 Multidimensional Arrays (optional)
Chapter 8: Strings and Vectors P. 493-497: 1,2, 3, 4, 5, 11
11.1 An array type for Strings
11.2 The standard string class
SS/SEP Spring 2006