Topic: UCLA short course on "Multiparadigm Programming and Design in Standard C++
Author: bgoodin@unex.ucla.edu
Date: 1998/10/05 Raw View
On December 1-4, 1998, UCLA Extension will present the short course,
"Multiparadigm Programming and Design in Standard C++", on the
UCLA campus in Los Angeles.
The instructor is Stanley Lippman, MS, consultant specializing in C++
and object-oriented programming and design.
As part of the course materials, each participant receives a copy of
the text, "A C++ Primer, 3rd Edition (Addison-Wesley, 1997) by S.
Lippman.
With the recent international standardization, C++ is now a stable and
mature programming language, although different from pre-Standard C++
in many ways. Standard C++ has added new features to the language,
such as exception handling, run-time type identification, and
namespaces. In addition, it has extensively modified and extended
existing features, such as templates. More significantly, an extensive
library is now part of Standard C++, including the Standard Template
Library (STL). A new string type, a set of sequence and associative
container types (such as vector, list, map, and set) and an extensible
collection of generic algorithms to operate on those types, are all
features of this new standard library. Using Standard C++ effectively
and efficiently, therefore, requires more than simply learning a new
set of syntax and semantics.
This course is organized around a series of extended examples that are
used both to introduce the details of various programming paradigms
and to motivate them. By understanding these paradigms in the context
of a full example, participants see why such features are useful, and
acquire a sense of when and how to use them for real-world problem
solving.
The following paradigms are examined:
1. Generic programming, in which a collection of independent
generic algorithms, such as sort() and find(), operate on a nearly
unlimited variety of container types, such as list, maps, and vectors,
through the support of templates and an iterator pointer class
abstraction.
2. Object-based programming, in which the class facility is used
to create independent abstract data types, such as a string or a
matrix.
3. Object-oriented programming, in which parent/child
relationships (spoken of as type/subtype relationships) are defined
between classes that share common behavior.
This course focuses on the effective application of Standard C++ in a
production environment and uses five general steps:
1. Review the core C++ language.
2. Introduce the new and extended language features of Standard
C++
3. Illustrate appropriate and inappropriate application of
generic, object-based, and object-oriented programming.
4. Look at the work of the design pattern community, walking
through the implementation of a number of generally valuable design
patterns and C++ idioms.
5. Conclude with an "efficiency workshop" that goes through a
number of small, correctly executing programs and iteratively modifies
them to improve performance. From these specific modifications,
participants extract a set of general principles for improving the
performance of C++ programs.
The course fee is $1295, which includes the text and extensive course
notes. These course materials are for participants only, and are not
for sale.
For additional information and a complete course description, please
contact Marcus Hennessy at:
(310) 825-1047
(310) 206-2815 fax
mhenness@unex.ucla.edu
http://www.unex.ucla.edu/shortcourses/
This course may also be presented on-site at company locations.
[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html ]
Author: bgoodin@unex.ucla.edu
Date: 1998/09/09 Raw View
On December 1-4, 1998, UCLA Extension will present the short course,
"Multiparadigm Programming and Design in Standard C++", on the
UCLA campus in Los Angeles.
The instructor is Stanley Lippman, MS, consultant specializing in C++
and object-oriented programming and design.
As part of the course materials, each participant receives a copy of
the text, "A C++ Primer, 3rd Edition (Addison-Wesley, 1997) by S.
Lippman.
With the recent international standardization, C++ is now a stable and
mature programming language, although different from pre-Standard C++
in many ways. Standard C++ has added new features to the language,
such as exception handling, run-time type identification, and
namespaces. In addition, it has extensively modified and extended
existing features, such as templates. More significantly, an extensive
library is now part of Standard C++, including the Standard Template
Library (STL). A new string type, a set of sequence and associative
container types (such as vector, list, map, and set) and an extensible
collection of generic algorithms to operate on those types, are all
features of this new standard library. Using Standard C++ effectively
and efficiently, therefore, requires more than simply learning a new
set of syntax and semantics.
This course is organized around a series of extended examples that are
used both to introduce the details of various programming paradigms
and to motivate them. By understanding these paradigms in the context
of a full example, participants see why such features are useful, and
acquire a sense of when and how to use them for real-world problem
solving.
The following paradigms are examined:
1. Generic programming, in which a collection of independent
generic algorithms, such as sort() and find(), operate on a nearly
unlimited variety of container types, such as list, maps, and vectors,
through the support of templates and an iterator pointer class
abstraction.
2. Object-based programming, in which the class facility is used
to create independent abstract data types, such as a string or a
matrix.
3. Object-oriented programming, in which parent/child
relationships (spoken of as type/subtype relationships) are defined
between classes that share common behavior.
This course focuses on the effective application of Standard C++ in a
production environment and uses five general steps:
1. Review the core C++ language.
2. Introduce the new and extended language features of Standard
C++
3. Illustrate appropriate and inappropriate application of
generic, object-based, and object-oriented programming.
4. Look at the work of the design pattern community, walking
through the implementation of a number of generally valuable design
patterns and C++ idioms.
5. Conclude with an "efficiency workshop" that goes through a
number of small, correctly executing programs and iteratively modifies
them to improve performance. From these specific modifications,
participants extract a set of general principles for improving the
performance of C++ programs.
The course fee is $1295, which includes the text and extensive course
notes. These course materials are for participants only, and are not
for sale.
For additional information and a complete course description, please
contact Marcus Hennessy at:
(310) 825-1047
(310) 206-2815 fax
mhenness@unex.ucla.edu
http://www.unex.ucla.edu/shortcourses/
This course may also be presented on-site at company locations.
[ comp.std.c++ is moderated. To submit articles, try just posting with ]
[ your news-reader. If that fails, use mailto:std-c++@ncar.ucar.edu ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://reality.sgi.com/austern_mti/std-c++/faq.html ]