Microsoft Technology Associate Programs

Developer Exams
Software Development Fundamentals / Web Development Fundamentals / Windows Development Fundamentals
  • Core Programming
  • Object-oriented Programming
  • General Software Development
  • Web Applications
  • Desktop Applications
  • Databases
/
  • Core Programming
  • Object-oriented Programming
  • General Software Development
  • Web Applications
  • Desktop Applications
  • Databases
/
  • Core Programming
  • Object-oriented Programming
  • General Software Development
  • Web Applications
  • Desktop Applications
  • Databases

Database Exam
Database Fundamentals
  • Core Database concepts
  • Database Objects
  • Manipulating Data
  • Data Storage
  • Database Administration

IT Professional Exams
Server Administrator Fundamentals / Networking Fundamentals / Security
Fundamentals
  • Server Installation
  • Server Roles
  • Active Directory
  • Storage
  • Server Performance Management
  • Server Maintenance
/
  • Network Infrastructures
  • Network Hardware
  • Protocols and Services
/
  • Security Layers
  • Operating System Security
  • Network Security
  • Security Software

Software Development Fundamentals:

Overview:

About this Exam This exam is designed to provide candidates with an assessment of their knowledge of fundamental software development concepts. It can also serve as a stepping stone to the Microsoft Certified Technology Specialist exams.
Audience Profile
Candidates for this exam are seeking to prove core software development skills. Before taking this exam, candidates should have a solid foundational knowledge of the topics outlined in this preparation guide. It is recommended that candidates be familiar with the concepts of and have hands-on experience with the technologies described here either by taking relevant training courses or by working with tutorials and samples available on MSDN and in Microsoft Visual Studio.

Skills Measured:

Skills Being Measured This exam measures your ability to accomplish the technical tasks listed below.The percentages indicate the relative weight of each major topic area on the exam.
Understanding Core Programming (18 percent)
·  Understand computer storage and data types.
o  This objective may include but is not limited to: how a computer stores programs and the instructions in computer memory; memory stacks and heaps; memory size requirements for the various data storage types; numeric data and textual data
·  Understand computer decision structures.
o  This objective may include but is not limited to: various decision structures used in all computer programming languages; If decision structures; multiple decision structures such as If…Else and switch/Select Case; reading flowcharts; decision tables; evaluating expressions
·  Identify the appropriate method for handling repetition.
o  This objective may include but is not limited to: For loops, While loops, Do..While loops, and recursion
·  Understand error handling.
o  This objective may include but is not limited to: structured exception handling
Understanding Object-Oriented Programming (19 percent)
·  Understand the fundamentals of classes.
o  This objective may include but is not limited to: properties, methods, events, and constructors; how to create a class; how to use classes in code
·  Understand inheritance.
o  This objective may include but is not limited to: inheriting the functionality of a base class into a derived class
·  Understand polymorphism.
o  This objective may include but is not limited to: extending the functionality in a class after inheriting from a base class; overriding methods in the derived class
·  Understand encapsulation.
o  This objective may include but is not limited to: creating classes that hide their implementation details while still allowing access to the required functionality through the interface; access modifiers
Understanding General Software Development (14 percent)
·  Understand application life cycle management.
o  This objective may include but is not limited to: phases of application life cycle management; software testing
·  Interpret application specifications.
o  This objective may include but is not limited to: reading application specifications and translating them into prototypes, code, and components
·  Understand algorithms and data structures.
o  This objective may include but is not limited to: arrays, stacks, queues, linked lists, and sorting algorithms; performance implications of various data structures; choosing the right data structure
Understanding Web Applications (20 percent)
·  Understand Web page development.
o  This objective may include but is not limited to: HTML, Cascading Style Sheets (CSS), JavaScript
·  Understand Microsoft ASP.NET Web application development.
o  This objective may include but is not limited to: page life cycle; event model; state management; client-side vs. server-side programming
·  Understand Web hosting.
o  This objective may include but is not limited to: creating virtual directories and Web sites; deploying Web applications; understanding the role of Internet Information Services
·  Understand Web services.
o  This objective may include but is not limited to: Web services that will be consumed by client applications; accessing Web services from a client application; SOAP and Web Service Definition Language (WSDL)
Understanding Desktop Applications (12 percent)
·  Understand Windows Forms applications.
o  This objective may include but is not limited to: Windows Forms event model; visual inheritance; UI design; use of Multiple Document Interface (MDI) and Single Document Interface [and here] (SDI) applications
·  Understand console-based applications.
o  This objective may include but is not limited to: characteristics and capabilities of console-based applications
·  Understand Windows Services.
o  This objective may include but is not limited to: characteristics and capabilities of Windows Services
Understanding Databases (17 percent)
·  Understand relational database management systems.
o  This objective may include but is not limited to: characteristics and capabilities of database products; database design; Entity Relationship Diagrams (ERDs); normalization concepts
·  Understand database query methods.
o  This objective may include but is not limited to: structured query language (SQL), creating and accessing stored procedures, updating data and selecting data
·  Understand database connection methods.
o  This objective may include but is not limited to: connecting to various types of data stores such as flat file; XML file; in-memory object; resource optimization


Web Development Fundamentals:

Overview:

About this Exam This exam is designed to allow candidates to assess their knowledge and skills around Web applications using Microsoft and other technologies.
Audience Profile
Candidates for this exam are seeking to prove knowledge and skills in creating Web-based applications by using Visual Studio, the .NET Framework, and managed code. Before taking this exam, candidates should have a solid foundational knowledge in the topics outlined in this preparation guide. It is recommended that candidates gain hands-on experience with the technologies and concepts described here by following a prescribed curriculum that maps to the exam, or by working with tutorials and samples available on MSDN and in Visual Studio. Candidates are expected to have some experience with a .NET language such as C# or VB.NET.
Candidates for this exam are seeking knowledge and job-related skills in the following areas:
·  Understanding Web-based application development fundamentals
·  Creating ASP.NET applications using server-side and client-side coding techniques and tools
·  Understanding the Web application event model
·  Understanding of Web services and communications with services
·  Accessing and displaying data in a Web application
·  Deploying and hosting Web applications using Internet Information Server (IIS)
·  Understanding the use of various configuration options for ASP.NET applications

Skills Measured:

Skills Being Measured This exam measures your ability to accomplish the technical tasks listed below.
The percentages indicate the relative weight of each major topic area on the exam.
Programming Web Applications
·  Customize the layout and appearance of a Web page.
This objective may include but is not limited to: CSS, tables, embedding images, page layout for navigation
·  Understand ASP.NET intrinsic objects.
This objective may include but is not limited to: Request, Server, Application, Session, Response, HttpContext
·  Understand state information in Web applications.
This objective may include but is not limited to: understand how state is stored based on application design and hardware; understand different types such as session state, view state, control state, and application state
·  Understand events and control page flow.
This objective may include but is not limited to: application and page life cycle events; page events; control events; application events; and session events; cross-page posting; Response.Redirect; Server.Transfer; IsPostBack; setting AutoEventWireup
·  Understand controls.
This objective may include but is not limited to: understanding various types of controls, including user, server, Web, and validation controls; know which is the appropriate type of control for a scenario
·  Understand configuration files.
This objective may include but is not limited to: Understanding the usage of web.config and machine.config, and the settings that can be made
Working with Data and Services
·  Read and write XML data.
This objective may include but is not limited to: Understanding XML, XML validation
This objective does not include: Web Services, XPath syntax, XmlDocument, XPathNavigator, XPathNodeIterator, XPathDocument, XmlReader, XmlWriter, XmlDataDocument, XmlNamespaceManager
·  Distinguish between DataSet and DataReader objects.
This objective may include but is not limited to: the ability to choose the proper data object to use based on application requirements/design
·  Call a service from a Web page.
This objective may include but is not limited to: creating a basic WCF Service or Web Service so that it can be consumed; App_WebReferences; configuration
·  Understand DataSource controls.
This objective may include but is not limited to: LinqDataSource, ObjectDataSource, XmlDataSource, SqlDataSource
·  Bind controls to data by using data binding syntax.
This objective may include but is not limited to: ensure that data is updated and displayed in data-aware controls
·  Manage data connections and databases.
This objective may include but is not limited to: database connections; connection objects; connection pools; transaction objects;
Troubleshooting and DebuggingWeb Applications
·  Debug a Web application.
This objective may include but is not limited to: Use in conjunction with custom error pages to display appropriate error information to the appropriate user; implement tracing of a Web application, Trace.axd, Trace=True on @Page directive,
·  Handle Web application errors
This objective may include but is not limited to: HTTP error codes
Working with Client-Side Scripting
·  Understand client-side scripting.
This objective may include but is not limited to: purpose of client-side scripting, various client-side scripting languages
·  Understand AJAX concepts.
This objective may include but is not limited to:ASP.NET AJAX implementation, working with client-side libraries, EnablePartialRendering, Triggers, ChildrenAsTriggers, Scripts, Services, UpdateProgress, Timer, ScriptManagerProxy, extender controls
Configuring and Deploying Web Applications
·  Configure authentication, authorization, and impersonation.
This objective may include but is not limited to: Forms Authentication, Windows Authentication; authorization; file authorization; impersonation
This objective does not include: Windows Cardspace authentication, Passport (Windows Live ID) authentication, Custom authentication
·  Configure projects, solutions, and reference assemblies.
This objective may include but is not limited to: local assemblies, shared assemblies (GAC), Web application projects, solutions; configuration files; AppSettings
·  Publish Web applications.
This objective may include but is not limited to: choosing the appropriate method to deploy an application based on existing or intended environment; updatable vs. not updateable; MSI deployment; Internet Information Server (IIS) installation and configuration.
·  Understand application pools.
This objective may include but is not limited to: purpose of application pools; effect of application pools on Web applications
Not: configuring or assigning application pools

Windows Development Fundamentals:

Overview:

About this Exam This exam is designed to allow candidates to assess their knowledge and skills on developing applications to run on the Microsoft Windows operating system.
Audience Profile
Candidates for this exam are seeking to prove Windows programming and application development knowledge and skills. Before taking this exam, candidates should have a solid foundational knowledge of the topics outlined in this preparation guide. It is recommended that candidates be familiar with the concepts of and have hands-on experience with the technologies described here by either by taking relevant training courses or by working with tutorials and samples available on MSDN and in Microsoft Visual Studio. Candidates are expected to have some experience with a Microsoft .NET language such as C# or Microsoft Visual Basic .NET.
Candidates for this exam are in the process of expanding their knowledge and skills in the following areas:
·  various types of applications that run on Windows
·  how to create graphical user interface (GUI) applications that run on Windows by using Windows Forms or Windows Presentation Foundation (WPF)
·  how Windows Services are programmed and hosted on a computer that runs Windows
·  how to access data from various sources for use in a Windows-based application
·  how to successfully deploy a Windows application to target computers

Skills Measured:

Skills Being Measured This exam measures your ability to accomplish the technical tasks listed below.
The percentages indicate the relative weight of each major topic area on the exam.
Understanding Windows Programming Basics
·  Identify Windows application types.
This objective may include but is not limited to: Windows Forms, Windows Presentation Foundation (WPF), Windows Services, and Win32 applications
·  Implement user interface design.
This objective may include but is not limited to: core user interface design principles for creating graphical-based applications
·  Create Windows-based applications by using Visual Studio.
This objective may include but is not limited to: project types, importance of the various aspects of a Windows Application project
Creating Windows Forms Applications
·  Create and handle events.
This objective may include but is not limited to: methods for creating events in an application; handling events raised in an application
·  Understand Windows Forms inheritance.
This objective may include but is not limited to: implementing forms inheritance in applications for visual inheritance
·  Understand how to create new controls and extend existing controls.
This objective may include but is not limited to: creating a new GUI control or inheriting functionality from an existing control
·  Validate and implement user input.
This objective may include but is not limited to: implementing the correct user input model based on application design and requirements; accepting keyboard and mouse input; validating user input through GUI controls such as text boxes and dialog controls
·  Debug a Windows-based application.
This objective may include but is not limited to: using breakpoints and debugging techniques to identify issues in code; debugging a Windows Services application.
· 
Creating Windows Services Applications
·  Create a Windows Services application.
This objective may include but is not limited to: inheriting the ServiceBase class; writing code in the Main method; overriding the OnStart and OnStop procedures
·  Install a Windows Services application.
This objective may include but is not limited to: creating installers for Windows Services; installing services on a target computer
Accessing Data in a Windows Forms Application
·  Understand data access methods for a Windows Application.
This objective may include but is not limited to: connecting to a database
·  Understand databound controls.
This objective may include but is not limited to: how data is bound to controls; how to display the data in the appropriate manner; forms and WPF binding; validating databound items
Deploying a Windows Application
·  Understand Windows application deployment methods.
This objective may include but is not limited to: different methods of deploying Windows applications; choosing the appropriate method for deployment
·  Create Windows setup and deployment projects.
This objective may include but is not limited to: creating setup projects for applications; specifying custom actions; creating special folders; security requirements; x64 deployment and program files location

Database Fundamentals: