10.03.2014 Views

Course #: C101 Course Title: Computer Programming I ...

Course #: C101 Course Title: Computer Programming I ...

Course #: C101 Course Title: Computer Programming I ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Course</strong> #:<br />

<strong>Course</strong> <strong>Title</strong>:<br />

Prerequisites:<br />

Credits: 4<br />

Text Book:<br />

Supplemental<br />

Texts:<br />

<strong>Course</strong><br />

Information:<br />

Other<br />

Information:<br />

<strong>C101</strong><br />

<strong>Computer</strong> <strong>Programming</strong> I<br />

M014 or Level 3 on the math placement exam.<br />

Program Development and Design Using C++, by Gary Bronson<br />

Handouts<br />

<strong>C101</strong> is a course designed to give an introduction to computer science and programming.<br />

The course assumes no previous experience with computers, but some mathematics<br />

background is needed. Students not familiar with basic algebra will be at a disadvantage.<br />

C++ is the programming language that is used for assignments.<br />

1. Introduction to computers.<br />

a. Components of a computer (CPU, memory, peripherals).<br />

b. Operating systems.<br />

c. Files<br />

d. Bits, bytes, words, addresses, K = 1024. How data is stored in a computer.<br />

e. Stored program concept. Machine instructions.<br />

f. High level languages and compilers.<br />

g. Ethical behavior in IUSB computer science courses (handout available).<br />

2. <strong>Programming</strong> Rules and Methodology.<br />

a. Pseudo-code.<br />

b. Algorithm design.<br />

c. Top-down design. Modularity.<br />

d. Program style: indenting, choices for identifiers, using named constants, commenting.<br />

3. <strong>Programming</strong> Environment Topics<br />

a. Using Windows 200X, XP and the Visual C++ integrated environment.<br />

b. Program testing.<br />

c. Debugging techniques, including using the debugger.<br />

4. Fundamental <strong>Programming</strong> Techniques<br />

a. Swapping the values in two variables.<br />

b. Simple loop based algorithms, including summing loops, counting loops.<br />

c. When to use "for", "while" and "do-while" loops. Consider suggesting use a "for" loop<br />

only<br />

if the number of repetitions is known in advance.<br />

d. Searching: linear and binary search.<br />

e. Sorting: cover insertion sort and possibly one other sort.<br />

f. Processing character streams using cin.get() and EOF or cin.good().<br />

5. <strong>Programming</strong> Assignments<br />

The students should be kept busy with programming assignments. Students seem to do<br />

better if assignments are due weekly. No assignment during a week when a test is<br />

scheduled allows students to study!<br />

6. The C++ <strong>Programming</strong> Language<br />

a. Basic syntax (rules for identifiers, declarations, etc.).<br />

b. Fundamental data types (char, int, float, double, unsigned, short, long). Enumerated<br />

types. The inexactness of stored floats.<br />

c. C++ I/O operators, functions in iostream and iomanip.<br />

d. C++ operators<br />

i. The "operator concept": All C++ operators return a value.<br />

ii. Precedence of operators.<br />

iii. Postpone discussion of following operators:<br />

scope resolution, new, delete, comma, and bitwise operators.


e. Control flow statements (if, if-else, switch, break, while, do-while, for, continue).<br />

f. Functions and parameter passing; Value and reference parameters.<br />

g. Standard libraries: ctype, stdlib, string.h.<br />

h. Scope. Static and external (global) variables.<br />

i. Arrays: The relationship between pointers and arrays. "Strings".<br />

j. Preprocessor: #define and #include.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!