Progamming Fundamentals of Web applications with Visual Studio
Programme
Module 1: Overview of Microsoft Web Technologies
- The goal of this module is to provide an overview of web technologies provided by Microsoft for creating and hosting web applications.
- These web technologies include IIS, Windows Azure, SQL Server, SQL Database, ASP.NET, WebMatrix 2, and Visual Studio.
- After completing this module, students will have a high-level understanding of each technology and how it fits into the overall web stack, but they may not be able to provide detailed information.
Lessons
- Introduction to Web Fundamentals
- Introduction to the Microsoft Web Stack
- Introduction to the Open Source Application Gallery
Lab : Creating a Website in Windows Azure
- Getting Started with Windows Azure
- Creating a Website Based on an Application from the Gallery
After completing this module, students will be able to:
- describe the components of Microsoft web technologies that developers can use to host websites, host data, execute code, and develop code.
Module 2: Exploring WebMatrix 2
- The goal of this module is to encourage students to adopt modern best practices in the way they organize a web application project.
- For example, they should understand the importance of planning an application in full, before they write any code.
- In addition, this module describes the high-level features of WebMatrix 2.
Lessons
- The Project Life Cycle
- Introduction to Microsoft WebMatrix 2
Lab : Exploring WebMatrix 2
- Installing WebMatrix 2
- Editing a Site in WebMatrix
After completing this module, students will be able to:
- describe how a website is developed, including the planning, development, testing, iteration, and release phases; and use WebMatrix 2 in each phase.
Module 3: Building Simple Websites in WebMatrix 2
- The goal of this module is to show the students how to begin creating a simple website in WebMatrix 2 and how to populate it with webpages that use the Razor view engine to render pages.
Lessons
- Building Webpages in WebMatrix 2
- Using Razor Syntax to Build Dynamic Pages
Lab : Building Simple Websites in WebMatrix 2
- Creating a WebMatrix 2 Site
- Adding Razor Views to a Site
- Validating User Input
After completing this module, students will be able to:
- create a site website in WebMatrix 2 and add dynamic web pages to it that interact with the user.
Module 4: Building Data-Driven Websites in WebMatrix 2
- The goal of this module is to introduce the students to the advantages of using a database to persist any data you may want to display on your website.
- The module introduces simple database concepts such as primary keys and data types.
- It also teaches how to add databases in WebMatrix 2 by using SQL Compact edition.
- Following this, the module shows how to add code to a Razor view to display the data that is stored in the SQL Compact database.
Lessons
- Introduction to Databases
- Creating a Database in WebMatrix 2
- Displaying Data
Lab : Building Data-Driven Websites in WebMatrix 2
- Adding a Database and Defining Data
- Creating an Offer Display
After completing this module, students will be able to:
- describe how to store data in a database and display it on a WebMatrix 2 site to create a dynamic web application.
Module 5: Adding Rich Content to WebMatrix 2 Websites
- The goal of this module is to describe how to build a compelling website by including media content.
- The students will learn how to display audio, video, and images both by using HTML5 and by using earlier standards.
- In the lab, images will be retrieved from a database and videos will be retrieved from a website folder.
Lessons
- Adding Media Content
- Using HTML5 in a Website
Lab : Adding Rich Content to WebMatrix 2 Websites
- Adding Graphics to the Offers Display
- Rendering Video Content with HTML5
After completing this module, students will be able to:
- integrate images, audio files, video files, and other media into a web application for different browsers.
Module 6: Designing the WebMatrix 2 Website
- The goal of this module is to describe how professional developers apply branding, graphic design, and a consistent layout to a website.
- This is essential to create a good impression for site visitors and to attract them back for return visits.
- The module also discusses the importance of a clear navigation structure that enables visitors to locate the page they need rapidly.
Lessons
- Structuring a Website
- Applying Template Views
- Applying Styles to a Website
- Adapting a Site for Mobile Browsers
Lab : Designing the WebMatrix 2 Website
- Creating a Template View
- Adding Navigation Controls
- Adding Styles to a Website
- Adapting to Mobile Browsers
After completing this module, students will be able to:
- apply a consistent look and feel and an easy-to-use navigation hierarchy to a website.
Module 7: Deploying a WebMatrix 2 Web Applications
- The goal of this module is to describe how a website is hosted for customer-facing purposes.
- The module discusses IIS web servers running on client premises and at ISVs and in single and multi-server farms.
- Windows Azure is also covered as a website host.
- The location data is stored for a production site is also considered.
- In this context, SQL Server and SQL Database are discussed.
- The students are then told about WebMatrix 2 Remote tools, which can ensure synchronization between the development and production versions of a site.
Lessons
- Hosting Web Applications
- Hosting Databases
- Deploying to your Chosen Locations
Lab : Deploying a WebMatrix 2 Web Application
- Creating a Web Application in Windows Azure
- Deploying a Web Application to Windows Azure
- Making Changes to a Published Web Application
After completing this module, students will be able to:
- describe possible locations for hosting a production website and deploy a completed website to a chosen hosting provider.
Module 8: Troubleshooting WebMatrix 2 Websites
- The goal of this module is to equip students with techniques they can use for diagnosis and correction when exceptions and web error messages appear in their site.
- The tools covered include the developer tools in Internet Explorer and the Error List and Request tools in WebMatrix 2.
- Students also see how to configure their site to display a custom error page to site visitors, with a friendly, branded message.
Lessons
- Sources of Errors
- Using Internet Explorer Developer Tools
- Troubleshooting Problems
Lab : Troubleshooting WebMatrix 2 Websites
- Diagnosing Incorrect CSS Styles
- Diagnosing Slow Page Load Times
- Configuring Custom Error Messages
After completing this module, students will be able to:
- describe the common sources of website errors and use WebMatrix 2 tools and coding techniques to diagnose problems and correct code.
Module 9: Consuming Services and Data from the Web
- The goal of this module is to describe the many services available on the web that provide data in different formats, which may be of use to your web application.
- This module focuses on writing code that calls such services, and not on reusing open source components that call such services.
- Students will see example web services, data sets from the Windows Azure Marketplace, and oData feeds.
- They will learn how to reuse such data and assemble it into mash-ups.
Lessons
- Calling Web Services from a Web Application
- Public Data Sources
Lab : Consuming Data and Services from the Web
- Building a Bing Maps Display
- Building a Top Products Display
After completing this module, students will be able to:
- integrate information supplied from web Services, data feeds, RESTful services and other sources into a web application.
Module 10: Enriching a WebMatrix 2 Website by Using Open Source Components
- The goal of this module is to show the students that many highly functional open source packages are available within WebMatrix 2 through the NuGet tool.
- Developers can add, adapt, and use these packages in their application to implement advanced functionality without coding it from scratch.
- This approach can hugely accelerate the development of a web project.
Lessons
- Overview of Open Source Packages in NuGet
- Browsing, Installing, and Using Packages
Lab : Enriching a WebMatrix 2 Website by Using Open Source Components
- Adding Social Media Features
- Controlling the Image Sizes
After completing this module, students will be able to:
- browse the packages available in the NuGet tool, select a package that matches a functional requirement, add it to a web application, and write code that utilizes the features of the package.
Module 11: Securing a WebMatrix 2 Website
- The goal of this module is to ensure that students fully understand common techniques an attacker might use to break a website and how to protect sites against such attacks.
- The module also describes how websites can authenticate a user to determine if they should receive a higher level of access to content.
- Students will learn how to enable users to manage their own passwords and how to create multiple user roles.
Lessons
- Developing Websites That Resist Attack
- Controlling Access to a Website
- Working with Roles and Memberships
Lab : Securing a WebMatrix 2 Website
- Adding Authentication to the Website
- Restricting Access to Webpages
- Providing Membership Services to Users
- Encrypting Communications for Sensitive Data
After completing this module, students will be able to:
- ensure a website is secure against malicious attacks and identifies users before granting them access to sensitive content.
Module 12: Building Responsive Webpages
- The goal of this module is to introduce the students to coding techniques that execute JavaScript code on the browser.
- Students will see that client-side code can execute without a full page refresh and so can respond much more quickly to user actions.
- This results in more compelling web pages.
- The module discusses about how to use AJAX Helpers to build partial page updates and introduces the jQuery library and its common uses.
- Finally, the module describes how developers can configure ASP.NET Caches to optimize the performance of their site.
Lessons
- Why Use Client-Side Scripts?
- Using AJAX and Partial Page Updates
- The jQuery Script Libraries
- Optimizing the Caches to Improve Performance
Lab : Building Responsive Pages
- Coding the Partial Page Updates
- Using the jScript Library to Animate a Page
After completing this module, students will be able to:
- understand how client-side coding techniques accelerate responses to users and reduce network traffic for a website and use common client-side coding techniques.
Module 13: Driving Traffic to a WebMatrix 2 Website
- The goal of this module is to equip the students with techniques to increase the number of visitors who access a published site.
- The module begins by discussing how to analyze and understand who visits your site, when they visit, and what pages interest them.
- The behavior of search engine web bots is discussed and students learn how to ensure that their site is fully crawled and close to the top of search engine results.
- Finally, locations at which you can advertise your sites are discussed.
Lessons
- Growing a Website
- Analyzing a WebMatrix 2 Website
- Optimizing a WebMatrix 2 Site for Search Engines
- Marketing a Website
Lab : Driving Traffic to a WebMatrix 2 Website
- Optimizing Search Engine Result Position
After completing this module, students will be able to:
- analyze the user traffic visiting a public website and optimize the site to appear close to the top of search engine results.
Module 14: Customizing an Application from the WebMatrix 2 Gallery
- The goal of this module is to show students that they need not rule out an application from the WebMatrix 2 gallery because it does not satisfy all the requirements a customer specifies.
- Instead, a developer can use an application as a starting point that meets a majority of customer requirements.
- Any gaps can be filled by adding extra pages and other custom features to the application.
Lessons
- Exploring the Application Gallery
- Modifying an Existing Application
Lab : Customizing an Application from the WebMatrix 2 Gallery
- Creating a Site Based on an Application from the Gallery
- Integrating a Custom Page with an Application Theming Engine
After completing this module, students will be able to:
- create a fully functional website by beginning with an application from the WebMatrix 2 application gallery and adding features to meet unusual or unique customer requirements.
Module 15: Transitioning from WebMatrix 2 to Visual Studio
- The goal of this module is to describe to the students why professional developers use Visual Studio as their principal Integrated Development Environment (IDE).
- Students will see the advanced features of the ASP.NET Web Forms programming model, which requires Visual Studio, and also see some details of ASP.NET MVC.
- Students also see the advanced debugging tools Visual Studio includes and understand how these accelerate code development, testing and troubleshooting.
- They will see how to add Web Forms pages into existing ASP.NET applications.
Lessons
- Developing Websites in Visual Studio
- Moving Between WebMatrix 2 and Visual Studio
Lab : Transitioning from WebMatrix 2 to Visual Studio
- Editing a WebMatrix 2 Web Application in Visual Studio
- Displaying and Editing Data in a Web Forms Page
- Using the Visual Studio Debugging Tools
After completing this module, students will be able to:
- describe the features of Visual Studio and ASP.NET Web Forms that enable developers to create more powerful web applications.