CIS 1.5 MW8 Spring 2009

Introduction to Computing Using the C++ Programming Language

Computers are very dumb, they cannot think for themselves. You have to figure out how to solve a problem, and then tell the computer what to steps to take. Computers will do exactly what you tell them to do. They are very obedient and loyal. The key is to understand how to talk to a computer. In this class you will be learning the C++ Language; a computer programming language used to create programs on the computer. Once you understand C++ you will be able to tell the computer to do a wide range of tasks. Learning and practicing C++ takes time. You should expect to spend at least 10-15 hours per week preparing and running programming assignments. Please set aside enough time during your week to work on the assignments in this class.

You need both time and ambition to
succeed. You need ambition to make use of the time you have to learn. You need time to give your ambition the fuel it needs to complete tasks. When you have both, you have the power accomplish new tasks.

Topics Outline:

CIS 1.5 Topics Outline:

I Introductory concepts  simple programs, declaration and assignment statements, printing using cout, for loops, simple conditional statements, data types int, char, and double, arithmetic ops, precedence rules, standard library of functions

II Reading Data  reading using cin, interactive I/O, while loops, if else statement, use of files for input/output

III Functions introduction to functions in C++, programmer defined functions, prototypes, parameters, return types, void and parameterless functions, reference parameters

IV Additional Control Structures – do-while loops, nested loops, nested if, logical and relational operators (optional: break, continue, and switch statements)

V Arrays one dimensional arrays, using arrays with functions

VI Strings using the C++ string class, string manipulation using functions of the string class and programmer defined functions

VII Sorting and Searching simple sorting and searching algorithms

VIII Simple Classes (corresponds to structures in C) defining and using a behavior-less class (a class without member functions)

IX Base Systems  binary, decimal, and hexadecimal systems

X Additional Computer Science Topics compilation and execution, parts of a computer system, history of computing, etc.


Textbook for the class:

Problem Solving with C++: Jones & Harrow

Index for the book

Recommended (worth a look at):
C++ Without Fear, Prentice Hall (author: Brian Overland)

I recommend this free C++ Language editor, compiler, debugging tool:
Code Blocks

Free antivirus software:

There will be 2 class exams, plus a final exam.
Grading:
30% Programs (There will be about 6 programs, and various labs assigments) & HWs
30% Exams
30% Final
10% class participation
Projects must be handed in on time. Late projects will lose 1 point per week. Projects are graded on a 10 point scale.

When handing in programming assignments, please hand in the following:
  1. Your .cpp file on a floppy disk or CD (if you know about CD burning, you might want to make it so that you can reuse the CD for other assignments). Floppies are preferred.
  2. A print out of the program listing (source code).
  3. A print out of the output from the program.

Place everything inside of an envelope.



If you use AOL or AIM you may contact me using the following AIM screen name:
 
My email address is: cis1.5@lawrencegoetz.com

Office hours are after class in my office 2112N. However if you need help at another time, please check with me before hand.
718-951-5000 x2050

Training Videos

Class Notes

C++ Tutorial
CIS 1.5 Smart Tutor - As of Sept it was for C.

Code Lab - Practice C++
Access Code: CUN-BRO-0525-0
Click "register" in the upper right corner Choose "I am a student in a course ..." and click CONTINUE Enter the Section Access Code: CUN-BRO-0525-0


Class Topic
Reading
Assignment
Week 1 (Jan 26, 28, 30)

Introduction - Notes
Intro to how to use a compiler

First C++ Program - Notes

For Loops

Chapter 1, handout
Class Signup

Lab #1


Week 2 (Feb 2, 4, 6)

 


Intro to the history of computing
parts of a computer system,
compilation vs. execution

Evaluation Expression  notes

Chapter 2

Lab 2 (from 1/30)

Lab 3


Week 3 (Feb 9, 11, 13)
College Closed on Feb 16

 


  • Do While Loops

Reading Data, While Loop, if-else - notes

 

Chapter 3


Lab #4
Week 4 (Feb 18, 20)
Week 5 (Feb 23, 25)


Misc Topics- notes

Neat Output - Formatting IO Streams

Chapter 3
 


Week 5(Feb 27)
Week 6 (Mar 2, 4, 6)



Standard I/O, Redirectiion, Using Files - notes

File Stream IO Modes



Chapter 4
Nested Loops and Contansts

Quiz Feb 27th:

Topics are:
declaring and assigning variables
while and for-loops
if-else statements
/ % arithmetic operators
&& and || logic operators
Know how to write loop.


Project #1 - Due on the 23rd

Week 7 (Mar 9, 11, 13)
Week 8 (Mar 16)   

Functions - notes


Chapter 5 Chapter 6

Last term's midterm
Week 8 (Mar 18, 20)
Week 9(Mar 23)

Additional Control Structures - notes

 

Chapter 6
Review

March 18th Midterm
Project #1 due Mar 23
Week 9 (Mar 25, 27)
Week 10(Mar 30, Apr 1)

Arrays
Arrays - Notes


Chapter 7




Week 11 (Apr 3, 6)
Week 12 (Apr 20, 22)

Character Strings - notes

String Class Functions - Online

Chapter 8
Lab #5
Week 12(Apr 24)
Week 13 (Apr 27, 29)

Sorting & Searching - notes


Selection (Linear) Sort
Bubble Sort
Linear Search
Binary Seach
Chapter 9

Week 13 (May 1)
Week 14 (May 4, 6, 8)
Introduction to simple classes
More on Classes

May 4th 2nd Exam
Last term's exam
Chapter 10, Handout
Project #2
Week 15 (May 11, 13, 15)

Base Numbers, BinHex - Binary

Misc Topic, Exam Review

Handout
Final Review

Final
May 21 1-3pm
1141 N



Return