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. Attending Quaware.com’s “Introduction to C++”
course is recommended for those wishing to learn C++ from the ground
up.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.
Prerequisite:
”Introduction to C++” sister course or prior
programming knowledge, ideally in C or Java, and exposure to some object
programming would be helpful.
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.
For more info: Email to i3ejeffg_AT_qualware.com
replacing _AT_ with “@”, or call Jeff at 781-229-1530 ext 2.
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.