Topic: ACM Seminars (C++) - Excruciating Details (long)
Author: ndqajds@atscv1.atsc.allied.com (John Sheckler, ATSC, 301/805-3258)
Date: 17 Mar 1994 08:16 EST Raw View
Washington DC Chapter of the Association for Computing Machinery
PROFESSIONAL DEVELOPMENT SEMINARS FOR SPRING 1994
The Professional Development Committee presents technical
and management seminars for computer professionals and managers. This
Spring, the Committee will offer 10 one-day Professional Development
Seminars the week of March 28 - April 1 on topics of current interest.
Additionally, on Monday, April 4, 1994, the Professional Development
Committee will host our 12th International Speaker Bill Curtis, presenting
a seminar on "Using Software Measures to Manage Software Development."
If you have questions about our seminars that are not answered in
this announcement, please call our answering machine at (202) 462-1215
and we will respond. Detailed descriptions of each seminar follow the
registration page.
============================Seminar Registration=============================
Day Date Seminar Title
----------------------------------------------------------------------------
-
1 ____ Mon March 28 Object Oriented Prog. in C++ for C Programmers
2 ____ Mon March 28 Analysis, Design and Verification of Software Change
3 ____ Tue March 29 Advanced C++ and Object Oriented Programming
4 ____ Tue March 29 A New Basis for Trusted Distributed Computing
5 ____ Wed March 30 Object Oriented Analysis and Design
6 ____ Wed March 30 Design of Concurrent Software
7 ____ Thu March 31 Software Design for Distributed Applications
8 ____ Thu March 31 An Intro. to New Stat. Testing Methodology Objectives
9 ____ Fri April 1 Capacity Planning: Mainframes to Client-Servers
10____ Fri April 1 Hybrid AI Computing
Internationally Known - Dr. Bill Curtis Seminar
____ Monday April 4 Using Software Measures to Manage SW Development
FEES: _______ SEMINARS at $ __________ each = $
Name:__________________________________________________________________
Employer/School:_______________________________________________________
Address (for acknowledgement):_________________________________________
City_____________________________ State ___ Zip Code __________________
Phone: _____________________________
Credit Card No.__________________________________ Expires:_____________
Signature______________________________________________
REGISTRATION By March 16 After March 16
Walk-in Purchase Orders
Category Cash, Check Cash, Check Training Requests
Check One Credit Card Credit Card
----------------------------------------------------------------------------
-
W ___ Wash. DC Chapter Member $170 $205 $230
N ___ Non-Member $175 $205 $230
S ___ Full-Time Student $ 80 $110 $230
C ___ Sr. Citizen (age 60 or over) $ 80 $110 $230
Please use the form on the above page (or a copy) to register for one or
more seminars. Attendance at each course will be limited to the capacity of
the room being used (check with the ACM/PDS answering machine, (202)462-1215,
for availability). Both registration and payment must be received by
March 16, 1994, to qualify for the advance registration rate. Purchase orders
and training requests are billed after the seminars and are not eligible for
the lower rates. Registrations are processed in the order received, and
acknowledged by mail. Make checks payable to "ACM PD." If payment is by credit
card (Visa, MasterCard, or Diners), registration can be completed by telephone
by calling Mrs. Nora Taylor at (301)229-2588.
NOTE: The Washington D.C. Chapter of ACM reserves the right to cancel a
seminar with insufficient registration. Cancellation in writing by a
registrant must be received ten (10) days before the seminar in order to
qualify for a refund. Registrants for a cancelled seminar will be notified by
telephone and mail, and their fee will be refunded. Substitutes for those
unable to attend are encouraged. Mail registration forms and payment to:
ACM PD
c/o Mrs. Nora Taylor
5216 Westpath Way
Bethesda, MD 20816
=======================================================================
12th International Speaker
Dr. Bill Curtis
"Using Software Measures to Manage Software Development"
Date: Monday, April 4, 1994
Objective: The purpose of this course is to help participants learn how
to:
--rigorously define useful software measures that avoid
many of the common pitfalls of software measurement,
--use these measures in managing projects and delivering
higher quality software,
--characterize the performance trends of a software
organization
--design and grow a measurement program based on the
current state of an organization's maturity.
The course will include examples drawn from the experiences
of organizations such as IBM, TRW, Hewlett-Packard, ITT and NASA.
It will also discuss some of the recent advances in software measurement.
The necessary statistical and measurement theory will be taught in
the context of learning how to analyze and interpret practical software
measurements. The course is designed for those with experience in
software development. It will be taught as an intermediate course,
but no statistical or measurement theory background is assumed.
Outline:
--Measurement as a tool for managing software development
--Defining basic measures (size, effort, defects, etc.)
--Defining functional measures (function points, etc.)
--Defining derived measures (productivity, etc.)
--Measuring software attributes (complexity, etc.)
--Using measures in software management (estimating, etc.)
--Using measures at the organizational level (trends, ROI, etc.)
--Developing a measurement program
Dr. Bill Curtis
Biography: Dr. Curtis is a former Director of the Software
Process Program in the Software Engineering Institute at Carnegie
Mellon University. He continues to work part-time with the SEI on
developing a human resource maturity model, is a founding faculty
member of the Software Quality Institute at the University of Texas.
He is a co-founder, Vice President and Chief Scientist of TeraQuest
Metrics, where he works with organizations to increase their software
development capability. Prior to joining SEI, Dr. Curtis directed
research in the Software Technology Program and Human Interface Laboratory
at MCC, in ITT's Programming Technology Center, and in GE's Space
Division. He also taught behavioral statistics at the University of
Washington. Dr. Curtis has 16 years of experience in measuring software
development. He has over 100 publications on software engineering,
measurement, and management, and he is on the editorial boards of
5 technical journals in the software area. He is a co-author, with
Mark Paulk and Charles Weber, of the forthcoming Addison-Wesley book,
The Capability Maturity Model for Software: Guidelines for Improving
the Software Process.
Text:
A copy of the speaker's foils.
=============================================================
Object Oriented Programming in C++ For C Programmers
Date: Monday, March 28, 1994
Objective: This course provides an application level introduction to
object oriented programming and the C++ programming language. Intended
for experienced programmers, the object oriented aspects of C++ are
emphasized with the majority of class time spent on class organization
and design. As the various aspects of object oriented programming
and design are introduced, the appropriate supporting C++ mechanisms
are presented. Intended audience: experienced C programmers or experienced
programmers who have attended an earlier course on the C programming
language. Familiarity with C will be assumed.
Outline:
--Introduction to C++ and Object Oriented Programming
--Highlights Of The C++ Language
--C++ and Object Oriented Programming
----Classes
----Inheritance and Polymorphism
----Dynamic Storage Management
--C++ Classes and Class Construction
----Structures and Members
----Constructors, Destructors, Initializers
----Operators and operator overloading
----Static and Dynamic Binding
--Advanced C++ Class Issues
----Single and Multiple Inheritance
----Abstract and base classes
----Virtual Functions, Polymorphism
--Templates and Container Classes
--Reality vs. Theory - Practicality Concerns
--A Detailed Example
Speaker: Dr. John H. Carson
See biography in Tuesday's course
Text: A copy of the speaker's foils.
=============================================================
Analysis, Design, and Verification of Software Change
Date: Monday, March 28, 1994
Objective: Participants in this seminar study the engineering process
for analyzing an existing software application and enhancing it to
satisfy a request for functional change. They step through procedures
for analyzing the change request and the existing software, designing
the change, testing the change, and revalidating the existing software,
and they trace examples from a real distributed application. They
examine the problem of making reliable changes based on partial analysis.
They study cognitive strategies of skilled analysts, software tools
of different types used at different stages, the infrastructure of
configuration control, and the application of process models and standards.
This seminar answers questions that are central to the effective management
of software, since more than half of all resources used on software,
and all of the value added to software during its lifetime, is in
enhancing applications to perform new tasks, or existing tasks in
a new way. It is designed for: analysts and programmers working on
installed applications; project and team leaders responsible for installed
applications; staff responsible for testing, documentation, help desk,
technology, productivity, or quality assurance; developers of software
engineering tools.
Outline:
--Context
--Overview of function, behavior and implementation
--Outline, trace and cover request
--Design the change
--Develop functional increment
--Insert the change
--Prove and ripple the system
--Analysis
Speaker: Nicholas Zvegintzov
Mr. Zvegintzov is a writer, teacher, and consultant specializing
in existing software. He is technical editor of Software Management
Technology Reference Guide and Editor-in-Chief of Software
Management News. He is co-author of the IEEE Tutorial on Software
Maintenance and a past General Chair of the Conference on Software
Maintenance. In 1992 he was cited by the IEEE Computer Society "for
his long-term advocacy for software maintenance, bridging research,
industry, and Computer Society communities".
Text: A copy of the speaker's foils.
=============================================================
Advanced C++ and Object Oriented Programming
Date: Tuesday. March 29, 1994
Objective: This course provides a second level examination of C++ and
its more interesting features. The attendee should come away with
an understanding of when to use C++'s advanced features as well as
how to use them. The emphasis is on class construction and the effective
use of inheritance, stressing examples related to each concept presented.
Intended audience: those already familiar with C++ but are not comfortable
with the more sophisticated features of the language.This is an
ideal course to follow Monday's Object Oriented Programming with
C++ for C Programmers.
Outline:
--Review of C++ and Object Oriented Programming
----Classes, Inheritance
----Virtual Functions, Polymorphism
----Templates
--Inheritance vs. Composition
--Multiple Inheritance
----Virtual Inheritance
----Tests for Correct Virtual Inheritance
----Alternatives to Multiple Inheritance
--Friends and Inheritance
--Iterators and Containers
--Envelopes and Letters
--Newer Features of C++
----Exceptions
----Run Time Type Identification
--Programs as Classes
Speaker: Dr. John H. Carson
Dr. Carson is a Professor and Director of the Information
Systems Technology Program in the Management Science Department of
the School of Business and Public Management of the George Washington
University. He has over 20 years experience in software development
and has been involved in the development of C based software since
1977. His employment experience includes work for the MITRE Corporation
and the Software Productivity Consortium. He is Senior Member of the
IEEE and a member of the ACM.
Text: C++ Strategies and Tacticsby Robert B. Murray, Addison
Wesley and a copy of the speaker's foils.
=============================================================
A New Basis for Trusted Distributed Computing
Date: Tuesday, March 29, 1994
Objective: This seminar presents a modern perspective on information
technology (IT) security. The focus will be on Trusted Distributed
Computing issues (i.e., access control policies and applications that
enforce security policies).This seminar extends traditional definitions
and assumptions, building on the concepts of Trusted Computing Base
subsets and separation kernels. This tutorial presents a contemporary
conceptual basis for composition of separately evaluated security
modules.
Outline:
--Access Control Concepts
----Mandatory, Discretionary, and Non-Discretionary Policies
and Mechanisms
----Traditional Discretionary and Mandatory Access Control
----A New Definition of Non-Discretionary Access Control
----Type Enforcement
----Authority, Global, and Persistent
----Groups and Roles
----Non-Discretionary Access Control Policy Examples
----Processes
--Object Management
----Object Managers
----Bedrock and Resources
----Relationships Between Object Managers
----Object Management and Access Control
----Object Management in Policy-Enforcing Applications
--Generalized Trusted Computing Base
----TCB Subsets Approach
----Relating TCB Subsets to the Anderson Report
----Separation Kernel
----ISO Access Control Framework
----Isolation & Communications
--Benefits
Speaker: Dr. Marshall D. Abrams
Dr. Abrams is a Principal Scientist in the Information Systems
Security Division of The MITRE Corporation. He was an author of the
Trusted Network Interpretation and is a member of the group working
on the Federal Criteria for Information Technology Security. His current
research focuses on extending computer security to multiple policies
and distributed architectures. Dr. Abrams has taught extensively on
computer security.
Text: A copy of the speaker's foils and reprints of selected papers.
=============================================================
Object-oriented Analysis And Design
Date: Wednesday, March 30, 1994
Objective: Object-oriented methods for requirements analysis, specification,
and design provide a natural way of structuring a model of the problem
definition and its solution based on concepts in the application domain.
Moreover, these methods lead to architectures which are more stable
and more easily understood than those based solely on function and
data flow. This seminar introduces the fundamental principles of
object-oriented approaches to system/software requirements analysis and
design, with emphasis on the Object Modeling Technique (OMT) proposed by
Rumbaugh, et al.
Outline:
--Basic Concepts of Object-Oriented Development
----Motivation for an Object-Oriented Approach
----Abstraction, Encapsulation, and Information Hiding
----Classes and Objects
----Inheritance, Aggregation, General Class Relationships
--The Object Model
----Object Diagrams: Representing Classes and Objects
----Links, Associations, and Multiplicity
--The Dynamic Model
----Scenarios and Event Traces
----Simple and Nested State Diagrams
--Analysis and Design Methodology
----Identifying Objects, Classes, and Associations
----Organization and Refining the Object Model
----Preparing Scenarios, Event Traces, and State Diagrams
----Specification Techniques for Class Methods
----System Design versus Object Design
----Problem Space Classes versus Solution Space Classes
----Evaluating an Object-Oriented Model
--Comparison of Alternative OOAD Methods
Speaker: Dr. John I. Moore, Jr.
Dr. Moore, President of SoftMoore Consulting, has a wide range
of computing experience, with specific expertise in the areas of
object-oriented technology and software engineering. For the last
eighteen years he has designed and implemented software, and he
has developed and taught numerous academic courses and industrial
seminars. Prior to founding SoftMoore, he served as Principal
Software Engineer and has taught part-time in the graduate computer
science program of Johns Hopkins University.
Text: A copy of the speaker's foils.
=============================================================
Design of Concurrent Software
Date: Wednesday, March 30, 1994
Objective: Concurrency is useful in a wide range of software systems,
such as windows applications, communications, and embedded real-time
control systems. Increasingly, modern languages and operating systems
support light-weight processes, sometimes referred to as tasks or
threads. However, the dynamic nature of the processes and the risk
of deadlock makes it more difficult to construct concurrent programs
than sequential ones.
Participants in this seminar will learn how to construct simple,
elegant and deadlock-free concurrent software. The seminar introduces
the Entity-Life Modeling design approach, which combines concurrency
with the important object-based software paradigm. It forces a certain
discipline on the design by reducing concurrency to that actually
justified by the problem. It is a widely applicable design principle
rather than a rigid step-wise method that might only work for a certain
class of problems.
The issues discussed have general application but will be
illustrated with Ada examples. For this reason, some familiarity with
the basic tasking syntax in Ada 83 is recommended. Important concurrent
features in Ada 9X are also introduced.
Outline:
--Structure of concurrent programs
--Simple concurrent applications
--Modeling software concurrency
--Tasks based on timing requirements
--Resource sharing and deadlock prevention
--Control systems with resource sharing
--Special considerations in windows applications
Speaker: Dr. Bo Sanden
Dr. Sanden is an Associate Professor at George Mason University
where he has played a major role in the development of the graduate
Software Engineering curriculum. His research interests include real-time
systems and concurrent object-oriented systems. He was part of the
pioneering Software Engineering program at the Wang Institute during
its initial stages. Before joining Academia, Dr. Sanden spent 15 years
in software industry as a developer and project manager. He has published
extensively on Jackson System Development and Entity-Life Modeling.
Text: Software Systems Construction with Examples in Ada, Bo Sanden,
Prentice-Hall 1994, and a copy of the speaker's foils.
=============================================================
Software Design For Distributed Applications
Date: Thursday, March 31, 1994
Objective: This seminar is specifically oriented toward the design of
distributed applications that execute in an environment consisting
of multiple geographically distributed nodes interconnected by means
of local or wide area networks. The seminar addresses the design of
distributed applications from the viewpoints of distribution of data
as well as control. Both distributed client/server systems and distributed
real-time systems are addressed, as well as applications that span
both application domains. Issues in designing message communication
interfaces and data distribution will be addressed. An object-oriented
design method for concurrent and distributed applications, CODARTS
(Concurrent Design Approach for Real-Time Systems), will be described
and illustrated by means of examples. Performance analysis of distributed
real-time designs based on the SEI's rate monotonic analysis approach
will also be addressed.
Outline:
--Distributed processing concepts
--Issues in designing distributed applications
--Structuring distributed applications into distributed subsystems
--Designing message communication interfaces
--Distributed subsystem design; design of server subsystems
--Configuring distributed applications
--Design of distributed client/server applications
--Design of distributed real-time applications
--Performance analysis of distributed real-time applications
Speaker: Dr. Hassan Gomaa
Dr. Gomaa is a Professor in the Department of Information
and Software Systems Engineering at George Mason University, Fairfax,
Virginia. He is the developer of the DARTS, ADARTS, and most recently
CODARTS software design methods for real-time systems. His book, Software
Design Methods for Concurrent and Real-Time Systems, was published
by Addison Wesley in 1993 as part of the Software Engineering Institute
Series on Software Engineering.
Text: A copy of the speaker's foils and Software Design Methods for
Concurrent and Real-Time Systems, Addison Wesley, 1993. ADARTSSM is the
registered servicemark of the Software Productivity Consortium Limited
Partnership.
=============================================================
An Introduction To New Statistical Testing Methodology Objectives
Date: Thursday, March 31, 1994
Objective: There are currently many testing methodologies. Each of these
has a strong philosophical foundation, but none of them have a strong
empirical basis. This course addresses the need for and the accuracy
of statistical testing as it is based on software measurement. It
will also create a foundation for predictive models of software quality.
With the need for predictive models, an understanding will be established
involving the relationship between software complexity and faults.
Dynamic program behavior will be examined along with some relevant
new ideas on the subject. This will lead the course into an examination
of the behavior of software exercising different functionalities.
Finally, some quantifiable software characteristics in controlling
the testing function will be employed.
Outline:
--A Taxonomic Overview of Testing
--Software Measurement
--Software Attribute Domain Models
--The Evolution of Software Systems
--Describing Dynamic Software Behavior
--Statistical Testing Methodology
Speaker: Dr. John C. Munson
Dr. Munson is a member of the faculty of the Department of
Computer Science at The University of West Florida, Pensacola, Florida.
He has been actively engaged in research and publication in the areas
of software reliability engineering, software complexity metrics,
software quality, and software maintenance. He is currently funded
by IBM FSC Houston, NASA, and NSF to do research on software reliability
modeling for the Space Shuttle on-board flight software system. He
is a member of the Steering Committees of the IEEE Conference on Software
Maintenance and the IEEE International Metrics Symposium. He is a
member of the Executive Committee of the IEEE Computer Society Technical
Committee on Software Engineering. He is a member of the Editorial
Board of the Software Quality Journal.
Text: A copy of the speakers foils.
=============================================================
Capacity Planning: From Mainframes To Client-Server Systems
Date: Friday, April 1, 1994
Objective: The main goal of this seminar is to show how to perform capacity
planning studies using performance prediction models. The basic concepts
of performance models will be introduced in a very intuitive manner.
The techniques presented will be applied to systems ranging from mainframe
to client-server architectures. Workload characterization and data
collection for performance models will be discussed. Finally, software
performance engineering techniques will be briefly discussed. Intended
audience: Capacity Planning Managers, DP Managers, Performance Analysts,
and System Support Analysts.
Outline:
--The Capacity Planning Problem: Introduction and Examples
----Basic Concepts
----Common Mistakes
--Capacity Planning Phases:
----Specification of Goals
----Workload Characterization
----Data Collection, Performance Prediction
----Analysis of Alternatives
--Performance Models of Computer Systems:
----Transaction Processing, Time-Sharing, Batch, Client-server
----Basic Concepts
----Multiple Class Models
----Parameters of Performance Models. .
--Simple Operational Laws of Computer Systems
--Data Collection Techniques for Performance Models
--Performance Prediction of Software Systems
--Discussion of Capacity Planning Case Studies
Speaker: Dr. Daniel A. Menasc
Dr. Menasc is a Professor in the Department of Computer
Science at George Mason University. His most recent book on Capacity
Planning was just published by Prentice Hall. Dr. Menasc has
been a consultant for many years for several large organizations on
performance and capacity planning matters.
Text: A copy of the speaker's foils and a copy of the author's book
Capacity Planning and Performance Evaluation: from mainframes
to client-server systems, Prentice Hall, 1994. The book comes with
a disk containing capacity planning software.
=============================================================
Hybrid AI Computing
Date: Friday, April 1, 1994
Objectives: This seminar is an entry path to hybrid AI systems comprised
of various combinations of expert systems, neural networks, fuzzy
logic, and genetic algorithms. Each of these technologies will be
introduced in detail, its role in hybrid systems applications will
be illustrated, and examples of its potential contribution to hybrid
systems will be explored. Participants will be familiar with each
paradigm, be cognizant of their hybrid forms, understand their benefits
and limitations, learn about commercially available products, and
be able to determine if and when to use the technology. Expert systems,
neural networks, fuzzy logic, and genetic algorithms are the paradigms
of choice for intelligent computing. The strategy for hybrid systems
is to use the strengths of one or more techniques to offset their
weaknesses or extend their applicabilities. Hybrid AI systems provide
significant potential for applications where non-linear techniques
can provide a competitive edge. This seminar will furnish an overview
of current applications and commercial products.
Outline:
--Definition of key issues in AI systems
--Introduction to expert systems and hybrid forms
--Introduction to neural networks and hybrid forms
--Introduction to fuzzy systems and hybrid forms
--Introduction to genetic algorithms and hybrid forms
--Overview of potential contributions in hybrid systems
and examples of current applications
--Summary of development issues and tradeoffs
--Conclusions
Speaker: Dr. Samuel J. Biondo
Dr. Biondo directs R & D activities in advanced power systems
at the U. S. Department of Energy. His research interests include
the applications of hybrid AI systems for decision support and engineering
systems. Dr. Biondo is author of an award winning textbook and numerous
technical publications on AI. He has taught undergraduate and graduate
courses in computer science and information systems and conducted
NTU seminars in expert systems, neural networks, and hybrid AI systems.
Dr. Biondo is a 1993-1994 IEEE Computer Society Distinguished Visitor,
senior member of IEEE, and member of Sigma Xi, AAAI, INNS, and ASEE.
Text: A copy of the speaker's foils.
========================================================================
GENERAL INFORMATION
Dates: Spring Seminar Series: Weekdays, March 28 - April 1 and
Monday April 4, 1994.
Time: 9:00 AM to 5:00 PM; Registration opens at 8:30 AM.
Place: University of Maryland, Center of Adult Education, College
Park, Maryland, at the intersection of University Boulevard (MD 193)
and Adelphi Road.
Lodging: Lodging is available at the University of Maryland, Center
of Adult Education. Please contact the Center directly, at (301)985-7303,
for information and reservations. Motels near the Center in College
Park include the Quality Inn, telephone number (301)864-5820, and
the Best Western Maryland Inn, telephone number (301)474-2800.
Registration: Register by mail using the Registration Form at the end
of this announcement. When payment is by credit card, telephone registration
is also accepted by calling Nora Taylor at (301)229-2588. Payment (cash,
check, credit card information, purchase order, or training request) must
accompany registration. Registrations are processed in the order in which
they are received. Confirmed registrants are notified by mail. Attendance
at each seminar is limited to the room capacity. Applicants for a filled
seminar will be notified by phone and by mail, and payments will be refunded.
A seminar may be canceled if insufficient registrations are received. Walk-in
registration will be provided at the door for any seminars that are not
filled. Call our answering machine, telephone number (202)462-1215, for
seminar availability.
NOTE: A written request for cancellation must be received ten days before
the seminar in order to qualify for a refund or to avoid billing for purchase
orders or training rrequests. Substitutes for those unable to attend are
encouraged.
Directions: By auto: From the beltway, coming from the NW (inner
loop), take Exit 28 South (New Hampshire Ave.), turn left at the second
light onto Adelphi Road; continue on Adelphi for about two miles,
turn left on University Blvd. and take the first right into the new
Adult Education parking garage.
>From the Beltway, coming from the NE (outer loop), take
Exit 25B South (US 1); then right on Route 193 (University Blvd.),
following signs toward the stadium. At Adelphi Road, make a U-turn
on University Blvd. and then take the first right into the new Adult
Education parking garage.
>From DC, take Queen's Chapel to an easy left onto Adelphi
at East-West Highway. Continue about one mile and make a right onto
University Blvd. and then take the first right into the new Adult
Education parking garage.
>By Metro: Take the Metro Red Line to the Brookland Station; transfer to
the R2 bus (20 minute intervals); exit at the stop at Adelphi Road and
Campus Drive.
Parking:
Registrants can park in the parking garage for $4.00 all day (coins and
dollar bills accepted).