Angelika Langer - Training & Consulting

 
HOME | SEMINARS | TALKS | ARTICLES | BOOKS | LINKS | IOSTREAMS | GENERICS | ABOUT | NEWSLETTER | CONTACT | SITEMAP
Curriculum Vitae

About Angelika Langer  
HOME 
SEMINARS 
TALKS 
ARTICLES 
BOOKS 
LINKS 
IOSTREAMS 
GENERICS 

ABOUT
  CURRICULUM VITAE
  IMPRESSUM
 
NEWSLETTER 
CONTACT
SITEMAP 
Curriculum Vitae  
Angelika Langer
Trainer  & Author & Mentor
Object Oriented Development with C++ and Java

Neumarkter Straße 86d, D-81673 München, Germany
contact: www.AngelikaLanger.com


 

OBJECTIVE

After 10+ interesting years that I spent working in industrial software development and meanwhile another 10+ years of training and mentoring, I still  tremendously enjoy exploring novel technology and passing on the knowledge. My preferred fields of interest are training, coaching, and mentoring in the area of object-oriented programming in C++ and Java. I enjoy development of explanatory material, including course material, multimedia training, books, and articles. I conduct lectures, seminars, and workshops, mostly in Europe and North America. My professional background in software engineering includes compiler construction and library development in C++. My background as a trainer and mentor is that of a freelancer with an independent course curriculum of my own covering advanced C++ and Java topics.
I am co-author of the book "Standard C++ IOStreams and Locales" published by the US publisher Addison Wesley Longman and the author of the widely appreciated "Java Generics FAQ", an online resource for Java developers. I served as a columnist for the US magazines C++ Report and C/C++ Users Journal. Since 2002 I write a column named "Effective Java" for the German magazine JavaMagazin. In addition, I enjoy speaking at IT conferences all over the world.
 

EDUCATION
PROFESSIONAL EXPERIENCE
PROFESSIONAL SKILLS
PARTNER COMPANIES
CUSTOMERS
OFF-SCHEDULE ACTIVITIES
TECHNICAL PUBLICATIONS
TECHNICAL PRESENTATIONS


 

EDUCATION

University of Essen, Germany
Major: Mathematics / Minor: Economics
Graduated: Spring 1984


 

PROFESSIONAL EXPERIENCE

Independent Trainer / Mentor / Author
Courseware development and training/mentoring/coaching.
Jan. 1997 - present

I work as an independent instrcuctor and courseware deveoper. My main area of interest and expertise is object-oriented software development in C++ and Java. I develop courseware and conduct courses in Europe and North America.

On-going projects:

  • Conducting open-enrollment and inhouse courses.
  • Speaking at various conferences, including OOP, JAX, Jazoon, and others.
  • Wrote a feature article on closures for JavaWorld.
  • Continue writing the "Effective Java" column in its 6th year.
2007:
  • Received "Best Presentation Award" for my presentation on Java Generics at Java Forum 2007 in Stuttgart.
  • Conducted countless open-enrollment and inhouse courses.
  • Extended C++ open enrollment course curriculum in collaboration with oose.de Innovative Informatik GmbH.
  • Spoke at various conferences, including ACCU, W-JAX, SET, SD Moscow, and others.
  • Gave presentations at various Java Users Group events in Stuttgart, Düsseldorf, Cologne and the Netherlands.
  • Continued writing the "Effective Java" column in its 5th year.
2006:
  • Joined the Java Champions selection committee.
  • Delivered an incredible number of courses, including a Java course in Japan.
  • Spoke at various conferences, including ACCU, JAX, JAOO, and others.
  • Conducted a workshop at the Stuttfart Experten Forum.
  • Continued writing the "Effective Java" column in its 4th year.
2005:
  • I am a Java Champion since December 2005.
  • Developed workshop on Java Generics and Java 5.0.
  • Wrote an online FAQ on Java Generics.
  • Finished course material for High-Performance Java Programming.
  • Delivered an increasing number of courses, including a Java course in Russia.
  • Spoke at various conferences, including OOP, JAX, ACCU, JavaOne, TechBusinessWeek.
  • Continued writing the "Effective Java" column with focus on Java performance issues.
2004:
  • Published online FAQ and tutorial on Java Generics.
  • Prepared course material for High-Performance Java Programming.
  • Delivered open-enrollment and inhouse seminars.
  • Spoke at various conferences, including OOP, JAX, ROOTS, ECOOP,  ACCU, OOPSLA, and NetObjectDays.
  • Continued writing the "Effective Java" column with focus on concurrent programming in Java.
  • Wrote a number of articles on new features in Java 5.0 published in Java Pro Online (USA), Java Magazin (D), Java Magazine (NL).
2003:
  • Prepared course material for J2SE 5.0, including Java Generics and the new Java Concurrency Utilities and Memory Model.
  • Prepared course material on C++ Template Metaprogramming.
  • Delivered open-enrollment and inhouse seminars.
  • Spoke at various conferences, including OOP, ROOTS (Norway),  ACCU (UK), and several Java Users Group meetings in Switzerland and Germany.
  • Continued writing a column entitled "Effective Java" in a German Java magazine.
  • Joined the Quality Summit (an experts meeting on code qualitiy) in Portland, Oregon.
2002:
  • Published articles in JavaSpektrum, JavaSolutions, and VSJ.
  • Familiarized myself with EJB and related Java technology.
  • Spoke at various conferences, including OOP (DE + NL), SoftwareDevelopment (US), ROOTS (Norway),  ACCU (UK), and DevConnections (US).
  • Acquired OOSE in Hamburg as an additional partner for Java training on the German market.
  • Acquired BD Software in North Reading, MA as an additional partner on the US training market.
  • Delivered a couple of courses.
  • Joined the editorial board of JOT (Journal of Object Technology) published by ETH and the advisory board of JavaSpektrum.
2001:
  • Wrote articles and countless book reviews as usual.
  • Started a new column in Java Spektrum named "Effective Java".
  • Resigned as columnist of C/C++ Users Journal after 4+ years.
  • Acquired Zühlke Engineering as an additional partner for the German market.
  • Developed a 2-day seminar on "Concurrent Programming in Java".
  • Conducted more courses than ever, including Java courses in the US and UK and STL courses in Spain and Germany.
  • Spoke at the OOP conference in Munich, at DevWeek in London, at ROOTS in Norway and at ACCU in Oxford.
2000:
  • Acquired Datacom Academy as an additional partner in Germany.
  • Developed a 5-day seminar on advanced Java named "Effective Java".
  • Developed a 5-day seminar on C++ iostreams and locales.
  • Delivered numerous seminars to customers in Germany, the Netherlands, the UK, and the USA.
  • Spoke at the OOP conference in Munich, at DevWeek in London, at TOOLS and OOPSLA in the USA.
  • Served as a member of the programming committee for the TOOLS East Europe conference.
1999:
  • Successfully finished the book project "Standard C++ IOStreams and Locales".
  • Spoke at the C++ World conference in Miami, FL.
  • Acquired partner company for expansion of business to the Netherlands.
  • Spoke at a meeting of CHOOSE (Schweizer Informatikergesellschaft) in Bern, CH.
  • Conducted tutorial at the TOOLS USA conference, Santa Barbara, CA, and served as a panelist in a panel discussion.
  • Gave several lectures at the Application Development conference in London.
  • Spoke at the OOP/SIGS Expo for Java conference in Munich.
  • Published several articles in C++ Report and book reviews at Fawcette's online magazine.
1998:
  • Provided content and functioned as presenter for an instructional video about "Avoiding Common C++ Errors".
  • Attended workshop in NYC for perfecting my instructional techniques.
  • Developed 3-day-course on "Templates and STL".
  • Developed 5-day-course on "ANSI C++" for experienced C++ programmers.
  • Delivered open enrollment and inhouse C++ training.
  • Spoke at Software Development S.F., Object Expo London, and C++World NYC.
  • Published several articles in C++ Report and other magazines.
  • Reviewed countless C++ and Java books for Fawcette Technical Publications and others.
1997:
  • Developed course material on Net.h++ for Rogue Wave GmbH.
  • Developed 2-day-course on "C++ in Safety-Critical Applications".
  • Developed 1/2-day tutorial on "Multithreading in C++ and Java".
  • Delivered open enrollment and inhouse C++ training.
  • Spoke at OOP/C++ World Munich, Object Expo London, Software Development DC, Comdex Frankfurt, Object Expo Paris, and C++World San Jose.
  • Published several articles in C++ Report and other magazines.
  • Contributed to the standardization of C++, attended committee meetings, and reviewed major sections of the draft standard.
Senior Trainer/Consultant at Rogue Wave in Corvallis, Oregon
Professional Services
Aug. 1995 - Sept. 1996

Course development, training, and technical writing.

  • Developed a comprehensive 2-day course on the Standard Template Library.
  • Produced the world's first comprehensive users guide on IOStreams and Locale.
  • In-house training of the tech support staff.
  • Delivered training/consulting to customers and achieved maximum customer satisfaction; course evaluation was excellent.
  • Active participation in the standardization of C++.
  • Contributed to Rogue Wave's image as the leading provider of C++ reusable parts by communicating C++ expertise to the international C++ community via publications, conference talks, and other technical presentations in Europe and the US.
Senior Software Engineer at Siemens Nixdorf in Munich, Germany
C/C++ Compiler Development
1989 - June 1995

Responsible for the Standard C++ Library development. This assignment included:

  • coordination between various departments,
  • determining the exact project requirements,
  • developing and communicating technical solutions,
  • coordinating in-house providers,
  • participation in the international standardization process,
  • acquiring partners for OEM business,
  • evaluation of vendor provided libraries, and eventually
  • contract negotiations Rogue Wave Software, Inc. in behalf of SNI..
Software Developer at Siemens AG in Munich, Germany
Research Department
1987 - 1989

Managed a development team on a high-pressure software project.

  • Developed a procedural interface to a relational database (Informix).
  • I took over the leadership on a time-critical project and managed an explosively growing staff of about 12-15 people.
  • It was a time-critical emergency project which we successfully accomplished in a real team effort.
Software Developer at Siemens AG in Munich, Germany
Telecommunications
1984 - 1987

Developed a family of code generators from SDL (= State Diagram Language, CCITT standard) to C, CHILL and Assembler.

This assignment included the whole life cycle of a product:

  • requirement specification,
  • design,
  • implementation,
  • technical and user documentation,
  • testing,
  • training, and
  • tech support.


PROFESSIONAL SKILLS

Software Development
  • Guru knowledge of Java (the language and J2SE).
  • Guru knowledge of all aspects of C++, including Templates, Exception Handling, STL and IOStreams.
  • Working knowledge of C# and C.
  • Working knowledge of Enterprise Java (J2EE with emphasis on EJB).
  • Working knowledge of XML, HTTP/HTML, JavaScript, JSP and Servlets.
  • Component-Based, Object-Oriented, Procedural, and Generic Programming.
  • Patterns for design of object oriented software development.
  • Multithreading and Concurrency Control.
  • Performance profiling and tuning.
  • Internationalization in Java and C++.
  • Object-oriented client/server architectures.
  • Network communication programming.
  • Relational Databases.
  • Compiler construction.
  • Software ergonomy.
  • Methodology of procedural and object-oriented testing.
  • UNIX, Windows, Linux, BS2000 (= Siemens proprietary mainframe OS).
  • Familiarity with SQL, XML, HTML, HTTP, C, Pascal, Fortran.
  • Basic knowledge of CORBA, POSIX, and other standards.
Project & Team Management
  • Longterm practical experience with all stages of product development .
  • Familiarity with RUP and XP.
  • Practical experience as leader of a development staff at Siemens Research Labs.
  • Formal training in communication skill, conflict management, motivation, and effective time-management.
Presentation Techniques
  • Several years of practical experience as an instructor world-wide.
  • Popular speaker with lots of practical experience at international conferences world-wide.
  • Formal training in presentation and instruction techniques at Friesen-Kaye in New York.
  • Practical experience as an on-camera presenter at CCI in the US.
Course Development and Technical Writing
  • Outstanding skills in course development.
  • Acknowledged author with proven practical experience in technical writing.
    • numerous articles in German and English (see TECHNICAL PUBLICATIONS ),
    • a 700-pages-book on a C++ topic published at Addison-Wesley in 2000.
    • the Java Generics FAQ, an online document on Frequently Asked Questions regarding Java Generics.
Mentoring & Coaching
  • Practical experience in project evaluation.
  • Numerous code reviews and audits.
  • Experience in customized knowledge transfer.
Languages
  • German (native language)
  • English (excellent fluency and writing skills)
  • French and Italian (basic knowledge)


PARTNER COMPANIES

I collaborate with several training providers. Usually, the partner company takes over sales, marketing, and organization of the courses, whereas I function as instructor and/or content provider.Current and previous partners include:


CUSTOMERS

Customers I delivered in-house training and/or consulting to include:
 
Alpine Electronics Europe GmbH , Stuttgart, Germany Metrohm Ltd. , Herisau, Schwitzerland
AMD - Advanced Micro Devices, Inc. , Dresden, Germany Morgan Stanley , London, UK
APG Affichage , Winterthur, Switzerland  Morgan Stanley , Tokyo, Japan
Ascom AG , Solothurn, Mägenwil, Switzerland  Nortel Networks Ltd. , Galway, Ireland
Atraxis , Zürich, Switzerland PDF Solutions GmbH , München, Germany
BMW , München, Germany Qiagen Hilden, Germany
Basler Versicherungen , Basel, Switzerland Qnamic AG , Hägendorf, Switzerland
Cap Gemini, Ernest & Young , Barcelona, Spain RINA S.p.A. , Genova, Italy
Citadel Investment Group , Chicago, IL, USA Robert Bosch GmbH. , Stuttgart, Frankfurt, Germany
Deutsche Post AG Rentenservice , Köln, Germany Rohde & Schwarz GmbH. & Co. KG , München, Germany
Devexperts , St. Petersburg, Russia RTS , Schwieberdingen, Germany
Eisenbahn-Bundesamt , München, Germany SAP AG , Walldorf, Germany
ETAS GmbH , Stuttgart, Germany Schüco International KG , Bielefeld, Germany
Evosoft GmbH , Nürnberg, Germany Siemens AG , München, Nürnberg, Germany
Hewlett-Packard , Barcelona, Spain Siemens AG , Berlin, Erlangen, Karlsruhe, Germany
Hewlett-Packard , Roseville, CA, USA Siemens Learning Campus , Erlangen, Germany
ICT Automatisering , Eindhoven, Netherlands Sigma-C , München, Germany
IDS-Scheer AG , Saarbrücken, Germany Smiths Heimann GmbH , Wiesbaden, Germany
IGE (Eidgenössisches Institut für Geistiges Eigentum) , Bern, Switzerland Stryker Leibinger GmbH & Co. KG , Freiburg, Germany
Keane Ltd , Stonecourt, UK Swisscom , Bern, Switzerland
Krones AG , Neutraubling, Germany Symbios, Inc. , Ft. Collins, CO, USA
LexisNexis , Miamisburg, OH, USA TNT UK Ltd , Atherstone, UK
Lucent Technologies , Huizen, Netherlands Vibrometer SA , Fribourg, Switzerland
Lucent Technologies , Nürnberg, Germany Vodafone TeleCommerce GmbH , Düsseldorf, Germany
Vossloh Systemtechnik , Kiel, Germany
West LB , Düsseldorf, Germany
Zühlke Engineering , Zürich, Switzerland
 

OFF-SCHEDULE ACTIVITIES

As an employee I was engaged in several off-schedule activites, which later became an integral part of my work as a freelance trainer.

TECHNICAL PUBLICATIONS

Column in JavaMagazin (Germany): EFFECTIVE JAVA
  • JMM - Introduction to Memory Model Issue s, July 2008
Article for Java World (USA):
  • Understanding the closures debate,   June 2008
Column in Java Spektrum (Germany): EFFECTIVE JAVA
  • Object Comparison in Java - Principles of Implementing equals(), January 2002
  • Object Comparison in Java - Type Check in equals(), March 2002
  • Hash Code in Java - Consistency between equals() and hashCode(), May2002
  • Comparators in Java - Principles of Implementing compareTo(), July 2002
  • Copies and Clones - Purpose of clone(), September 2002
  • Copying Objects in Java - Principles of Implementing clone(), November 2002
  • CloneNotSupported - clone() and its Exception , January 2003
  • Copies and Clones - Principles of Implementing clone() ,   November 2002
  • CloneNotSupported - clone() and Its Exception , January 2003
  • Immutability - Implementing Immutable Types ,  March 2003
  • Immutability - Immutability Adapters for Collections and the Meaning of final ,  July 2003
  • final Classes and final Methods ,  September 2003
  • Polymorphic Method Calls in Constructors ,  November 2003
  • Multithreading Basics ,  January 2004
  • Synchonization in Detail,   March 2004
  • Explicit Locks (a new feature in JDK 5.0) ,  May 2004
  • wait() and notify() in Detail, July 2004
  • The Nested Monitor Problem, September 2004
  • Stopping and Suspending Threads, November 2004
  • Thread-Safe Collections and Synchronizers,  January 2005
  • Asynchronous Tasks (Callable and Future), March 2005
  • Thread Pools, May 2005
  • Micro-Benchmarking,  July 2005
  • Micro-Benchmarking & JIT Compilation,  September 2005
  • Profiler Tools, November 2005
  • Functional Performance Hot Spots , January 2006
  • Memory Hot Spots, March 2006
  • Garbage Collection Algorithms, May 2006 & July 2006
  • Tuning the Garbage Collector, September 2006
  • The Language Feature of Enumeration Types, November 2006
  • Enums - A Common Pitfall, January 2007
  • Introduction to Generics and Parameterized Types, March 2007
  • Wildcards, May 2007
  • Raw Types and Type Erasure, July 2007
  • Type Erasure - The Dark Side, September 2007
  • Generic Creation, November 2007
  • Implementing a Generic Pair Class (Part 1),  January 2008
  • Implementing a Generic Pair Class (Part 2),  March 2008
Column in C/C++ Users Journal (USA): EFFECTIVE STANDARD C++ LIBRARY
  • Curiously Recurring Manipulators , June 2001
  • Unary Predicates in the STL , April 2001
  • The Difference between for_each() and transform() , February 2001
  • Explicit Function Template Argument Specification and the STL , December 2000
  • Are Set Iterators Mutable or Immutable? , October 2000
Column in C++ Report (USA): EFFECTIVE STANDARD C++ LIBRARY
  • Implementing Manipulator Using the Standard IOStreams (Part 2) , June 2000
  • Implementing Manipulator Using the Standard IOStreams (Part 1) , April 2000
  • User-Defined Inserters and Extractors Revisited , February 2000
  • User-Defined Inserters and Extractors , September 1999
  • Output Iterators , June 1999
  • Stream Iterators , May 1999
  • Insert Iterators , February 1999
  • The auto_ptr Class Template , November 1998
  • Comparators , September 1998
  • Allocators , June 1998
  • Character Types and Character Traits , April 1998
  • Extending the Locale Framework - User-Defined Facets , February 1998
  • Standard Facets , November 1997
  • The Locale Framework , September 1997
  • New Features in Standard IOStreams , June 1997
  • Combining OO Design and Generic Programming , March 1997
Articles for Java Pro Online (USA):
  • Language Features of Java Generics  (Part 1  & Part 2 ),   March 2004
  • Wildcard Instantiations of Parameterized Types (Part 1 & Part 2 ),   May 2004
Articles for Java Solutions - A Supplement of C/C++ Users Journal  (USA):
  • Secrets of equals, April 2002
  • Implementing equals for Mixed-Type Comparison , August 2002
Articles for Java Magazin (Germany):
  • Java Generics - generische Typen und Methoden, April 2004
  • Generische Typen, Type Erasure und die Auswirkungen aufs Java Typsystem, October 2004
Articles for Visual Systems Journal (UK) :
  • Sequence Points and Expression Evaluation, August 2002
Articles for German, Dutch and US computer magazines:
  • Was gibt es Neues in Java 5.0? - Vergleichendes Buchreview, JavaSpektrum, January 2005
  • Java Generics: een introductie (1) & (2),  Java Magazine, April 2004 and July 2004
  • Servlet Programmierung - Überblick und vergleichendes Buchreview, JavaSpektrum, August 2000
  • Dynamische Allokation von Ressourcen , Objekt Fokus, März 1998
  • Fehlerfreies Programmieren in C++ , Elektronik, June 1998
  • Internationalization Using Standard C++ , C/C++ Users Journal, September 1997
  • Building an Iterator for STL & Standard Library , C++ Report, February 1997
  • Iterators in the Standard C++ Library , C++ Report, September 1996
  • Iterators in the Standard Template Library (STL) , C++ Report, July 1996
  • Deriving from IOStreams , C++ Report, September 1995
  • Die C++ Standardbibliothek , Objektspektrum, January 1995
  • Die C++ Standardbibliothek , 'ct, November 1994
Book Reviews Books Online Documents

TECHNICAL PRESENTATIONS

2007:
  • W-JAX  2007 , München, Germany, November 5-9, 2007: Annotation Processing
  • W-JAX  2007 , München, Germany, November 5-9, 2007: Core Java Performance
  • JFS (Java Forum Stuttgart) 2007 , Stuttgart, Germany, July 5, 2007: Java Generics
  • J-Spring  2007 , Bussum, Netherlands, June 13, 2007: Java Generics
  • SET  2007 , Zürich, Switzerland, May 8-9, 2007: Multithread-Programmierung in Java 5.0
  • ACCU  2007 , Oxford, UK , April 11-14, 2007: The Java Performance Model
  • SD Best Practices  2007 , Moscow, Russia, April 3-4, 2007: Java Generics
  • JUG Meeting Cologne , Cologne, Germany, February 28, 2007: The Art of Micro-Benchmarking in Java
  • JUG Meeting Düsseldorf , Düsseldorf, Germany, February 13, 2007: Java Generics
  • OOP 2007 , Munich, Germany, January 22-26, 2007: The Java Performance Model
2006:
  • JAOO 2006 , Aarhus, Denmark, October 1-6, 2006: The Art of Micro-Benchmarking in Java
  • JAOO 2006 , Aarhus, Denmark, October 1-6, 2006: New Features in J2SE 1.5
  • ExpertenForumStuttgart 2006, Stuttgart, Germany, July 7, 2006: The Art of Micro-Benchmarking in Java
  • JUGS Event, Zürich, Switzerland, June 20, 2006: Java Generics
  • JAX 2006, Frankfurt, Germany, May 8-12, 2006: Java Generics - A Mob Programming Session
  • JAX 2006, Frankfurt, Germany, May 8-12, 2006: Garbage Collection
  • ACCU  2006, Oxford, UK , April 19-22, 2006: Reliable C++
  • JUGS, Stuttgart, Germany, January26, 2006: The Java Performance Model
2005:
  • W-JAX 2005, Munich, Germany, November 2005: T he Java Performance Model
  • JavaOne 2005, San Francisco, CA, June 2005: Java Generics
  • Tech Business Week 2005, Santiago de Compostela, Spain, June 2005: New Language Features in Java 5.0
  • JAX 2005, Frankfurt, Germany, May 2005: Programming With Generic Types
  • JAX 2005, Frankfurt, Germany, May 2005: Wildcards in Java Generics
  • ACCU Conference, Oxford, UK, April, 2004: Wildcards in Java Generics
  • OOP, Munich, Germany, Jan, 2005: Multithread Programming in Java 5.0
2004:
  • OOPSLA, Vancouver, Canada, October 2004: Java Generics
  • Net.ObjectDays, Erfurt, Germany, September 2004: New Features in J2SE 1.5: Generics, Concurrency Utilities, Enums, Autoboxing
  • ECOOP, Oslo, Norway, June 2004: New Features in J2SE 1.5: Generics, Concurrency Utilities, Enums, Autoboxing
  • JAX, Frankfurt, Germany, May 2004: New Language Features in J2SE 1.5 - Overview
  • JAX, Frankfurt, Germany, May 2004: Java Generics
  • JAX, Frankfurt, Germany, May 2004: Concurrency Utilities
  • ROOTS, Bergen, Norway, April, 2004: New Features in J2SE 1.5: Generics, Concurrency Utilities, Enums, Autoboxing
  • ACCU Conference , Oxford, UK, April, 2004: Java Generics
  • ACCU Conference , Oxford, UK, April, 2004: Implementing Binary Operators in C++
  • OOP, Munich, Germany, Jan, 2004; Java Generics
  • OOP, Munich, Germany, Jan, 2004: Tuning the Java Garbage Collector
2003
  • CHOOSE, Bern, Switzerland, Nov, 2003: New Features in J2SE 1.5
  • Java Users Group, Stuttgart, Germany, Oct, 2003: New Features in J2SE 1.5
  • Workshoptage 2003, Zürich, Switzerland, Oct, 2003: New Features in J2SE 1.5
  • ROOTS, Bergen, Norway, May, 2003: C++ and Java Trends
  • ROOTS, Bergen, Norway, May, 2003: Multithread Programming Java
  • ROOTS, Bergen, Norway, May, 2003: Beyond EJB: Idioms and Alternaives for Persistence and Transactions
  • ACCU Conference , Oxford, UK, April, 2003: Concurrent Progamming in Java
  • OOP, Munich, Germany, January, 2003: Idioms for Client Transactions in Conjunction with Enterprise Java Beans
  • OOP, Munich, Germany, January, 2003: Advanced Multithread Programming in Java
  • Better Code Summit, Portland, OR, Jan, 2003
2002
  • OOP 2002, Munich,Germany, January 2002: Effective Java
  • ACCU, Warwick, UK, April 2002: Expression Templates
  • ACCU, Warwick, UK, April 2002: Effective Java
  • ROOTS, Bergen, Norway, April 2002: C++ and Java Trends
  • ROOTS, Bergen, Norway, April 2002: Effective Java
  • ROOTS, Bergen, Norway, April 2002: Dynamic Proxies and Weak References
  • Software Development, San Jose, CA, April 2002: Understanding C++ Expression Templates
  • Software Development, San Jose, CA, April 2002: Invalidation of STL Iterators
  • Software Development, San Jose, CA, April 2002: Read-Only vs. Read-Write Set Iterators
  • OOP Europe, Amsterdam, NL, June 2002: Effective Java
  • DevConnections, Orlando, FL, October 2002: Invalidation of STL Iterators
  • DevConnections, Orlando, FL, October 2002: C++ Tidbits
  • DevConnections, Orlando, FL, October 2002: Understanding C++ Expression Templates
2001
  • OOP 2001, Munich, Germany, January 2001: Java Dynamic Proxies
  • DevWeek, London, UK, February 2001: Basic Java Idioms: Copying and Comparing Objects
  • DevWeek, London, UK, February 2001: Resource Management in Java
  • TOOLS Europe, Zürich, CH, March 2001 : Java Programming Idioms
  • ACCU, Oxford, UK, March 2001: Standard C++ Locales
  • ROOTS, Bergen, Norway, May 2001: Implementing Design Patterns Using C++ Templates
2000
  • C++ World/OOP, Munich, January 2000: Java Gotchas for C++ Programmers
  • C++ World/OOP, Munich, January 2000: Traps and Pitfalls in Using the STL
  • DevWeek, London, UK, February 2000: Java Gotchas for C++ Programmers
  • DevWeek, London, UK, February 2000: Traps and Pitfalls in Using the STL
  • DevWeek, London, UK, February 2000: Using Templates for Implementation of Patterns
  • DevWeek, London, UK, February 2000: Making Your C++ Programs Exception-Safe
  • Zühlke Forum, Zürich, CH, March 2000: Modern C++ - Programming with Templates and the STL
  • TOOLS USA, Santa Barbara, CA, August 2000: Using Templates for Implementation of Patterns
  • TOOLS USA, Santa Barbara, CA, August 2000: Idiomatic Java
  • OOPSLA 2000, Minneapolis, MN, October 2000: Implementing Design Patterns Using C++ Templates
  • OOPSLA 2000, Minneapolis, MN, October 2000: Resource Management in Java
1999
  • C++ World/OOP, Munich, January 1999: Programming with C++ Exceptions
  • Application Development, London, July 1999: Java Gotchas for C++ Programmers
  • Application Development, London, July 1999: Compile-Time Computations in C++
  • Application Development, London, July 1999: Classic vs. Standard IOStreams
  • TOOLS USA, Santa Barbara, CA, August 1999: Programming with C++ Exceptions
  • CHOOSE, Bern, CH, September 1999: ANSI C++ In-Depth - The New Language Features
  • C++ World, Miami, FL, December 1999: Making Your Programs Exception-Safe
  • C++ World, Miami, FL, December 1999: Java Gotchas for C++ Programmers
  • C++ World, Miami, FL, December 1999: Using Templates for Implementation of Patterns
1998
  • Software Development, San Francisco, February 1998: Internationalization in C++ and Java
  • Software Development, San Francisco, February 1998: Multithreading in C++ and Java
  • Software Development, San Francisco, February 1998: Catching up with the C++ Standard
  • Object Expo Europe, London, June 1998: Exception Handling in ANSI C++
  • C++ World, New York, August 1998: The New ANSI C++ Language Features
  • C++ World, New York, August 1998: Advanced Template Programming
  • Object Developers Group meeting, New York, August 1998: Programming with Exceptions
  • TOOLS '98, Melbourne, Australia, November 1998: The Standard  STL
1997
  • OOP'97, Munich, February 1997: Internationalization using Standard C++ Locales
  • Object Expo Europe, London, July 1997: Getting the most out of the STL
  • Software Development, Washington DC, September 1997: Internationalization in C++ and Java
  • Software Development, Washington DC, September 1997: Multithreading in C++ and Java
  • Software Development, Washington DC, September 1997: Catching up with the C++ Standard
  • Object World, Frankfurt, October 1997: Multithreading in C++ and Java
  • Object World, Frankfurt, October 1997: Migrating to the Standard Library
  • C++ World, San Jose, November 1997: Multithreading in C++ and Java
  • C++ World, San Jose, November 1997: Migrating to the Standard Library
  • Object Expo France, Paris, November 1997: Multithreading in C++ and Java
  • Software Development, Washington DC, September 1997: Internationalization in C++ and Java
  • Software Development, Washington DC, September 1997: Multithreading in C++ and Java
  • Software Development, Washington DC, September 1997: Catching up with the C++ Standard
1996
  • OOP'96, Munich, February 1996: The Standard Template Library (STL)
  • Software Development, San Francisco, March 1996: Internationalization using Standard C++ Locales
  • Object Expo, New York, August 1996: Understanding the ISO Standard Library
  • Object Expo, New York, August 1996: Birds of a Feather Session: "The Future of  C++"
1995
  • Object World, Frankfurt, October 1995: The Standard Template Library (STL)
  • NW C++ Users Group, Seattle, December 1995: Standard C++ Locales
1994
  • Object World, Frankfurt, September 1994: The ISO/ANSI Standard C++ Library

 

 
© Copyright 1995-2008 by Angelika Langer.  All Rights Reserved.    URL: < http://www.AngelikaLanger.com/AboutMe/CV.html  last update: 26 Jun 2008