Introduction to Computer Programming I

CSI31
Section 2693
Monday,Wednesday, 12:00pm-1:15pm, room CP 303

 
   

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