ACCU Home page ACCU Conference Page
Search Contact us ACCU at Flickr ACCU at GitHib ACCU at Facebook ACCU at Linked-in ACCU at Twitter Skip Navigation

ACCU 2006 Pre-conference

The ACCU 2006 Pre-conference Tutorial Day

In order to complement the impressive programme featured at the ACCU Conference 2006, we are holding a pre-conference tutorial day. Come to the event a day early, and benefit from a full-day tutorial from a leading industry figure. Building on the success of the first pre-conference day in 2005,  this year we are proud to present  tutorials by Jutta Eckstein & Nico Josuttis, Angelika Langer and John Pinner. This is a great opportunity to expand your technical knowledge, by learning from the very best.

Agile Software Development for Succeeding with large Projects

presented by Jutta Eckstein and Nicolai Josuttis

You can only develop large systems (cost efficient) successful, if expert knowledge meets common sense, with the courage to stay alive even under the constraints of large projects and large organizations. Without neglecting technical aspects, especially team jelling and communication are getting more and more important, but also the handling of a project will change. Strange, but true, the rule seems to exist, that the larger the project the less the common sense counts.

Moreover, not all insights and rules can be transfered to large projects from small ones or from prototypes. Processes and architectures are not able to scale easily. For example, perfectionism doesn't pay off anymore, interfaces are becoming more generic and clear role allocations are getting critical.

Jutta Eckstein and Nicolai Josuttis will show in this tutorial how you can deal with the requirements of an efficient and successful development in mid-sized and large projects. 

Especially the following topics will be addressed:

  • Agile software development in the large (more than Extreme Programming)
  • Successful management of large systems
  • Modern planning and estimation of projects
  • How large teams influence the architecture
  • Retrospectives

The know-how presented is based on many experiences in different mission-critical projects with up to 200 developers, thousands of users, handling millions of customer data and will definitely be also helpful for small projects.

Prerequisites:  experience working on or managing a software project

Reliable C++

presented by Angelika Langer

This workshop provides insights into the traps and pitfalls in the language, and explains strategies for achieving a higher degree of reliability and robustness of C++ programs. Topics include correct allocation and deallocation of memory, elimination of invalid pointers and memory leaks, efficient and correct copying and assignment of objects, preservation of object validity, const correctness, name lookup and overload resolution of redefined functions, implicit type conversions, expression evaluation and sequence points. 

  1. Constructing, Destroying and Copying Objects
  • Correct Allocation and Deallocation of Memory
  • Elimination of Invalid Pointers and Memory Leaks
  • Safe Copying and Assignment of Objects
  • Reference Counting
  • Correct Initialization and Destruction of Objects
  • Destructors in Inheritance Hierarchies
  • Initialization of Global and Static Data
  • The Schwarz Counter Idiom
  1. Functions and Type Conversions
  • Efficient Argument and Return Value Passing
  • Pointers, References and Values
  • Temporary Objects
  • Implicit Type Conversions
  • New-Style Casts
  • Function Overload Resolution
  • Expression Evaluation
  • Sequence Points
  1. Class Hierarchies
  • Downcast and Typeid
  • Member Function Redefinition
  • Name Lookup in Class Hierarchies
  • Virtual vs. Non-Virtual Member Functions
  • Class Scope and Virtual Function Table
  • Assignment and Comparison in Hierarchies of Value Types
  • Const Member Functions
  • Immutability and Object Integrity

The tutorial is at an introductory/intermediate level, aimed at programmers with a basic knowledge of C++.

Python for Programmers

presented by John Pinner

This tutorial is aimed at programmers who have no previous knowledge of Python but who would like to know more about it. If you intend to start using Python, this will give you a flying start. If you just want to find out more, the day will either reinforce every prejudice you ever had about interpretive languages, or open your eyes to the power of a dynamic object-oriented language with introspection.

The one day session is a condensed version of Clockwork's three day course of the same name, and the emphasis is on understanding Python, whose philosophy is quite different to that of a compiled language such as C. At the end of the day you will be able to find out anything about the language, understand its strengths and weaknesses, and know the basics. Topics covered include Data Types, Functions and Methods, Functional Programming, Dynamic Typing, Sequences and Mappings, Control Constructs, Modules (using and writing), Persistent Storage and File Handling, and Object Oriented programming with Python.

The tutorial is interactive, and it would help if you can bring your notebook, loaded with Python 2.3 or 2.4 (Windows or Linux, it doesn't matter). We will have Python install disks available if you haven't loaded it already, and if you can't manage a notebook let us know and we'll try and sort something out.