Icon Course

2014HS: 21045 Software Design and Evolution

Real software systems continuously evolve over time. Statically‐typed programming languages, however, provide few mechanisms to enable software evolution. In this course we will explore mechanisms and techniques provided by dynamic programming languages, in particular Smalltalk, which facilitate both run‐time change, and long‐term evolution. We will also explore techniques used to analyze static models of software as well as running systems to support program comprehension, refactoring and reengineering. The course is based partly on two open‐source textbooks: Pharo by Example, and Object-Oriented Reengineering Patterns. Learning Outcomes After the successful completion of this course, you will: - Understand how to use meta-programming to design highly adaptive software systems - Be able to use state-of-the art static analysis to automatically uncover problems in software - Deploy dynamic analysis to examine and optimize existing source code - Be familiar with state-of-the-art technologies for reverse- and reengineering - Data-mine large repositories of software to build better programmer tools For details, visit: http://scg.unibe.ch/teaching/sde

Description

Real software systems continuously evolve over time. Statically‐typed programming languages, however, provide few mechanisms to enable software evolution. In this course we will explore mechanisms and techniques provided by dynamic programming languages, in particular Smalltalk, which facilitate both run‐time change, and long‐term evolution. We will also explore techniques used to analyze static models of software as well as running systems to support program comprehension, refactoring and reengineering. The course is based partly on two open‐source textbooks: Pharo by Example, and Object-Oriented Reengineering Patterns.

Learning Outcomes

After the successful completion of this course, you will:

- Understand how to use meta-programming to design highly adaptive software systems
- Be able to use state-of-the art static analysis to automatically uncover problems in software
- Deploy dynamic analysis to examine and optimize existing source code
- Be familiar with state-of-the-art technologies for reverse- and reengineering
- Data-mine large repositories of software to build better programmer tools

For details, visit: http://scg.unibe.ch/teaching/sde

General

Language
English
Copyright
This work has all rights reserved by the owner.

Contact

Responsibility
Dr. Andreas Humm, Universität Freiburg, Departement für Informatik
Telephone
+41 26 300 92 89

Availability

Access
Unlimited
Admittance
You can join this course directly.
Registration Period
Until 1. Oct 2014, 00:00

Visible Personal Data for Course Administrators

Data Types of the Personal Profile
Username
First Name
Last Name
E-Mail

Additional Information

Permanent Link