CIS 1.5 MX Spring 2008

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 to 8 programs) & 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

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

Code Lab - Practice C++
Access Code: CUN-BRO-8476-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-8476-0

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

Introduction - Notes
Intro to how to use a compiler

First C++ Program - Notes

Chapter 1, handout
Class Signup

Assignment 1

Week 2 (Feb 4, Feb 6, Feb 7)

 


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

Chapter 1

Assignment 1 due

HW problems due
Chapter 1, problems: 2A,2F,5C,6A


Week 3 (Feb 11)
Week 4 (Feb 13, 14)
Misc Topics

 

 

Evaluation Expression & While Loop- notes

 

Chapter 2

Assignment 2




Feb 18 College Closed
Week 5 (Feb 20, 21)

  • For Loops
  • Do While Loops
  • Switch

Reading Data, While Loop, if-else - notes

Misc Topics- notes

Additional Control Structures - notes

Neat Output - Formatting IO Streams


Chapter 3
 

Assignment 2 is due

Assignment 3

Week 6  (Feb 25, 27, 28)

Standard I/O, Redirection, Using Files - notes

File Stream IO Modes



Chapter 4
Nested Loops and Contansts

Assignment 3 is due

Sample questions. Do not hand them in, they are for your own self testing. You can compile them to see if your results match what you expected. If you have a question, please speak with me.

Week 7 (Mar 3, 5, 6)

Functions - notes
Functions Continued


Chapter 5
Assignment 4


Week 8(Mar 10, 12, 13)

Functions Continued
Do-While Loops

 

Chapter 6
Review

Quiz on Mar 19
Topics are:
declaring and assigning variables
while and for-loops
if-else statements
/ % arithmetic operators
&& and || logic operators
Know how to write loop.
Week 9(Mar 17, 19, 20)
Quiz Mar 19

Arrays
Arrays - Notes

Chapter 7

Quiz on Mar 19

Midterm Topics

Sample Questions (more will follow)
Fall 2006 Exam
Spring 2007 Exam
Fall 2007 Exam

Assignment 5

Assignment 4 due Oct 24.

Week 10
Mar 24, No Classes
(Mar 26 Mon Schedule 8am, 27)
Misc Topics,
Midterm Review,
Midterm
March 31 Midterm
 



Week 11
(Mar 31, Apr 2, 3)
March 31 Midterm

 

Character Strings - notes

String Class Functions - Online

Chapter 8



Week 12 (Apr 7 Class Cancelled, 9, 10)

Sorting & Searching - notes


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

Assignment 6
Week 13 (Apr 14, 16, 17)
Introduction to simple classes Chapter 10, Handout
Assignment 7
 Week 14 (Apr 28, 30, May 1)

Last Terms's exam

Another years's exam

Another term's exam

Base Numbers, BinHex - Binary

Misc Topic, Exam Review

 
 Week 15 (May 5, 7, 8)

 

Second Exam (May 5th)
More on Classes

Handout
Final Review

Week 16 (May 12, 14)
Review and such


Final May 22nd
1127 Ingersoll 1pm-3pm



Return