Code Camp 3: The Madness!
March 12 & 13
Microsoft New England District Office
Currently Submitted Session Descriptions
The Code Camp is a community driven event.
This list represents the current list of submitted sessions. Please keep an eye
here as we get closer on the final agenda.
Smart Client
|
Level |
Title |
Description |
Speaker |
Type |
|
300 |
Code
Generation .NET |
Present code
generation techniques and technologies in .NET. Why use code generation and what
to use it for. Explain how the .NET Framework and Compilers use code
generation behind the scenes to make developers more productive. Talk about
popular generation methodologies such as CLSA, XSLT and CodeSmith.
Discuss creating complete layers such as data access. Introduce CodeSmith syntax and show several examples that create
collections, UI and a complete data layer using templates. Discuss pitfalls
of code generation and how agile techniques, such as nightly generation can
help ease the path. |
Ernest A.
Booth |
Presentation |
|
200 |
Invisible
Avalon |
The Avalon
application model gives developers a new way to develop Windows applications,
not just additional namespaces. We will discuss the core that is Avalon such as
the dependency graph, navigation, commands, a new event model, content model,
data binding and much more. We will also answer the question of why XAML is
needed and what it offers over other .NET languages. Attendees should know
what Avalon is, but don’t need to have any experience using Avalon. |
Ernest A.
Booth |
Presentation |
|
|
Choosing SmartClient storage and messaging |
Dig into the
pros, cons, and issues of the various storage and messaging choices (MSMQ, isolated
storage, MSDE, etc.) when using the Microsoft Smart Client Offline
Application Block. |
Raj
Das |
Chalk Talk |
|
|
SmartClient architecture and development |
Open chalk
talk discussion on the SmartClient application concept,
architectural issues/concerns, and development experiences. |
Raj
Das |
Chalk Talk |
|
200 |
Introduction
to the SmartClient Offline Application Block |
Introduction
to developing application with the SmartClient Offline
Application Block. We’ll review the design and implementation of the SCOAB,
developing “sometimes” connected applications, and development of
applications with the SCOAB. |
Raj
Das |
Presentation |
|
300 |
Choosing SmartClient storage and messaging |
Dig into the
pros, cons, and issues of the various storage and messaging choices (MSMQ,
isolated storage, MSDE, etc.) when using the Microsoft Smart Client Offline
Application Block. |
Raj
Das |
Presentation |
|
|
NET CF
Application Deployment Strategies |
.NET Compact
Framework applications for Pocket PCs and Smatphones
can be deployed in any of a number of ways. Each of the deployment options
provides both benefits and drawbacks. In this Chalk Talk session, we will
discuss the various options for application deployment and the tools that can
be used to facilitate deployment. |
Don
Sorcinelli |
Chalk Talk |
|
200 |
Exposing
.NET Compact Framework Applications via APIs |
While the
concept of providing an API to a desktop or enterprise application has been
popular for many years, this application enhancement is rarely seen in
Windows Mobile applications. In this session, we will see the ways that .NET
Compact Framework applications can be exposed for interoperability, including
the upcoming event notification API in the .NET Compact Framework Version
2.0, as well as the technical and business benefits such an approach can
provide. |
Don
Sorcinelli |
Presentation |
|
|
MDA and
Software Factories |
An interactive
discussion between the presenter and the attendees that looks to evoke the
differing perspectives between MDA, DSL and related tools. A brief
presentation will be provided to cover the basic tenets of each approach with
the remainder of the talk being open discussion. |
Michael C.
Pelletier |
Chalk Talk |
|
300 |
C# for
Visual Basic 6.0 Developers |
If you are a
Visual Basic programmer looking at C# for the first time, there is more that
is different than just semi-colons and case sensitivity demands. Come to this
session to get a Visual Basic programmer's perspective on some of the basic
things you will want to know before rolling up your sleeves to write C# code.
We will cover topics like the backwards variable declaration, the seemingly
bizarre way that the C# language constructs an OR statement, the differences
you will experience in the IDE at compile time, and the more stringent rules
you need to pay attention to when scoping variables and methods. This session
is being done by a Visual Basic programmer who has felt the pain of trying to
write C# code and wants to help you avoid some of it. |
Julie Lerman |
Presentation |
|
300 |
Creating
Extender Classes in VS.NET Session |
Ever wonder
how Microsoft implemented tool tips in the WinForms
world? They did this with an extender class. Extender can be used to extend
the functionality of your WinForms applications.
This session will discuss how to create and maintain extender classes in your
WinForms applications. |
Rod Paddock |
Presentation |
|
300 |
eXtreme .NET – Extreme Programming and Unit Testing for .NET Developers
Part 1 |
– Extreme
Programming practices such as Refactoring, Unit
Testing and Continous Integration have now become mainstream. This code-intensive session shows you to have
to use XP practices with VS.NET 2003 and tools like Resharper,
NUnit and NAnt. In the
session we will develop some code and use the tools to create unit tests, refactor and automate the build. |
Sam Gentile |
Presentation |
|
300 |
eXtreme .NET – Extreme Programming and Unit Testing for .NET Developers
Part 2 |
In Part 2,
we will use the new Team Features of Whidbey Visual Studio Team System with
XP Practices to iterate some code, create unit tests, automate builds with
the new MSBUILD and use the new refactoring
features of C#. |
Sam Gentile |
Presentation |
|
300 |
Developing
Occasionally-Connected |
Today’s new
generation of smart mobile applications must take into account that connectivity
is often absent and continue to work anyway. In this session, we will examine
occasionally connected principles and then use the Whidbey Compact Framework
2.0 to build a occasionally connected mobile application that uses the new
SQL Mobile database |
Sam Gentile |
Presentation |
|
400 |
Hardcore
.NET |
Want to take
your .NET knowledge much deeper? Want to more effectively write .NET
Framework code that makes maximum utilization of the CLR? In this session, we
will dive deep into the CLR in areas like Value vs. Reference Types, Garbage
Collection, and more but in a way that focuses on how you can write your code
more effectively. Examples of code developed will include avoiding boxing
penalties, Whidbey Generics, Implementing IDisposable
and Finalizers and more. This is an expert level
session designed to take your .NET experience deeper and to become more
effective. |
Sam Gentile |
Presentation |
|
300 |
Continuous
Integration for .NET |
Continuous
Integration (CI) is an essential technique in many efficient software
development groups. Everyone on the development team benefits from immediate
and up-to-date feedback on the state of the build. We’ll explore several CI
tools for .NET; how to deploy and maintain continuous builds; CI integration
with source control and testing tools; and CI best practices for making your
development team more efficient. |
Mike Attili |
Presentation |
|
300 |
C# 2.0:
Generics, Iterators and New Language Features |
This year’s release
of .NET Framework 2.0 will come with a special bonus for C# developers: new
extensions to the C# language. Some of these were slated for C# 1.0, but that
simply weren’t finished in time. Others are new, and based on ideas that have
come up only after Microsoft had the opportunity to observe C# implementation
in the field. And yet others required intense negotiation and coordination
with the Common Language Runtime team, because they constituted changes to
the CLR itself. The most notable of these new features are Generics: the
ability to create parameterized (generic) types, similar in concept to C++
templates but implemented as a runtime feature in the CLR. But Generics
aren’t the whole story: Iterators let you create
multiple implementations of IEnumerator in a single
type, with a fraction of the plumbing code ordinarily required. And other
language features – reference aliases, Nullable
types, headless methods and delegate inference – make C# an even richer, more
powerful language than it has been in C# 1.0. In this session, you’ll get a
whirlwind tour of each of these features along with a guide for best taking
advantage of them when Framework 2.0 is released. |
Richard Hale
Shaw |
Presentation |
|
300 |
VS2005:
Exploring the Features of the new IDE |
Another big
bonus for developers in Framework 2.0 is an entirely new Visual Studio IDE.
From refactoring to code formatting, Debugging Visualizers to import/export of options, from the Code
Snippet Manager to the improved HTML and XML Editors, the IDE has been
completely overhauled. In this lively, interactive session, you’ll get an
unadulterated tour of the new IDE – not from a marketing perspective, but
from someone who – like you – lives in the IDE day in and day out, writing
code. |
Richard Hale
Shaw |
Presentation |
|
300 |
More
Design Patterns in C# |
Patterns are
Best Practices with a formal definition, a memorable name, and well-defined
context in which they should be used – and shouldn’t. Design Patterns are
patterns applied to architecture and design. Design Patterns aren’t new, but
they aren’t always very comprehensible. Just how do you know if you’re using
an Adapter, a Decorator or a Proxy? And how do you know when to use one,
anyway? And what about variations: Observer-Observable alone can be
re-defined in several ways, depending on whether you want to couple the
lifetime of the Observers to the Observable, and whether the notifications
are synchronous – or not. In this session, we’ll delve into Design Patterns, and
how to implement them in C#. And for those in the |
Richard Hale
Shaw |
Presentation |
|
300 |
10 Best –
and Worst – Patterns and Practices for C# Developers |
Ok, you’ve
heard me say it before: VB6 is the great Anti-Pattern, the great Satan of
Windows developers. By contrast, VB.NET and C# are terrific, 1st class, OO languages
with great features and type-safety. But what are the Best – and worst –
Patterns and Practices when using one of these languages? And which features
of the language should you always use, vs. those you should use carefully –
and those you should avoid altogether? When should you override the Equals
and ToString methods of System.Object?
When is lock an inefficient choice for thread synchronization? When should
you embrace custom value types – and when should you avoid them? What kinds
of IL patterns are generated from which C# constructs, and how can you take
advantage of that knowledge? In this session, we’ll discuss a wide variety of
C# features, and how you can, should or shouldn’t take advantage of them. By
the time you leave, you’ll have a far better understanding of what C# is all
about, and how to write more robust, efficient code with it. |
Richard Hale
Shaw |
Presentation |
|
400 |
Multithreading
made easy – harnessing the power of C# and .net to squeeze every cycle out of
your CPU |
Up til now, multithreading has been for the rocket
scientists with 400 level OS level courses under their belt (and a knowledge
of how philosophers dine). Dot net and C# have made multithreading accessable to a wider audience. This is a great
development, especially since Intel and AMD are telegraphing that future
performance gains will come from here, not from more jumps in raw processor
speed. |
Mark Mullin |
Presentation |
|
|
Effective Development
Practices in .NET |
Returning
from the last Code Camp, this interactive peer discussion will focus on
development practices, ranging from design to coding and deployment. Topics
may include, but will certainly not be limited to, successfully implementing
development standards, Enterprise Library & Application Blocks, code
reviews, unit testing, SOA, practices sharing, performance analysis, class
reuse, code management, useful tools, resources for training/education and
more. What’s worked for you and, equally important, what has not? Having
trouble implementing a specific practice in your organization? Looking for
tips on what tools might make your development life easier? This will be a
great chance to pick the collective brains of other experienced .NET
developers. |
Christopher |
Chalk Talk |
|
300 |
Web Services
in Microsoft Office |
This
demonstration will show the use of web services in Office products such as Word
or Access. The first segment will show how to reference a web service to an
Office document and the choices for invoking it using the Microsoft Web
Services Toolkit for Office. There will be a couple of examples that will
show the potential for practical application of these techniques. |
Robert
Holmes |
Presentation |
|
300 |
.Net
integration with Microsoft Office |
There has
been much talk, and even excitement, as well as confusion, around the
potential for utilizing the .NET technologies in the context of Office
solutions. This presentation will show how the two can interact beyond simple
automation type tasks. |
Robert
Holmes |
Presentation |
|
300 |
Visual
Studio Tools for Office |
This presentation
will demonstrate how to use the Visual Studio Tools for Office (VSTO) add-in.
First will be a discussion of how to take advantage of what the tools have to
offer, the pitfalls and tricks to leverage the capabilities of the dotNet environment from an office document. I will do
this by demonstrating a simple example from beginning to its use. |
Robert
Holmes |