CONTENUTI
Module 1: Review of Visual C# Syntax
- Overview of Writing Application by Using Visual C#
- Data Types, Operators, and Expressions
- Visual C# Programming Language Constructs
Lab: Implementing Edit Functionality for the Students List
- Implementing Insert Functionality for the Students List
- Implementing Delete Functionality for the Students List
- Displaying a Student’s Age
Module 2: Creating Methods, Handling Exceptions, and Monitoring Applications
- Creating and Invoking Methods
- Creating Overloaded Methods and Using Optional and Output Parameters
- Handling Exceptions
- Monitoring Applications
Lab: Extending the Class Enrolment Application Functionality
- Refactoring the Enrolment Code
- Validating Student Information
- Saving Changes to the Class List
Module 3: Basic types and constructs of Visual C#
- Implementing Structs and Enums
- Organizing Data into Collections
- Handling Events
Lab: Writing the Code for the Grades Prototype Application
- Adding Navigation Logic to the Grades Prototype Application
- Creating Data Types to Store User and Grade Information
- Displaying User and Grade Information
Module 4: Creating Classes and Implementing Type-Safe Collections
- Creating Classes
- Defining and Implementing Interfaces
- Implementing Type-Safe Collections
Lab: Adding Data Validation and Type-Safety to the Application
- Implementing the Teacher, Student, and Grade Structs as Classes
- Adding Data Validation to the Grade Class
- Displaying Students in Name Order
- Enabling Teachers to Modify Class and Grade Data
Module 5: Creating a Class Hierarchy by Using Inheritance
- Creating Class Hierarchies
- Extending .NET Framework Classes
Lab: Refactoring Common Functionality into the User Class
- Refactoring Common Functionality into the User Class
- Implementing Password Complexity by Using an Abstract Method
- Creating the ClassFullException Custom Exception
Module 6: Reading and Writing Local Data
- Reading and Writing Files
- Serializing and Deserializing Data
- Performing I/O by Using Streams
Lab: Generating the Grades Report
- Serializing Data for the Grades Report as XML
- Previewing the Grades Report
- Persisting the Serialized Grade Data to a File
Module 7: Accessing a Database
- Creating and Using Entity Data Models
- Querying Data by Using LINQ
Lab: Retrieving and Modifying Grade Data
- Creating an Entity Data Model from The School of Fine Arts Database
- Updating Student and Grade Data by Using the Entity Framework
- Extending the Entity Data Model to Validate Data
Module 8: Accessing Remote Data
- Accessing Data Across the Web
- Accessing Data by Using OData Connected Services
Lab: Retrieving and Modifying Grade Data Remotely
- Creating a WCF Data Service for the SchoolGrades Database
- Integrating the Data Service into the Application
- Retrieving Student Photographs Over the Web (If Time Permits)
Module 9: Designing the User Interface for a Graphical Application
- Using XAML to Design a User Interface
- Binding Controls to Data
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)
Module 10: Improving Application Performance and Responsiveness
- Implementing Multitasking
- Performing Operations Asynchronously
- Synchronizing Concurrent Access to Data
Lab: Improving the Responsiveness and Performance of the Application
- Ensuring That the UI Remains Responsive When Retrieving Teacher Data
- Providing Visual Feedback During Long-Running Operations
Module 11: Integrating with Unmanaged Code
- 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 Word
- Controlling the Lifetime of Word Objects by Implementing the Dispose Pattern
Module 12: Creating Reusable Types and 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 and Applying the IncludeInReport attribute
- Updating the Report
- Storing the Grades.Utilities Assembly Centrally (If Time Permits)
Module 13: Encrypting and Decrypting Data
- Implementing Symmetric Encryption
- Implementing Asymmetric Encryption
Lab: Encrypting and Decrypting the Grades Report
- Encrypting the Grades Report
- Encrypting the Grades Report