[comp.lang.smalltalk] Short Course Announcement

chucko@saturn.ucsc.edu (Chuck Stein) (06/11/88)

                The University of California
                     Eighteenth Annual
               INSTITUTE IN COMPUTER SCIENCE
                    presents courses in:

   * Scientific Visualization    * Fault Tolerant Computing
   * Parallel Computation        * Image Engineering
   * Data Compression            * Machine Learning

                             at
                   Techmart, Santa Clara
                            and
                  on campus in Santa Cruz

Following is a course description for:
-------------------------------------------------------------------------

              Object Oriented Programming - Smalltalk
                          August 1-5

Instructors:  DAVID A. THOMAS & WILF R. LALONDE, Ph.D.
X491 Computer & Information Sciences (3)

This course is designed for the software professional who is concerned 
with the design and implementation of medium- to large-sized software 
systems.  It is aimed at software engineers and system designers  who 
have a working knowledge of at least one higher-level language such as 
C or Pascal.  Participants will learn the principles of object oriented 
programming, gain hands-on experience in the seminar's laboratory 
sessions, and see how these techniques can be used to lower software 
development times on current and future projects.

Overview
Object oriented programming is the most important innovation since 
structured programming.  It introduces the key notions of inheritance 
for co-chairing, polymorphism for extensibility, classification for 
program organization, and hierarchical libraries for reusability.
This course will introduce the concepts of object oriented 
programming and object oriented design.  Smalltalk is used as the 
vehicle for making the process concrete.  The course includes topics on 
environments and tools, programming design, smalltalk, graphical user 
interfaces and software engineering.  The current major object oriented 
languages, applications and systems are discussed.  The co-
instructors utilize a combination of lectures and hands-on exercises.  
Case studies illustrate design of  object oriented programs.

Monday  
Introduction to Object Oriented Programming
Overview (9:00 -10:15)
   Definition of object oriented programming (OOP)
   Classes, methods, objects and inheritance
   How OOP differs from traditional methods
   Why OOP reduces life cycle costs
   Understanding smalltalk as the key to understanding OOP
   Object Oriented Design vs. OOP
   Living in a large class library--the need for a programming 
     environment
   Applications of OOP
Fundamental Smalltalk Concepts (10:30-12:00)
   Objects & message passing; what is an object; message types; 
     control structures; advanced control forms
   Classes and instances;  OOP in the Small; instance and class
     protocols; classes are objects too!
   Protocol and implementation descriptions
   Subclassing and the class hierarchy; inheritance of representation
     and methods
   Specialization, generalization and inheritance; differential
      programming; extending the class library
   Abstract classes; multiple inheritance
The Smalltalk Programming System (1:30-3:00)
   Interacting with the Smalltalk programming environment
   Workspaces, editing, and browsing
   Interrogating instances with inspectors
   Testing and debugging with notifiers and debuggers
   Adding new methods and classes
Hands-On Session Using Smalltalk (3:15-4:30)

Tuesday
Living In A Large Class Library
Smalltalk Class Library I (9:00-10:15)
   Overview of the Smalltalk class library; numeric; collection and
     graphics classes
   The numeric classes; operator priority; type conversion; sequencing
   Magnitudes; characters, random, dates and times
   The collection hierarchy
   A logical view of the collection classes
Smalltalk Class Library (10:30-12:00)
   Creating, converting and sequencing over collections
   Ordered collections
   Dictionaries
   Arrays and strings
   Streams; logical view; read and write streams
Hands-On Sessions Using The Class Library (1:15-3:00)
A Survey of Object Oriented Programming Systems (3:15-4:30)
   Features of an OOP and OOP environment
   Languages (Smalltalk, Lisp, Actor, Object Pascal, Objective-C, C++,
     Effiel, Oberon, Trellis/Owl)
   Compilation vs. interpretation
   Databases and hypertext
   User interfaces
   Intelligent assistants
   Visual programming

Wednesday
Design of Object Oriented Programs
Object Oriented Program Design (9:00-10:15)
   Discovering the objects
   Using inheritance
   Parts vs. inheritance
   Inheritance of representation vs. operations
   Subtypes vs. subclasses
   Exemplars and delegation
   Abstract classes
   Reusability
Object Oriented Design (10:30-12:00)
   Case Study I
   Design and Prototyping of a Business Application
Object Oriented Design (1:30-3:00)
   Case Study II
   Design and Prototyping of an Engineering Application
User Interface Classes I (3:15-4:30)
   Overview of the user interface classes
   Smalltalk raster graphics
   The smalltalk model view controller metaphor
   Event processing
   The organization of the Smalltalk window system

Thursday
User Interface Programming
User Interface Classes II (9:00-10:15)
   The event handling protocols
   The window class hierarchy
   Anatomy of a window application
   Dependency management
Hands-On Use of the Interface Classes (10:30-12:00)
Designing Windows Applications (1:30-3:00)
   Text vs. graphics windows
   Parts vs subclasses
   Coordinating multiple views
   Organization of complex applications
Case Study III (3:15-4:30)
Design and Prototyping of a Graphical Interface

Friday
Object Oriented Software Engineering
Case Study III continued (9:00-10:15)
Design & Implementation of Embedded Systems (10:30-12:00)
   Active and passive objects]
   Multitasking/multiprocessing
   Applications:  A VME bus radar ESM testbed
                        A distributed simulator/trainer
Managing Object Oriented Programming (1:30-3:00)
   Organizing the programming team
   Applications programmers vs. class programmers
   Tools for design, development and debugging
   Configuration management
   Common problems
   Guidelines for OOP

Instructors:  DAVID A. THOMAS,  Director, Object-Oriented Research 
Group, Carleton University.

WILF R. LALONDE, Ph.D., Professor of Computer Science, Carleton 
University.

Fee:  Credit, $975 (EDP J2479)

Dates:  Five Days, Mon.-Fri., Aug. l-5, 9:00 a.m.-5:00 p.m

Place:  Techmart, 5201 Great America Pkwy., Santa Clara
  
-----------------------------------------------------------------------

RESERVATIONS:
Enrollment in these courses is limited.  If you wish to attend a course 
and have not pre-registered, please call (408) 429-4535 to insure that 
space is still available and to reserve a place.

DISCOUNTS:
Corporate, faculty, IEEE member, and graduate student discounts and
fellowships are available.  Please call Karin Poklen at (408) 429-4535
for more information.

COORDINATOR:
Ronald L. Smith, Institute in Computer Science, (408) 429-2386.

FOR FURTHER INFORMATION:
Please write Institute in Computer Science, University of California 
Extension, Santa Cruz, CA 95064, or phone Karin Poklen at (408) 429-
4535.  You may also enroll by phone by calling (408) 429-4535.  A
packet of information on transportation and accommodations will be sent
to you upon receipt of your enrollment.