Dynamic Object-Oriented Programming with Smalltalk (ST - HS09)

Vectorized Smalltalk Balloon

Course:W7088 (Fall Semester 2009)
Professor:Prof. Dr. Oscar Nierstrasz
Assistants:David Roethlisberger, Fabrizio Perin, Timur Altun
Lectures:Wednesdays, 10h15-12h00
Exercises:Wednesdays, 12h00-13h00
Place:Engehaldenstrasse 8, 001
Start:Sept. 16, 2009
Repetition:none planned. see instead: SDE: Software Design and Evolution


Smalltalk is still today one of the few fully reflective, fully dynamic, object-oriented development environments. In this course we will explore how a simple, uniform object model enables live, dynamic, interactive software development.

Smalltalk is a powerful and flexible language that allows for rapid prototyping as well as full-fledged application building. Smalltalk influenced heavily the definition of object-oriented languages like Java (garbage collector, single inheritance, everything is a pointer, virtual machine technology). Moreover, Smalltalk is more than a language, it provides a big library of reusable classes, a full programming environment (browsers, debuggers) and a platform independent run-time system.

PBE cover


The text for this course will be the open-source book Pharo by Example. Softcover copies of a special preview edition of this book will be available for sale during the introductory lecture at a reduced price of 30 Fr. (Instead of 25 Euros.)


223-Sep-09Smalltalk Basics
330-Sep-09Standard Classes
407-Oct-09Smalltalk Coding Idioms
514-Oct-09Seaside, Canvas and Brush Reference, Callback Reference
728-Oct-09Best Practice Patterns
804-Nov-09Refactoring and Design Patterns
911-Nov-09Understanding Classes and Metaclasses
1125-Nov-09Working with ByteCode
1202-Dec-09Virtual Machines
1309-Dec-09Traits and research demos (Phexample, Helvetia, Hermion)
1416-Dec-09Final Exam


1 16-Sep-09 Introduction to Pharo (Exercise remarks) Solutions
2 23-Sep-09 Objects and Expressions Solutions
3 30-Sep-09 Simple Counter Solutions
4 07-Oct-09 LAN Simulation Solutions
5 14-Oct-09 Seaside (Part 1), Code Template Solutions
6 21-Oct-09 Seaside (Part 2) Solutions
7 28-Oct-09 Seaside (Part 3) Solutions
8 04-Nov-09 Best Practice Patterns and Refactoring Solutions
9 11-Nov-09 CodeScope 1 Solutions
10 18-Nov-09 CodeScope 2 Solutions
11 25-Nov-09 ByteCode Solutions
11 02-Dec-09 VM and Repetition Solutions


Feedback questionnaire (to be handed in at the end of the course, 09-Dec or 16-Dec)


You can register on ePub for the exam until 15-Dec-09.

Last changed by admin on 21 April 2009