pra quem perdeu vai rolar em sao paulo tbm:
Curso Avançado em Desenvolvimento de Software Orientado a Objetos
OBJECT-ORIENTED DESIGN PATTERNS AND REFACTORING
Joseph W. Yoder, The Refactory, Inc.
Organização: IME / USP Apoio: Objective Solutions
O IME/USP apresenta, com apoio da Objective Solutions, uma excelente
oportunidade de aperfeiçoamento e reciclagem para profissionais na área de
desenvolvimento de software: um curso avançado de projeto e desenvolvimento de
software orientado a objetos apresentado por um grande especialista
internacional da área.
O curso será ministrado por Joseph W. Yoder, especialista que conta com quase
duas décadas de experiência em desenvolvimento de software, é o autor de
vários padrões e artigos apresentados em conferências internacionais e
trabalha como consultor em desenvolvimento de software orientado a objetos na
empresa norte-americana Refactory, Inc. (http://www.refactory.com).
Os principais tópicos abordados no curso serão:
- Padrões de Projeto Orientados a Objetos
- Refatoração
- Testes Automatizados
DESCRIÇÃO DETALHADA
Design Patterns:
The ongoing surge in interest in software patterns has placed a long
overdue spotlight on how good programs are put together. Design patterns
are distillations of design insight drawn from practice. They capture
recurring solutions to software design problems. Once a designer is
familiar with these patterns, he or she can use them in his or her own
designs without having to reinvent them from first principles. Using
patterns allows developers to make their systems more flexible, reusable,
adaptable, and readable. Patterns also provide a common vocabulary for
concisely communicating these architectural insights. This course
examines all twenty-three patterns in Design Patterns: Elements of Reusable
Object-Oriented Software (Addison-Wesley, 1994). The course begins with a
detailed review of what patterns are and how they can be used to help
design object oriented software. We examine the most important patterns in
depth, while ensuring that attendees have seen all the patterns at least
once. In addition, the Type Object and Properties patterns will be
reviewed, and their roles in building highly configurable dynamic systems
will be examined. The course will be taught using examples from Java, and
all exercises will be conducted in Java and UML. Once the class is over,
students should understand design patterns, know where they fit in the
software development process, and be able to leverage them to solve design
problems efficiently.
Refactoring:
Refactoring code to make it more maintainable and extendable has become a
more mainstream practice. Refactoring is the process of changing software
without altering its external behavior. It is done in such as way to
improve the structure of the code to allow for later extensions or to make
maintenance of the code easier. It is important to refactor your code in a
disciplined way to minimize disruptions and to allow the system to safely
evolve. Improving a system’s structure and readability through refactoring
enhances its comprehensibility, readability, and maintainability.
This tutorial will teach attendees how to recognize “code smells”, or
signs that code needs to be refactored. It takes you through some of the
common refactorings as provided by tools such as the Refactoring Browser
and Eclipse and those outlined in Martin Fowler’s Refactoring book,
teaching you the correct discipline for refactoring your code. Various
code examples will be used to illustrate how and when to refactor. Tools
and Testing techniques to support refactoring will also be examined. The
class will examine how to apply object-oriented design patterns to guide
your refactoring decisions.
BIOGRAPHY
Joseph W. Yoder has worked on the architecture, design, and implementation
of various software projects dating back to 1985. These projects have
incorporated many technologies and range from stand-alone to client-server
applications, multi-tiered, databases, object-oriented, frameworks,
human-computer interaction, collaborative environments, and domain-specific
visual-languages. In addition these projects have spanned many domains,
including Medical Information Systems, Manufacturing Systems, Medical
Examination Systems, Statistical Analysis, Scenario Planning, Client-Server
Relational Database System for keeping track of shared specifications in a
multi-user environment, Telecommunications Billing System, and Business &
Medical Decision Making.
Joseph has assisted many companies with the development of software
applications, specifically object-oriented frameworks, enterprise
components, and web-based systems. Recently he has been teaching Java,
Smalltalk, Patterns, Frameworks, Object-Oriented Analysis and Design and
has mentored analysts and developers on many of their applications. He has
also worked with the management and development of a reusable Enterprise
Class Libraries.
Joe is the author of over two-dozen published patterns and has been working
with patterns for a long time, writing his first pattern paper in 1995, and
was the conference chair for the PLoP’97, conference on software patterns
and was the programming chair of The Second Latin American Conference on
Pattern Languages of Programming.
LOCAL: Instituto de Matemática e Estatística da Universidade de São Paulo
Rua do Matão, 1010 - Cidade Universitária
São Paulo - SP
DATA: sábado 23/8, 9:00 às 17:00
domingo 24/8, 9:30 às 12:30
CUSTO: R$ 100,00 até 18/8/03
R$ 150,00 a partir de 19/8/03
PRÉ-REQUISITOS: Conhecimentos básicos de programação orientada a objetos. Os
exemplos dados durante o curso utilizarão a linguagem Java.
INSCRIÇÕES: pelos telefones 3091-6191 ou 3091-6212.
Ou pessoalmente no IME/USP na secretaria do CEC, sala B-138.
Os inscritos no curso poderão ainda assisitir gratuitamente à palestra avançada
"Adaptive Object-Model Architectures" descrevendo pesquisas avançadas na área
de sistemas dinâmicos orientados a objetos a ser ministrada por Joseph Yoder,
sexta-feira, 22/8 às 14:00 no IME/USP.