Tuesday, January 1, 2008

User Group Sessions, Classes and Consulting

Copyright 2008-2009, Paul Jackson, all rights reserved

User Group Sessions

I make the following sessions available to User Groups and Code Camps in Florida.  Each session is designed to run approximately one hour.  To schedule me to present at your meeting, contact me at pjackson@lovethedot.net.

These sessions are also available for presentation to corporate-groups.  Although there is no charge for the session, corporate groups may be asked to cover travel expenses based on the site’s distance from Orlando, FL.

Parallel Programming in .Net 4 – Part I – An Overview

An introduction to the Parallel Extensions coming in .Net 4.0.  This session skims the surface of what will be available to developers, covering the basics of Parallel.For, Parallel.ForEach and Parallel.Invoke, followed by a discussion of Tasks and some of the utility classes from the upcoming release.

Parallel Programming in .Net 4 – Part II – A Deeper Dive

Building on Part I, this session takes a much deeper dive into aspects of the .Net 4.0 Parallel Extensions, including the architecture and managing parallel tasks through the TaskManager.  In-depth coverage of Parallel.For, covering all of the options for controlling and working with the parallel loop.

Improving Developer Productivity with Guidance Automation

Note: While still interesting and useful, this session is a bit dated, given the extensibility of Visual Studio 2008 and the new extensibility options coming in Visual Studio 2010.

This session introduces the Guidance Automation Extensions and Guidance Automation Toolkit (GAX/GAT) from Microsoft patterns & practices.  Explore the concept of software factories and see how generating code can improve developer productivity.  Specifically this session covers the building of a guidance package that will implement the UI Threading Pattern (InvokeRequired, BeginInvoke, etc.) for all public methods on a UserControl.

Introduction to Dependency Injection (ObjectBuilder or Unity)

Explore the concepts of Dependency Injection and Inversion of Control with either the ObjectBuilder or Unity dependency injection libraries.  Learn what DI is, what the benefits are and why you should be using it.

The importance of usability and user-experience

This non-technical, user-focused discussion covers the concepts of user-interface design and usability testing in order to improve the overall user experience. 

Cloud-computing: Amazon S3

Leverage the online storage capacity of Amazon S3 to store data remotely.

Cloud-Computing: Amazon EC2

Learn how to manage a server in the Cloud – run a Windows server for $0.12 per CPU hour with virtually unlimited scalability.


Classes can run from one to five days, depending on customer customizations and needs. 

Each class can be customized to focus on the material your staff needs the most and eliminate concepts you’re unlikely to ever use.  This allows you to optimize the learning experience for your staff and maximize your training dollars.

The cost is $500 per day for up to 20 students, location and equipment not included.  This comes to $2500 for a full, five-day, instructor-led class, customized with the material of your choice.  If your company does not have the facilities and equipment to hold classes, third-parties can typically be found.

One-on-one training is also available for $250 per day.  These classes typically go much faster than group training because a single student receives all of the instructor’s attention. 

For information on customizing and scheduling a class, email pjackson@lovethedot.net.

The Cloud on $10 a Day: leveraging Amazon S3 and EC2 to create scalable, cost-effective solutions

  • Learn the advantages of Cloud Computing, including scalability and cost-savings
  • Examine the Amazon offerings and pricing models
  • Signing up for S3 and EC2
  • Learn the basics of S3 storage: buckets and paths
  • Putting, getting and removing files with S3
  • S3 Performance Considerations
  • Third-party Wrappers make S3 even easier
  • Learn the basics of EC2 computing: server instances and images
  • Create an EC2 server image
  • Administrate EC2 servers
  • Scale-on-demand: Learn how to dynamically create server instances to handle load
  • Databases on EC2 servers
  • S3 and EC2 together

Introduction to .Net and C#

  • Learn C#  language features such as types, variables, and control constructs
  • Use object-oriented features such as class, interface, protection, and inheritance
  • Use exceptions for error-handling
  • Examine the use of properties to implement the private data/public accessor pattern
  • Group related types  with namespaces
  • Delegates and events
  • Override methods
  • Deployment considerations
  • Learn the difference between inheritance and interfaces
  • Build a basic Windows Forms GUI

Programming the Composite UI Application BLock (CAB)

  • Understand CAB
  • Understand Dependency Injection and ObjectBuilder
  • Understand the Smart Client Software Factory
  • CAB Modules
  • Events
  • Extending the UI
  • Commands
  • Modules
  • Workspaces
  • Model-View-Controller Pattern
  • Services

Coding to Design Patterns

  • Understand design patterns as a vocabulary
  • Understand the basics of Unified Modeling Language (UML)
  • Refactor code to use the most appropriate pattern 
  • Singleton Pattern
  • Factory Pattern
  • Decorator Pattern
  • Hole in the Middle Pattern
  • Observer Pattern
  • Strategy Pattern
  • Template Pattern
  • Command Pattern
  • State Pattern
  • Proxy Pattern
  • Adapter Pattern
  • Façade Pattern
  • Iterator Pattern
  • Visitor Pattern
  • Composite Pattern
  • Anti Patterns like the Magic Pushbutton

Introduction to Windows presentation foundation

  • Understand differences between XBAP, XAML and Silverlight
  • Build user interfaces with Visual Studio 2008
  • Create animations and special effects
  • Use themes to change the application’s appearance 
  • Deploy your application using ClickOnce
  • Understand the differences between a control template, a custom control, and a user control

Introduction to Asp.Net

  • Understand the ASP.NET compilation engine
  • Build pages using server-side controls, custom controls, and user controls
  • Validate user input using validation controls
  • Display and update data using declarative data binding
  • Employ security to authenticate and authorize users of your application
  • Use master pages and themes to create a consistent look and feel
  • Manage data for the users of your application
  • Use caching to improve performance
  • Add AJAX features to your pages

Usability and User Experience

  • Learn the basics of effective user-interface design
  • Understand the importance of standards and consistency
  • Understand the purpose of a Usability Study
  • Design and Implement a Sample Usability Study

Introduction to Visual Studio Team System

  • Use VSTS to enforce best practices of software development
  • Understand the VSTS tools and how and where they fit into the project lifecycle
  • Learn how VSTS can be configured to use different software methodologies
  • Use graphical modeling tools to create a system design and validate its deployment
  • Employ test-driven development to produce robust code
  • Harness the power of source control
  • Learn how to manage testing and track bugs
  • Set up a project portal to access all project documentation
  • Manage databases with Visual Studio Team Edition for Database Professionals
  • Schedule Builds with Team Build
  • Use Team Build continuous integration features


I am available for short-term consulting contracts, typically focusing on specialized topics such as:

  • Cloud-computing solutions with Amazon S3 and EC2
  • User Interface Reviews and Design
  • Usability Studies
  • Application and System Architecture, Design and Code Reviews
  • Visual Studio Team System and Team Foundation Server Installation, Setup, Process and Procedures

For further information or to discuss a consulting contract, email pjackson@lovethedot.net.

1 comment:

Rush essay writer said...

The thing is that you are suppose to be assuming right things for the reason you have been talking about. These are the basic concepts that are meant to be the part of the working.