This page is for students enrolled in the Spring 2005 C++ Programming Language Raytheon in-house course.
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.
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.
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.
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.
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.
![]()
We'll generally follow the following outline, though we may diverge from it or even omit certain topics altogether.
![]()
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.
![]()
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 |
![]()
Last Revised: 21 May 2005
Copyright
|
You are visitor number |
Best viewed at 1024x768 16 bit color!
I'm not responsible for your poor resolution!
Pump it up!