The IEEE Boston Section Techsite

The On-line Boston Section IEEE Information Source

         

Course:  

C++ Classes and Templates

Lecturer:

Jeffrey Goldberg, Qualware Instructional Services

Date:

Wednesdays , 6:15 PM - 9:15 PM, Nov. 12, 19, Dec. 3 & 10

Location:

Holiday Inn Select Hotel, 15 Middlesex Canal Park Rd., Woburn, MA

Provided Text:

Object-Oriented Programming in C++ (4th Edition) by Robert Lafore, Publisher: Sams; 4 edition (December 19, 2001) Retail Price: $54.99

Prerequisite:  Introduction to C or C++ course or prior programming knowledge, ideally in C or Java. Knowledge of if-then-else and C language looping constructs expected and exposure to some object programming concepts would be helpful.

Class Description:

By the use of lectures and demonstrations, this mini  course will introduce you to what still remains as one of hottest languages around, the C++ programming language.  Unlike C, this is a modern-featured, strongly-typed, object-oriented, events-driven, error-handling, language, that remains platform independent and capable of running efficiently in many diverse environments, thus directly challenging other languages, such as Java, in the marketplace.

Attendees will then learn the syntax and use of the C++ programming language, how to design and use data structures, classes, objects, overloaded operators and functions, inheritance, polymorphism and templates. The course introduces  the modern day concepts of object oriented, event driven programming in an easy to understand way, comparing constructs in C++ with other programming languages when beneficial. Whenever possible, the instructor will illustrate the practical benefits and gotcha’s of using C++ for coding projects. Optional homework programming assignments will be available to those wishing to further their understanding by practice.

Targeted for:

Those programmers with some understanding of C, C++ or Java and Object Oriented Programming exposure wishing to enhance their level of understanding.  Sign up with one of Qualware.com prep courses if you wish to take the class but do not meet the prerequisites. Although the class will proceed at a fast pace, individuals who keep up with the reading assignments, or have some programming experience, will have no problem keeping up with the class.

The material in this course is appropriate for individuals wishing to learn how to write command line and console C++ applications. Although this course does not go into writing  windows applications, the fundamental concepts covered in this course should make transitioning to a windows base application relatively straight forward.  The class is structured to be as interactive as possible by making use of live demonstrations that review and emphasize the concepts taught in the class and optional homework projects.

PRELIMINARY DETAILED AGENDA:

Class 1 - Procedures and an Introduction to Classes and Objects

Logical operators, terminating loops early.  Procedures and functions, passing arguments to procedures and returning back values.
Numeric string conversions with atoi, atof, etc, scope and lifetime of variables and procedures, command line arguments.
Scope resolution operator, function prototypes, overloaded functions, scope visibility, structures, classes, membered functions.
Declaring and using the strings, string functions, length.

Class 2 - Object-Oriented Programming and Inheritance

Review C Classes, class member visibility, constructors, destructors;
Properties and methods, inheritance, extending classes, overloaded constructors and methods;
Passing Objects by value, by using references and pointers, static methods (functions), static data member, introduction to derived classes.

Class 3- Virtual, Abstract, Streams, Files, I/O and Dynamic Memory Allocation

Derived classes, references to base and derived class objects.
Constructors in base and derived classes, more on scope resolution operator. Virtual functions, Overriding functions, pure virtual (abstract) functions.
Streams and Input/Output, file operations, formatting. 
Talk about security and protection model, dangers of pointers.
Dynamic memory allocation, new and delete operator, linked lists.

Class 4- Advanced Topics, Requests and Wrap-up

Review of base and derived classes, virtual functions and object casting.  Brief talk about friend classes and functions.
Event Handling and Exception Processing, including try and catch.
Using Templates, and time permitting, examples of using the Standard Template Library.

Handouts:  Copies of the course outline slides will be provided along with relevant handouts when appropriate.

Lecturer’s biography:

An honor graduate of Tufts University, Jeffrey M. Goldberg has served the engineering and academic community in various roles from principle design engineer / project leader to senior consultant and educator at companies such as Hewlett Packard, Siemens, Picturetel, 3Com, IBM, NMS, and EMC. Mr. Goldberg is a long-time innovative user of UNIX and networked services. He currently provides IT solution consulting and delivers public seminars and on-site professional training classes, flexibly scheduled to avoid project disruption, in cutting-edge technologies and programming languages. Specialties include Perl and Shell Scripting, Linux/Solaris/UNIX System Administration, TCP/IP Networking, Web Technologies such as Visual Basic, Delphi, JavaScript, PHP Apache, C/C++, Java/JSP and SQL Database Access, Computer and Network Security. For more information, please visit http://www.qualware.com/training or contact Jeff Goldberg at 781-229-1530 x2.

copywrite 2008 Qualware Instructional Services and Jeff Goldberg.

Decision (Run/Cancel) Date for  this Courses is Friday, October 31, 2008

Course Fee Schedule:

REGISTRATION RECEIVED BY
Oct. 28, 2008

REGISTRATION RECEIVED AFTER
Oct. 28, 2008

IEEE MEMBERS $450

IEEE MEMBERS $480

NON-MEMBERS $480

NON-MEMBERS $515

On-line Registration and Payment

This course has been cancelled.  If you have any questions or concerns, please contact the IEEE office at 781-245-5405.

Copyright © 2009 IEEE Boston Section. All rights reserved.
Maintained by R M Stelting

Updated Thursday June 11, 2009