Session E-MCP
Contents
Ted Roche has passed fourteen Microsoft certification examinations, starting with the Windows 3.1 exam in 1994. In this session, we will review some of the history of the certification process, the purposes of certification (both Microsoft's and yours) and techniques to get the most from the Microsoft certification process.
The Microsoft Certification program is one of many in the computer industry. Like most vendor certification programs, Microsoft is interested in getting as many people certified as possible, to enhance the perceived support available from their products, and to enhance their standing in the industry in general. At the same time, Microsoft is concerned that the certifications stand for something, that the quality and value of the levels of certification not be diluted. The perception that a skilled test-taker is "certified on paper" but not safe actually operating the software, in the real world, is one that will hurt the credibility of the program and, by extension, the credibility of the vendor themselves.
Certification can be a factor you can use to distinguish yourselves from your competition. It is a good measure of how you compare to others in your profession. It is also a requirement for entering into some relationships with Microsoft, such as the Microsoft Certified Solution Provider program.
A key advantage of Microsoft's certification program is the ability to use the associated Microsoft logo on your business cards, correspondence and web pages.
What Certifications are Available?
Like most of the topics covered in this presentation, details are subject to change. Microsoft very frequently is updating, modifying or innovating new programs, new rules, new benefits and, at the same time, often invalidating old rules, dropping benefits, and changing requirements. So it is important to stay on top of the latest changes, and anticipate that changes will happen in the course of your certification journey.
MCP
MCP, Microsoft Certified Professional, is the base level of certification. Passing any current Microsoft exam (with the exception of Networking Essentials) entitles the candidate as an MCP. MCP+Internet requires three specific exams (TCP/IP, NT Server and IIS) and MCP+Site Building requires two out of three specific exams (Site Builder, FrontPage, and Visual InterDev)
MCSE
One of the premier titles, the Microsoft Certified System Engineer title has a large number of certified professionals who claim significant salary boosts from the title. This is more typically a title for network system administrators and specializes in operating system and BackOffice installation and maintenance. An advanced title, MCSE+I, requires additional Internet-specific exams. Note that not all of the electives for MCSE will be accepted for MCSE+I, so choose carefully if you plan to go for the advanced title in the future.
MCSA – NEW!
The newest Microsoft certification (October, 2001), this is for a System Admin, typically of a smaller network, once who doesn’t need the planning and skills of a Systems Engineer. I suspect this will be an attractive title for many who feel the MCSE is too much for their needs.
MCSD
The one title truly suitable for application developers, the Microsoft Certified Solution Developer title has undergone three changes in core requirements in the past three years. There are no operating systems requirements in the latest version. One core exam, Analyzing Requirements and Designing Solution Architectures, is supplemented with one each of the "Desktop" and "Distributed" exams, as well as one elective.
MCDBA
Another recent addition from Microsoft, MCDBA is designed for database administrators of SQL Server 7.0 and 2000. This is also an excellent title to work towards if you will be involved in the development, deployment and administration of FoxPro solutions using Microsoft SQL Server 7.0 or 2000.
MCT
The Microsoft Certified Trainer title has very little in common with the other titles, other than the logo.
Benefits to Certification
Microsoft lists "industry recognition" as the first benefit to all of the certifications. While there are a fair number of clients who have heard of the Microsoft certification process, few can distinguish between the various certifications. Expect to do a fair amount of education with your clients to get them to understand the value of your certifications.
The Microsoft logo is probably the most prized benefit. Microsoft will supply you with the logo in "copy ready" form, after you sign a licensing agreement. Use this logo on your website, your letterhead and your business cards. The Microsoft certificate looks nice framed on the wall, and I've had clients tell me that it is a prized and respected possession within their organization. I doubt anyone will ever ask you for your wallet card – ask me for mine to prove me wrong.
Finally, the more advanced certifications do get some nice benefits in the way of CDs. People earning the MCSD certification receive a free one-year subscription to TechNet Plus, and MCSDs receive a free year of the MSDN Library. As with all the information in this document, check with your local Microsoft office for the most current information.
Strategies for
Successful Certification:
Pick Your Track
One of the keys to completing your certification track is to act quickly. Choose the track that is appropriate for you, verify the rules for what you need to complete, and sign up for the exams. If the subject matter is one with which you work every day, don't spend forever studying! It is better to lock in a test date two or three weeks in the future and go take the exam. If you pass, you are done. If you fail, you have a better idea what to study, but you have not wasted a lot of time studying material you did not need to study.
A good friend spent months preparing for the Windows Architecture exams. She bought the recommended study materials, installed all of the software to complete all of the exercises, and laboriously worked her way through chapter, after chapter, after chapter. When she was nearly done, Microsoft announced the retirement of the exams. She has not taken another exam since.
Since the goal of achieving the certification is to earn a logo to display in advertising and marketing materials to attract clients in order to make more money, it does not make sense to invest more in passing the exam than the expected return on the investment. Microsoft does not display a list of exams you failed on your transcript, and you do not have to admit to failing them, either. Unlike our days in school, where a high score was a laudable goal, the purpose of these exams is to pass, not to excel.
Q: What do they call the person who graduates at the bottom of their class in medical school?
A: Doctor!
Resources:
Check the Microsoft web site often for changes to the requirements for certification. A few key URLs:
http://www.microsoft.com/mcp/exam/stat/SP70-156.htm for the VFP 6.0 Desktop exam.
http://www.microsoft.com/mcp/exam/stat/SP70-155.htm for the VFP 6.0 Distributed exam.
http://www.microsoft.com/training and services for general information on Training and Certification.
http://www.mcpmag.com for a link to Microsoft Certified Professional magazine.
Check out the e-mail newsletter updates available both from the magazine and from Microsoft, too!
Appendix: Microsoft Visual FoxPro 6.0 Exams
Excerpts from the Microsoft Preparation Guide for Exam 70-155: Designing and Implementing Distributed Applications with Microsoft® Visual FoxPro® 6.0
This certification exam measures your ability to design and implement distributed application solutions by using Microsoft Visual FoxPro version 6.0. Before taking the exam, you should be proficient in the job skills listed below.
Developing the Conceptual and Logical Design
Given a conceptual design, apply the principles of modular design to derive the components and services of the logical design.
Developing a Logical Data Model
Group data into entities by applying normalization rules.
Use the primary key.
Specify the relationships between entities.
Choose the foreign key that will enforce a relationship between entities and ensure referential integrity.
Identify the business rules that relate to data integrity.
Incorporate business rules and constraints into the data model.
Given a situation, decide whether denormalization is appropriate.
Deriving the Physical Design
Assess the potential impact of the logical design on performance, maintainability, extensibility, and availability. Considerations include COM, DCOM, and middle tier.
Design Visual FoxPro components to access data from a database.
Design the properties and methods of components.
Design class libraries. Considerations include inheritance, encapsulation, containership, delegation, and polymorphism.
Establishing the Development Environment
Establish the environment for source-code version control.
Install and configure Visual FoxPro for developing distributed applications.
Establish the development environment to run Microsoft Transaction Server (MTS), Microsoft Internet Information Server (IIS), and Microsoft Message Queue Server (MSMQ).
Creating User Services
Implement navigational design.
Create a menu.
Add a shortcut menu to an application.
Add controls to forms.
Set properties for controls.
Assign code to a control to respond to an event.
Create a toolbar.
Create and manage data input forms and dialog boxes.
Display, manipulate, and bind data by using controls.
Add, delete, and manipulate controls at run time.
Use the Forms collection to manipulate forms at run time.
Given a scenario, add code to the appropriate form event. Events include Init, Destroy, Load, Unload, QueryUnload, Activate, and Deactivate.
Validate user input. Considerations include single-tier, two-tier, and n-tier applications.
Write code that processes data entered on a form.
Add a Microsoft ActiveX control to a form or other container to manipulate data. Controls include TreeView, ListView, ImageList, and Web Browser controls.
Interact with Visual FoxPro from a Web page. Considerations include FoxISAPI, DHTML, ASP, and XML.
Instantiate, invoke, and manipulate a COM component.
Implement online user assistance in a distributed application.
Set appropriate properties to enable user assistance. Help contents include HelpFile, HelpContextID, and WhatsThisHelp.
Create HTML Help for an application.
Implement error handling for the user interface in desktop applications.
Identify and trap run-time errors.
Handle inline errors.
Notify users of errors.
Extend functionality through the Windows API.
Creating and Managing COM Components
Create a COM component that implements business rules or logic.
Create a COM component that interacts with other COM components.
Add error handling to a COM component.
Log errors into an error log for error handling and debugging.
Design and create components that will be used with MTS.
Implement transaction support for a COM component.
Create the appropriate server type for a COM component. Considerations include in-process, out-of-process, and multithreaded.
Create and manage packages by using the MTS Explorer.
Add components to an MTS package.
Use role-based security to limit use of an MTS package to specific users.
Use the Component Gallery to manage components.
Register and unregister a COM component.
Creating Data Services
Access and manipulate data by using ADO and RDS.
Access and manipulate data by using Visual FoxPro data, including local views.
Access and manipulate data by using SQL pass-through.
Access and manipulate data by using remote views and local views.
Manage database transactions to ensure data consistency and recoverability.
Write SQL statements that retrieve and modify data.
Write SQL statements that use joins to combine data from multiple tables.
Write SQL statements that create views.
Use appropriate locking and buffering strategies. Strategies include pessimistic, optimistic, row, and table.
Create and manipulate a Visual FoxPro stored procedure.
Create and implement Visual FoxPro triggers.
Import data from an external data source.
Write SQL statements that update and modify data.
Creating a Physical Database
Programmatically create and maintain Visual FoxPro databases.
Design, create, and implement databases and database tables. Considerations include data integrity, referential integrity, and normalization.
Choose and design an indexing strategy. Considerations include optimization (via Rushmore) and index maintenance.
Create and maintain indexes. Considerations include optimization (via Rushmore), programmatic, visual, and index maintenance.
Testing and Debugging the Solution
Determine appropriate debugging techniques.
Identify and describe the elements of a test plan. Elements include beta testing, regression testing, unit testing, integration testing, and stress testing.
Given a scenario, select the appropriate build options.
Use conditional compilation in an application.
Monitor the values of expressions and variables by using the Debug window.
Use the Immediate window to check or change values.
Use the Watch window to check or change values.
Use the Call Stack window to find bugs in an application.
Use asserts in an application.
Use the Coverage Profiler to identify performance bottlenecks and code coverage.
Use event tracking to determine the order of events.
Set a breakpoint to debug an application.
Deploying an Application
Use the Setup Wizard to create a setup program that installs a distributed application, registers the COM components, and allows for uninstall.
Register a component that implements DCOM.
Configure DCOM on a client computer and on a server computer.
Configure a client computer to use an MTS component, and configure remote automation on a client computer and on a server computer.
Plan and implement floppy disk-based deployment or compact disc-based deployment for a distributed application.
Plan and implement Web-based deployment for a distributed application.
Plan and implement network-based deployment for a distributed application.
Maintaining and Supporting an Application
Plan for and implement disaster recovery procedures.
Fix errors, and take measures to prevent future errors.
Maintain anomaly logs.
Deploy application updates for distributed applications.
Excerpts from the Microsoft Preparation Guide for Exam 70-156: Designing and Implementing Desktop Applications with Microsoft® Visual FoxPro® 6.0
This certification exam measures your ability to design and implement desktop application solutions by using Microsoft Visual FoxPro version 6.0. Before taking the exam, you should be proficient in the job skills listed below.
Developing the Conceptual and Logical Design
Given a conceptual design, apply the principles of modular design to derive the components and services of the logical design.
Developing a Logical Data Model
Group data into entities by applying normalization rules.
Use the primary key.
Specify the relationships between entities.
Choose the foreign key that will enforce a relationship between entities and ensure referential integrity.
Identify the business rules that relate to data integrity.
Incorporate business rules and constraints into the data model.
Given a situation, decide whether denormalization is appropriate.
Deriving the Physical Design
Assess the potential impact of the logical design on performance, maintainability, extensibility, and availability.
Design the Visual FoxPro interface to access data from a database.
Design the properties and methods of the interface.
Design class libraries. Considerations include inheritance, encapsulation, containership, delegation, and polymorphism.
Establishing the Development Environment
Establish the environment for source-code version control.
Install and configure Visual FoxPro for developing desktop applications.
Creating User Services
Implement navigational design.
Create a menu.
Add a shortcut menu to an application.
Add controls to forms.
Set properties for controls.
Assign code to a control to respond to an event.
Create a toolbar.
Create and manage data input forms and dialog boxes.
Display, manipulate, and bind data by using controls.
Add, delete, and manipulate controls at run time.
Use the Forms collection to manipulate forms at run time.
Given a scenario, add code to the appropriate form event. Events include Init, Destroy, Load, Unload, QueryUnload, Activate, and Deactivate.
Validate user input. Considerations include single-tier, two-tier, and n-tier applications.
Write code that processes data entered on a form.
Add a Microsoft ActiveX control to a form or other container to manipulate data. Controls include TreeView, ListView, ImageList, and Web Browser controls.
Provide a personalized interface for users that is based on user profiles or group membership.
Instantiate, invoke, and manipulate a COM component. Considerations include office automation.
Implement online user assistance in a desktop application.
Set appropriate properties to enable user assistance. Help contents include HelpFile, HelpContextID, and WhatsThisHelp.
Create HTML Help for an application.
Implement error handling for the user interface in desktop applications.
Identify and trap run-time errors.
Handle inline errors.
Notify users of errors.
Extend functionality through the Windows API.
Create and manage reports.
Creating and Managing COM Components
Create a COM component that implements business rules or logic.
Create a COM component that interacts with other components.
Add error handling to a COM component.
Log errors into an error log for error handling and debugging.
Use the Component Gallery to manage components.
Register and unregister a COM component.
Creating Data Services
Access and manipulate data by using ADO and ODBC.
Access and manipulate data by using Visual FoxPro native data handling and querying capabilities, including local views.
Access and manipulate data by using SQL pass-through.
Access and manipulate data by using remote views.
Manage database transactions to ensure data consistency and recoverability.
Write SQL statements that retrieve and modify data.
Write SQL statements that use joins to combine data from multiple tables.
Write SQL statements that create views.
Use appropriate locking and buffering strategies to ensure data integrity. Strategies include pessimistic, optimistic, row, and table.
Create and manipulate Visual FoxPro stored procedures.
Create triggers that implement rules.
Creating a Physical Database
Programmatically create and maintain Visual FoxPro databases.
Create databases and database tables that enforce data integrity and referential integrity.
Create and maintain indexes. Considerations include optimization (via Rushmore), programmatic, and visual.
Testing and Debugging the Solution
Determine appropriate debugging techniques.
Identify and describe the elements of a test plan. Elements include beta testing, regression testing, unit testing, integration testing, and stress testing.
Given a scenario, select the appropriate build options.
Use conditional compilation in an application.
Monitor the values of expressions and variables by using the Debug window.
Use the Watch window to check or change values.
Use the Locals window to check or change values.
Use the Call Stack window to find bugs in an application.
Use asserts in an application.
Use the Coverage Profiler to identify performance bottlenecks and code coverage.
Use event tracking to determine the order of events.
Set a breakpoint to debug an application.
Deploying an Application
Use the Setup Wizard to create a setup program that installs a desktop application, registers the COM components, and allows for uninstall.
Plan and implement floppy disk-based deployment or compact disc-based deployment for a desktop application.
Plan and implement Web-based deployment for a desktop application.
Plan and implement network-based deployment for a desktop application.
Maintaining and Supporting an Application
Plan for and implement disaster recovery procedures.
Fix errors, and take measures to prevent future errors.
Maintain anomaly logs.
Deploy application updates for desktop applications.
© 1999