3 Course Details Describe the core syntax and features of C#. Create and call methods, catch and handle exceptions, and describe the monitoring requirements of large-scale applications. Implement the basic structure and essential elements of a typical desktop application. Create classes, define and implement interfaces, and create and use generic collections. Use inheritance to create a class hierarchy, extend a.net Framework class, and create generic classes and methods. Read and write data by using file input/output and streams, and serialize and deserialize data in different formats. Create and use an entity data model for accessing a database and use LINQ to query and update data. Use the types in the System.Net namespace and WCF Data Services to access and query remote data. Build a graphical user interface by using XAML. Improve the throughput and response time of applications by using tasks and asynchronous operations. Integrate unmanaged libraries and dynamic components into a C# application. Examine the metadata of types by using reflection, create and use custom attributes, generate code at runtime, and manage assembly versions. Encrypt and decrypt data by using symmetric and asymmetric encryption. Course OutlineModule 1: Review of C# SyntaxThis module reviews the core syntax and features of the C# programming language. It also provides an introduction to the Visual Studio 2012 debugger. Overview of Writing Applications using C# Datatypes, Operators, and Expressions C# Programming Language Constructs Lab : Developing the Class Enrolment Application Implementing Edit Functionality for the Students List Implementing Insert Functionality for the Students List Implementing Delete Functionality for the Students List Displaying the Student Age Describe the architecture of.net Framework applications and use the features that Visual Studio 2012 and C# provide to support.net Framework development. Use the basic data types, operators, and expressions provided by C#. Use standard C# programming constructs. Module 2: Creating Methods, Handling Exceptions, and Monitoring ApplicationsThis module explains how to create and call methods, catch and handle exceptions. This module also describes the monitoring requirements of large-scale applications. Creating and Invoking Methods Creating Overloaded Methods and Using Optional and Output Parameters Handling Exceptions
4 Monitoring Applications Lab : Extending the Class Enrolment Application Functionality Refactoring the Enrolment Code Validating Student Information Saving Changes to the Class List Create and invoke methods, pass parameters to methods, and return values from methods. Create overloaded methods, and use optional parameters and output parameters. Catch and handle exceptions and write information to the event log. Explain the requirement for implementing logging, tracing, and profiling when building large-scale applications. Module 3: Developing the Code for a Graphical ApplicationThis module describes how to implement the basic structure and essential elements of a typical desktop application, including using structures and enumerations, collections, and events. Implementing Structs and Enums Organizing Data into Collections Handling Events Lab : Writing the Code for the Grades Prototype Application Adding Navigation Logic to the Application Creating Data Types to Store User and Grade Information Displaying User and Grade Information Define and use structures and enumerations. Create and use simple collections for storing data in-memory. Create, subscribe to, and raise events. Module 4: Creating Classes and Implementing Type-safe Collections This module explains how to create classes, define and implement interfaces, and create and use generic collections. This module also describes the differences between value types and reference types in C#. Creating Classes Defining and Implementing Interfaces Implementing Type-safe Collections Lab : Adding Data Validation and Type-safety to the Grades Application Implementing the Teacher, Student, and Grade Types as Classes Adding Data Validation to the Grade Class Displaying Students in Name Order Enabling Teachers to Modify Class and Grade Data Create and use custom classes. Define and implement custom interfaces. Use generics to implement type-safe collections. Module 5: Creating a Class Hierarchy by Using InheritanceThis module explains how to use inheritance to create a class hierarchy and extend a.net Framework class. This module also describes how to create generic
5 classes and define extension methods. Creating Class Hierarchies Extending.NET Framework Classes Creating Generic Types Lab : Refactoring Common Functionality into the User Class Creating and Inheriting from the User Base Class Implementing Password Complexity by Using an Abstract Method Creating the ClassFullException Class Define abstract classes and inherit from base classes to create a class hierarchy. Inherit from.net Framework classes and use extension methods to add custom functionality to the inherited class. Create generic classes and methods. Module 6: Reading and Writing Local DataThis module explains how to read and write data by using file input/output (I/O) and streams, and how to serialize and deserialize data in different formats. Reading and Writing Files Serializing and Deserializing Data Performing I/O Using Streams Lab : Generating the Grades Report Serializing the Data for the Grades Report as XML Previewing the Grades Report Persisting the Serialized Grades Data to a File Read and write data to and from the file system by using file I/O. Convert data into a format that can be written to or read from a file or other data source. Use streams to send and receive data to or from a file or other data source. Module 7: Accessing a DatabaseThis module explains how to create and use an entity data model for accessing a database, and how to use LINQ to query and update data. Creating and Using Entity Data Models Querying Data by Using LINQ Updating Data by Using LINQ Lab : Retrieving and Modifying Grade Data Creating an Entity Model from the The School of Fine Arts Database Updating Student and Grade Data Using the Entity Framework Extending the Entity Model to Validate Data Create an entity data model, describe the key classes contained in the model, and customize the generated code. Use LINQ to query and work with data. Use LINQ to insert, update, and delete data. Module 8: Accessing Remote Data This module explains how to use the types in the System.Net namespace, and WCF Data Services, to query and modify remote data.
6 Accessing Data Across the Web Accessing Data in the Cloud Lab : Retrieving and Modifying Grade Data in the Cloud Creating a WCF Data Service for the SchoolGrades Database Integrating the WCF Data Service into the Application Retrieving Student Photographs Over the Web (if time permits) Use the classes in the System.Net namespace to send and receive data across the Web. Create and use a WCF Data Service to access data in the cloud. Module 9: Designing the User Interface for a Graphical ApplicationThis module explains how to build and style a graphical user interface by using XAML. This module also describes how to display data in a user interface by using data binding. Using XAML to Design a User Interface Binding Controls to Data Styling a User Interface Lab : Customizing Student Photographs and Styling the Application Customizing the Appearance of Student Photographs Styling the Logon View Animating the StudentPhoto Control (If Time Permits) Define XAML views and controls to design a simple graphical user interface. Use XAML data binding techniques to bind XAML elements to a data source and display data. Add styling and dynamic transformations to a XAML user interface. Module 10: Improving Application Performance and ResponsivenessThis module explains how to improve the throughput and response time of applications by using tasks and asynchronous operations. Implementing Multitasking by using Tasks and Lambda Expressions Performing Operations Asynchronously Synchronizing Concurrent Access to Data Lab : Improving the Responsiveness and Performance of the Application Ensuring that the User Interface Remains Responsive When Retrieving Data for Teachers Providing Visual Feedback During Long-Running Operations Create tasks and lambda expressions to implement multitasking. Define and use asynchronous methods to improve application responsiveness. Coordinate concurrent access to data shared across multiple tasks by using synchronous primitives and concurrent collections. Module 11: Integrating with Unmanaged CodeThis module explains how to integrate unmanaged libraries and dynamic components into a C# application. This module also describes how to control the lifetime of unmanaged resources. Creating and Using Dynamic Objects Managing the Lifetime of Objects and Controlling Unmanaged Resources Lab : Upgrading the Grades Report Generating the Grades Report by Using Microsoft Office Word Controlling the Lifetime of Word Objects by Implementing the Dispose Pattern
7 Integrate unmanaged code into a C# application by using the Dynamic Language Runtime. Control the lifetime of unmanaged resources and ensure that they are disposed properly. Module 12: Creating Reusable Types and AssembliesThis module explains how to examine the metadata of types by using reflection, create and use custom attributes, generate managed code at runtime, and manage different versions of assemblies. Examining Object Metadata Creating and Using Custom Attributes Generating Managed Code Versioning, Signing and Deploying Assemblies Lab : Specifying the Data to Include in the Grades Report Creating the IncludeInReport Attribute Generating the Report Storing the Grades.Utilities Assembly Centrally Examine the metadata of objects at runtime by using reflection. Create and use custom attribute class. Generate managed code at runtime by using CodeDOM. Manage different versions of an assembly and deploy an assembly to the Global Assembly Cache. Module 13: Encrypting and Decrypting DataThis module explains how to encrypt and decrypt data by using symmetric and asymmetric encryption. Implementing Symmetric Encryption Implementing Asymmetric Encryption Lab : Encrypting and Decrypting Grades Reports Encrypting the Grades Report Decrypting the Grades Report Perform symmetric encryption by using the classes in the System.Security namespace. Perform asymmetric encryption by using the classes in the System.Security namespace. Prerequisites Developers attending this course should already have gained some limited experience using C# to complete basic programming tasks. More specifically, students should have hands-on experience using C# that demonstrates their understanding of the following: How to name, declare, initialize and assign values to variables within an application. How to use: arithmetic operators to perform arithmetic calculations involving one or more variables; relational operators to test the relationship between two variables or expressions; logical operators to combine expressions that contain relational operators. How to create the code syntax for simple programming statements using C# language keywords and
8 recognize syntax errors using the Visual Studio IDE. How to create a simple branching structure using an IF statement. How to create a simple looping structure using a For statement to iterate through a data array. How to use the Visual Studio IDE to locate simple logic errors. How to create a Function that accepts arguments (parameters and returns a value of a specified type. How to design and build a simple user interface using standard controls from the Visual Studio toolbox. How to connect to a SQL Server database and the basics of how to retrieve and store data. How to sort data in a loop. How to recognize the classes and methods used in a program. Course 20484C: Essentials of Developing Windows Store Apps Using C# Overview About this Course In this course students will learn essential programming skills and techniques that are required to develop Windows Store apps. This includes a combination of both design and development skills, as well as ensuring that students are comfortable using and making the most of the Microsoft Visual Studio and Expression Blend tools. This course maps to the exam. Audience Profile This course is intended for professional developers who have 1 to 2 years of experience creating client applications and who are comfortable programming in C# and have done some XAML-based programming. At Course Completion After completing this course, students will be able to: Describe the Windows 8.1 platform and features, and explore the basics of a Windows app interface. Create the User Interface layout and structure by using XAML. Use data binding to present data in the UI. Implement the AppBar and layout controls. Handle files and streams. Respond to application lifecycle events using Process Lifetime Management and the PLM extensibility points provided by the Visual Studio 2013 templates. Use templates to create the UI. Handle navigation scenarios in a Windows Store app. Design and implement contracts such as Search, Share and Settings.
9 Course Details Implement tiles and toast notifications in a Windows Store app. Respond to mouse, keyboard and touch events, including gestures. Deploy a Windows Store app to the Windows Store or an enterprise store. Course OutlineModule 1: Overview of the Windows 8.1 Platform and Windows StoreApps This module introduces you to the Windows 8.1 user experience and features, Windows Store apps, and the new user interface. Understanding how Windows Store apps look and operate is key to understanding the principles you will use to develop your own Windows Store apps, and thus making your apps more intuitive, compelling, and useful. Introduction to the Windows 8.1 Platform Windows 8.1 UI Principles WinRT and Language Projections Lab : Overview of the Windows 8.1 Platform and Windows Store Apps Exploring the Windows 8.1 Platform Exploring a Windows Store App Describe the Windows 8.1 platform, architecture, and features. Explain the basics of the Windows 8.1 UI and Windows Store app experience and how the experience differs from Windows desktop apps. Explain the new API model, how it supports building Windows Store apps, and how it supports multiple language-specific projections. Module 2: Creating User Interfaces Using XAML In this module you will learn about the basic principles behind XAML, you will learn how to use XAML and the corresponding code-behind to create a responsive UI. you will also learn how dynamic and complex user interfaces are developed by using advanced features of XAML. XAML Basics XAML Code-Behind Advanced XAML Lab : Creating User Interfaces by Using XAML Creating the User Interface by using Visual Studio 2013 Enhancing the UI by using Visual Studio 2013 Describe the basic principles behind XAML. Use XAML and the corresponding code-behind to create a responsive UI. Understand how dynamic and complex UIs are developed by using advanced features of XAML. Module 3: Presenting Data This module explains how to ensure that your app supports various devices and screen orientations. Working with Data Presentation Controls
10 The GridView Control Lab : Presenting Data Presenting the Note Data in the GridView Control Explain the different ways in which data can be displayed in Windows Store apps. Use the GridView control to present groups of data in a dynamic and flexible view. Module 4: Implementing Layout Using Windows 8.1 Built-In Controls In this module, you will learn how by using the built-in controls and recommended methods, you can create intuitive apps that employ the common Windows 8.1 UI patterns across a variety of devices, with different form factors, and different input methods. WinRT Controls AppBar Control Windowing Modes Lab : Implementing Layout by Using Built-In Controls in Windows 8.1 Implementing an App Bar Describe the WinRT library and controls. Describe the app bar and explain the app bar functionality. Describe how to create views with an adaptive layout, and explain the best practices. Module 5: Handling Files in Windows Store Apps In this module you will learn how to use files, streams, and pickers so that the user can store and retrieve information managed by your app. Handling Files and Streams in Windows Store Apps Working with File User Interface Components Lab : Handling Files in Windows Store Apps Using the File API to Read and Write Data from the Notes Files Adding Photos to a Note by using File Picker Work with files and streams by using WinRT. Use WinRT pickers to display a UI that lets the user select an item, such as a file or a contract. Module 6: Windows Store App Process Lifetime Management This module covers the app life cycle, app state management, and various app activation states. Understanding PLM is important for properly persisting data across suspensions, recovering from termination, and sharing settings between app installations on multiple devices. Process Lifetime Management Windows Store App Activation and Background Tasks Implementing a State Management Strategy Lab : Windows Store App Process Lifetime Management Exploring the Different PLM States Implementing State Management
11 Describe the various states of a Windows Store app. Describe app activation modes. Implement app state management. Module 7: Working with Resources, Styles, and Templates In this module you will learn how to use resources, styles and templates. Creating Shared Resources Creating Styles and Templates Lab : Working with Styles and Templates Creating a Control Style and Template Create shared resources, which can be reused across multiple UI elements. Create custom styles and templates, to provide a consistent look for your app. Module 8: Designing and Implementing Navigation in a Windows Store app In this module you will learn how to design and implement navigation in a Windows Store app. you will also learn how to implement semantic zoom in a Windows Store app. Handling Navigation in Windows Store apps Semantic Zoom Lab : Designing and Implementing Navigation in a Windows Store App Adding Navigation to the ILoveNotes App Implementing Semantic Zoom Implement navigation and pass data between pages in your apps. Explain the purpose and functionality of Semantic Zoom in a Windows Store app. Module 9: Implementing Windows 8.1 Contracts This module introduces contracts and charms. These are two new Windows 8.1 features you can use to create a consistent and unified experience across Windows Store apps. By using contracts, you can make it easier for users to search for the content of your app, to discover and modify common settings, and to share data with other apps. Designing for Charms and Contracts The Search Contract and the SearchBox Control The Share Contract Managing App Settings Lab : Implementing Windows 8.1 Contracts Implementing the Search Contract Implementing the Share Contract Adding a New Setting to the Settings Pane Optional: Implementing Search with the SearchBox Control Design apps to use charms and contracts.
12 Implement the Search contract. Implement the Share Target and Share Source contracts. Describe the Settings pane and add settings commands. Module 10: Implementing Tiles and User Notifications In this module you will learn how to implement tiles and user notifications. Implementing Tiles, Live Tiles, Secondary Tiles, and Badge Notifications Implementing Toast Notifications Lab : Implementing Tiles and User Notifications Enabling Live Tile Functionality on the Main Tile Adding Secondary Tiles Functionality Adding Scheduled Toast Notifications for ToDo Notes Implement tiles, live tiles, and secondary tiles that draw the user back to your app. Implement toast notifications to display important information. Module 11: Designing and Implementing a Data Access Strategy This module describes the various data access strategies that you can use in app development, and it specifically focuses on the best practices for remote storage. Evaluating Data Access Strategies Working with Remote Data Lab : Designing and Implementing a Data Access Strategy Answer These Questions Describe various data access strategies and when to apply them. Describe common use cases that occur while working with remote data. Module 12: Responding to Mouse and Touch In this module, you will learn how to successfully include all the three interaction types in Windows Store apps Working with Pointer Events Working with Gesture Events Lab : Responding to Mouse and Touch Implementing Mouse Events Implementing Gesture Events Describe mouse events and touch gestures in Windows 8.1. Identify the best practices for handling gestures. Module 13: Planning for Windows Store App Deployment In this module, you will learn about the process of preparing and submitting a Windows Store app to the Windows Store. This includes changes to the app manifest, passing app certification, meeting Windows Store app certification requirements, and using Windows Store-related tools in Visual Studio Finally, you will
13 learn how to submit apps to the Windows Store and a private enterprise store. The Windows Store App Manifest Windows Store App Certification Change the package manifest of an app to meet the requirements for deploying to the Windows Store. Deploy an app to the Windows Store and prepare an app for enterprise deployment. Prerequisites Before attending this course, students must have: 1 or more years of experience creating applications 1 to 3 months experience creating Windows client applications 1 to 3 months experience using Visual Studio 2010 or 2012 Attended Course 20483C: Programming in C#, or equivalent knowledge Course 20485C: Advanced Windows Store App Development Using C# Overview About this Course This course you will learn advanced programming practices and techniques that will help you develop Windows Store apps. In this course, you will learn how design and develop Windows Store apps, as well as implement advanced features, such as using location information, streaming media to external devices, and integrating with online services. You will also learn how to use Microsoft Visual Studio 2013 and Expression Blend tools. This course maps to the exam. Windows Azure is required or used as part of the lab for this course, which may not be available in all countries. Please check with your Microsoft training provider that this cloud service is available in your area. Training Providers please reference the course setup guide for more details. Audience Profile This course is intended for professional developers who have one or more years of experience creating applications for a production environment and who are comfortable programming in C# and XAML to create Windows Store apps. At Course Completion After completing this course, students will be able to: Review basic Windows Store app concepts and how Windows Store apps integrate with the Windows 8.1 ecosystem. Explore the built-in WinRT animation library and storyboards, and apply transitions and transformations. Localize the Windows Store app UI and apply language-specific formatting to a multi-lingual app. Create and present a successful splash screen, and differentiate your app with branding.
14 Course Details Use various storage mechanisms, choose a suitable caching strategy for their app, and use advanced file access methods. Work with custom and template controls, and create and consume a WinRT component. Print using the Printing API and explore the Play To API. Explore the Push Notification Service (WNS), and work with push notifications. Use the CameraCaptureUI API and the MediaCapture API. Create and consume background tasks. Discover sensors, test their availability, and handle sensor events and device availability, and enumerate devices and their capabilities and properties and use the capabilities. Course OutlineModule 1: Windows Store App Essentials In this module, you will get an overview of the Windows 8.1 user experience and features, and will become acquainted with the Windows Store apps and the new user interface. You will review the process of developing apps by using XAML to create the user interface, and the WinRT API to interact with the platform. Review Windows Store App Essentials Review Windows Store App Essentials Under the Hood Describe the Windows 8.1 platform, architecture, and features. Describe the process of creating user interfaces with XAML. Explain the new WinRT API model. Describe the basics of working with files, implementing contracts, displaying notifications, and deploying your app to the Windows Store. Module 2: Implementing Animations and Transitions In this module, you will learn how to add animations to your Windows Store apps, and how to take advantage of the functionality offered by the VisualStateManager class. Using Animations Working with Transitions and Transformations Lab : Implementing Animations and Transitions Creating Animations in a Windows Store App Creating Transitions in a Windows Store App Use both built-in and custom animations, and storyboards. Apply transformations to UI elements and use the VisualStateManager class to create fluid UI transitions. Module 3: Implementing Globalization and Localization In this module you will learn how globalization prepares an app for a global audience. This involves changing culture-specific elements of the user interface, such as dates, times, currencies, languages, and more.
15 Localization takes globalization further by supporting specific languages, cultures, and regions. Working with Resource Files Implementing Culture-Specific Formatting Lab : Implementing Globalization and Localization Creating and Consuming the Resource Files Applying Culture-Specific Formatting Create and use resource files for localization. Implement culture-specific formatting. Module 4: Branding and a Seamless UI This module explains how to brand your app and add a branded splash screen to improve user experience. Branding Customizing the Splash Screen Branding Your App s UI Lab : Branding and Seamless UI Creating a Customize Splash Screen Branding a Windows Store App Create a splash screen for a Windows Store app. Apply branding to a Windows Store app. Module 5: Advanced Data Scenarios in a Windows Store App In this module, you will learn about the new file storage capabilities of Windows 8.1.In addition, you will learn how to use the file storage capabilities in your apps. You will also learn how to design and implement more useful data storage through caching and how to set up file extensions, associations, and compression. These features will help you to provide a better experience to the user by increasing the responsiveness of your app, and lowering its resource usage. Windows Store App Storage Options Implementing Data Caching Advanced File Functionality Lab : Caching Data Caching Data Use file storage in a Windows Store app. Explain what caching is, and how and when to use it in a Windows Store app. Set up file extensions and associations in an app. Compress files in your app. Module 6: Creating Reusable Controls and Components In this module, you will learn how the Windows Runtime (WinRT) contains a rich set of XAML controls, such as GridView, ListView, FlipView, and AppBar. In many cases, you can use these controls to create fully functional apps. However, if the built-in controls do not contain the functionality that you need, you can create
17 Module 8: The Windows Push Notification Service This module explains Windows Push Notifications. Introduction to The Push Notification Service Communicating with the WNS Lab : The Windows Push Notification Service Manage a Windows Notification Service Channel Explain how Windows push notifications work. Use Windows push notifications in a Windows Store app. Module 9: Capturing Media In this module, you will learn how to include media capturing functionality in your app. Learning to leverage the Windows Runtime (WinRT) media capturing APIs can help you create an exciting and successful app. Using CameraCaptureUI to Capture Pictures, Videos or Audio Using MediaCapture to Capture Pictures, Video, or Audio Lab : Capturing Media Capturing Video by Using the CameraCaptureUI API Capturing an Image by Using the MediaCapture API Use the CameraCaptureUI API to capture pictures, videos and audio. Use the MediaCapture API to capture pictures, videos and audio. Module 10: Background Tasks This module explains how to create, register, and use background tasks for Windows Store apps. Creating Background Tasks Using Background Tasks in a Windows Store App Lab : Background Tasks Transfer Files in the Background Create and Consume a Background Task Create background tasks for your Windows Store app. Use background tasks in your Windows Store app. Module 11: Working with Sensors and Devices This module describes some of the sensors and devices available to a Windows Store app and explains how to access them from your Windows Store app. Working with Sensors Working with Devices Lab : Working with Sensors and Devices Using the SimpleOrientationSensor Using Location Services Using Geofencing
18 Discover and access sensors and act upon sensor data from a Windows Store app. Discover and interact with devices from a Windows Store app. Module 12: Generating Revenue with Your Windows Store App This module will introduce you to the options you have, as a developer, to make money with your Windows Store apps. Implementing Trial Functionality in a Windows Store App Implementing In-App Purchases Advertising in a Windows Store App Lab : Generating Revenue with your App Use Windows.Store Classes to Support Trial App Conversion Implement In-App Purchasing in an App Implement trial functionality in your Windows Store app. Implement in-app purchases in your Windows Store app. Incorporate advertising in your Windows Store app. Module 13: Securing Windows Store App Data In this module, you will learn how to create an application that is secure at the client and server side, and provides protection for your data. You will also learn how to implement a security protocol that lets you communicate with services such as Windows Azure and Microsoft SkyDrive. Managing Windows Authentication Managing Web Authentication Encryption in Windows Store Apps Lab : Securing Windows Store App Data Use ACS Authentication Encrypt User Information Manage Windows authentication. Manage Web authentication. Encrypt data. Module 14: Tracing and Profiling Windows Store Apps In this module, you will learn the techniques that help you to analyze your code for potential issues, create run time logs efficiently, and diagnose various types of performance problems in your Windows Store app. Analyzing a Windows Store App Tracing a Windows Store App Profiling a Windows Store App Lab : Tracing and Profiling Windows Store Apps Profiling Performance Profiling Memory Usage
19 Analyze the code of your Windows Store app to find potential problems. Trace the run time flow of your Windows Store app. Diagnose CPU and memory performance problems in your Windows Store app. Prerequisites Before attending this course, students must have: 6 12 months experience programming in C# 3 6 months experience using Visual Studio 2013 (including experience using preview builds) 1 month of experience working on Windows Store apps