C++

This page is for students enrolled in the Spring 2005 C++ Programming Language Raytheon in-house course.

 Course Info

 Course Outline

 Links 

 Instructor 

 Prerequisites

 C++ Programming Terminology

 Homework


We'll add a session on June 23rd to make up for the session missed on 11 May.

Goals:

To learn the C++ Programming Language.

Class Schedule:

Eight two-hour meetings, Thursdays at 5:30 P.M. starting 28 April 2005. Building B1, Room S827. (Computer training room on North side of the building). Each hour attended counts towards training time. Roll is taken (via a sign-in sheet) at every class, and your attendance is recorded in the training database.

Accelerated C++

Text:

Accelerated C++, Practical Programming by Example, Koenig and Moo, Addison-Wesley, Paperback, 1st edition, Published 2000, 336 pages, ISBN 0-201-70353-X.

A CD will also be available with various presentations, white papers, etc. You should also expect to use the Web, see the links section below.

There are countless books on the C++ Programming Language, available at any bookstore with a computer section. The class text is by Andrew Koenig, an associate and former fellow employee of Bjarne Stoustrop, the inventor of the C++ programming language.

Instructor:

Robert G. (Bob) Hayes, Senior Principal Software Engineer, Raytheon Vision Systems. Bob has been designing software systems at Hughes Aircraft/Raytheon for 30 years. He holds a BSE in Electrical Engineering and an MS in Computer Science.

Prerequisites:

Familiarity with a programming language: this should not be your first programming class. A general understanding of object orientation is helpful, though we will start the course with an overview of OO.

Other:

The only way to really learn/understand a programming language is to write code. Expect to do exercises in class and on your own. There will be a C++ compiler installed at each computer workstation in the training room. Each workstation must be shared between two students - working together on exercises in class is allowed and expected. A free Borland C/C++ command line compiler is available for home use - see links below. RVS is site-licensed for Microsoft Visual Studio - which includes a C/C++ compiler. Other Goleta sites may have a different licensing arrangement.

Links:

Here are some useful links. There is an immense amount of useful information on C++ available on the web.

http://www.acceleratedcpp.com/ Home page for the text, includes source code.

http://www.parashift.com/c++-faq-lite/ Frequently asked questions about C++.

http://www.cplusplus.com/doc/tutorial/ A C++ tutorial.

http://www.borland.com/bcppbuilder/freecompiler  What it sounds like.

http://www.bloodshed.net/devcpp.html Another free C++ compiler / IDE

http://www.gnu.org/software/gcc/gcc.html The GNU C++ page (free compiler)

http://www.research.att.com/~bs/C++.html All about C++ from the guy who invented it.

http://www.cppreference.com/ C/C++ reference.

http://cplus.about.com/od/beginnerctutorial/l/blcplustut.htm Another C++ tutorial.

http://www.cetus-links.org/oo_c_plus_plus.html Cetus C++ links.

http://www.cetus-links.org/oo_visual_c_plus_plus.html Cetus Visual C++ links.

http://www.cetus-links.org/ Cetus. 18,000+ links on all things OO.

 

Back to top

  

Course Outline:

We'll generally follow the following outline, though we may diverge from it or even omit certain topics altogether.

 

Back to top

 

Homework:

For class 26 May:

Read through chapter 6. Try do do many, if not all, of the problems at the end of the chapters in the class text. You'll only learn by writing code! You'll benefit from the lecture most by having read ahead of the material we're covering.

Back to top

 

C++ Programming Terminology

See how many of these you can define.

Scope

Visibility

Extent

Structure

Expression

Union

Data type

Typedef

Block

Block structured language

Object oriented language

Long

Short

Float

Double

Unsigned

Type conversion

Function

Macro

Preprocessor

Heap

Stack

Operator

Unary operator

Binary operator

Pragma

Static

Automatic

Char

Map

Handle

Standard library

Module

Translation unit

Parameter

Golden rule of parameterization

Pass by value

Pass by reference

Pointer

Void

Postfix operator

Prefix operator

Cast

Type conversion

Return value

Lexical scope

Block scope

Using

Format descriptor

Explicit

Member function

Class

Friend

Virtual

Protected

Syntax

Semantics

Initializer

Lexical element

Continue

Switch

Break

Goto

Statement label

Constant

Separator

Statement

Lvalue

Precedence

Conditional expression

Assignment

Order of evaluation

Formal parameter

Main()

Inline function

Iterator

string

Array

Zero-based

Enumeration type

Signal

Vector

Dynamic binding

Byte ordering

Pointer

Binding

Packing

Literals

Names

Subscript

Component selection

Reference

Dereference

Bitwise negation

Equality operator

Compound assignment

Template

Prototype

Header file

Storage class specifier

Implicit declaration

Side effect

Comment

Character repertoire

Identifier

Keyword

ASCII

Constructor

Whitespace

Namespace

Generic

STL

Static parametric polymorphism

Overloaded

Exception

Private

This

Throw

Try

Indirect addressing

Module scope

External function

External variable

Global

Recursion

Range

Stream

Element

ANSI/ISO

Floating point

Polymorphism

Inheritance

 

Back to top

Last Revised: 21 May 2005
Copyright
Ó 2005 Robert G. Hayes.
e-mail the webmaster: r*g*hayes@earthlink.net (remove the *'s)

   

You are visitor number

 

Best viewed at 1024x768 16 bit color!
I'm not responsible for your poor resolution!
Pump it up!