Customer Service 1-800-221-5528

Murach’s ASP.NET 4.6 Web Programming with C# 2015

by Mary Delamater and Anne Boehm
25 chapters, 926 pages, 410 illustrations
Published August 2016
ISBN 978-1-890774-95-0
List price: $59.50

This book is the latest edition of our ASP.NET book, which has been a favorite at colleges, universities, and community colleges ever since the first edition came out in 2003. It is designed to teach web programming using ASP.NET Web Forms to anyone who has a set of skills comparable to those in the first two sections of Murach's C# 2015.

Buy This Book

You are currently on the Murach site for instructors. To buy this book, please visit our retail site.

 

Simply put, Murach’s ASP.NET is a great book. The author does a fantastic job of walking readers through the fundamentals, making the process feel like you’re sitting down with a skilled instructor who’s moving you from one example to the next."

Muhammad Riaz, Baton Rouge Oracle User Group

  • About this Book
  • Table of Contents
  • Courseware
  • FAQs
  • Corrections

Book description

Section 1: A fast start

To get your students off to a fast start, this 5-chapter section shows them how to use Visual Studio to design, code, and test multi-page Web Forms applications that get database data and manage session state. Along the way, they will see where HTML5/CSS3 and Bootstrap fit in, so they can tweak that code as needed. This is the essence of ASP.NET Web Forms programming, and this prepares your students for rapid progress in the sections that follow.

Section 2: Web programming essentials

This section teaches your students how to use the rest of the server and validation controls that aren’t covered in section 1…more about state management…how to build and format pages using master pages…more about using Bootstrap for responsive design…and how to use friendly URLs that improve search engine results. These are the features that your students will use all the time.

Section 3: Database essentials

In this section, your students will learn how to use SQL data sources and five ASP.NET controls…GridView, DetailsView, FormView, ListView, and DataPager…to develop professional database applications with little or no C# code. Then, they will learn how to use object data sources and model binding with the Entity Framework to create 3-layer applications that separate the presentation code from the data access code.

Section 4: Completing a professional skill set

In this section, your students will learn the skills for polishing up their ASP.NET applications. Like: how to secure an application…how to authenticate users with ASP.NET Identity…how to handle back-button refreshes…how to send email…and how to deploy a web application on a remote web server.

Section 5: Going to the next level

This section shows how to use ASP.NET Ajax to develop rich Internet applications. It shows how to create and consume WCF and Web API services. And it introduces ASP.NET MVC, a completely different approach to web programming than using Web Forms.

What’s new in this edition

The major changes

Bootstrap for formatting and styling

This edition adds information about how to use Bootstrap, a framework for designing websites and web applications that’s especially useful for responsive design. You’ll find a brief early tutorial in chapter 3 on the Bootstrap grid system and how to work with forms. Then, chapter 10 is devoted to teaching how to make Bootstrap work with ASP.NET.

Model binding and the Entity Framework for database programming

This edition adds a chapter to the database programming section (chapter 18) that shows how to use model binding with the Entity Framework. This allows binding of a data control like a GridView control directly to an object in the Entity Data Model, rather than having to use a SqlDataSource or ObjectDataSource control.

Authentication with Identity

In the 4.5 book, the chapter on authentication focused on the Membership system and the Web Site Administration Tool, but these are gone in Visual Studio 2015. So this chapter focuses on how to use ASP.NET Identity, which is the replacement for the Membership system. Although the new Identity system is extremely versatile, it can also be hard to understand. So the 4.6 book focuses on what you need to know to use Identity to authenticate users and work with roles.

Additional changes

Web application projects rather than web site projects

The earlier editions of this book showed how to develop web site projects because they were simpler. Now, however, Microsoft recommends web application projects for new development…and some features like FriendlyUrls are available only in web application projects. So the 4.6 book focuses on how to work with web application projects.

Debugging enhancements

This edition adds a discussion about how to use BrowserLink and the Diagnostic Tools window in the debugging chapter.

No more themes

Bootstrap doesn’t work very well with ASP.NET themes, so the chapter on themes (the old chapter 10) has been removed from this edition.

Routing changes

The routing chapter in this edition adds a discussion about how to use the FriendlyUrls feature and how to integrate it with ASP.NET routing (they are two different systems, and it can take some tinkering to get them to play well together).

Also, the menu server controls don’t work well with Bootstrap, so they’ve been removed from this chapter. The Bootstrap chapter, though, shows how to work with navbars and breadcrumbs.

Configuration and deployment

Since the Web Site Administration Tool is gone in Visual Studio 2015, that part of the deployment chapter has been dropped. Now, the deployment focus is on how to use the one-click publish feature.

What courses this book can be used for

Instructors tell us that there isn't another ASP.NET book on the market that does what this book does, in terms of providing complete coverage of the skills a Web Forms developer needs. And this book is especially strong at teaching how to develop database-driven web applications, which are so prevalent in the real world.

As a result, this book can be used for a beginning ASP.NET course, an advanced ASP.NET course, a database programming course, or all three.

And if you combine our C# 2015 book with our ASP.NET book in a 2-, 3- or 4-term sequence, your students will know how to develop both Windows and Web Forms applications the way the best professionals do.

Presentation options

After your students complete the first two sections of this book, you can continue with any of the other sections. In other words, sections 3, 4, and 5 are written as independent modules that require only sections 1 and 2 as prerequisites. That means you can choose the subjects that you want to teach, as well as the sequence in which you teach them.

What software your students need

Option 1: Any of the full editions of Visual Studio 2015

To develop ASP.NET Web Forms applications, your students can use any of the full editions of Visual Studio 2015. These editions come with everything they need, including Visual Studio, C# 2015, a built-in web server called IIS Express that’s ideal for testing ASP.NET applications on local computers, and a scaled-back version of SQL Server called SQL Server Express LocalDB.

Option 2: Visual Studio 2015 Community Edition

For a no-cost alternative to the full packages, your students can download Visual Studio 2015 Community Edition from Microsoft’s website for free. It too provides all of the items listed above, it’s a terrific product for learning how to develop ASP.NET applications, and both the applications and the skills that your students develop will work with any of the full editions of Visual Studio.

What people say about this book

"Simply put, Murach’s ASP.NET is a great book. The author does a fantastic job of walking readers through the fundamentals, making the process feel like you’re sitting down with a skilled instructor who’s moving you from one example to the next."
- Muhammad Riaz, Baton Rouge Oracle User Group

"Another awesome book from Murach. I have always been a fan of Murach’s books; I learn so much more from them than any other tech books out there. The format makes learning new materials easier, and their code examples WORK."
- Posted at an online bookseller

"With this book, you will not have to rely on Google and the internet for your tutorials any longer."
- James Payne, www.aspfree.com

"Great book. Probably the best there is on learning ASP.NET 4.5 C#. Seriously. I’m hard to please, and as a programmer and engineer, I was surprised by how informative this book was."
- Posted at an online bookseller

"To create a web application that can do real work beyond page turning…such as storing data in a database, validating input data, and sending email…requires not only HTML, but also JavaScript, light database design, Transact-SQL scripting, and more complex deployment strategies. It also requires the developer to understand the architecture of a web application as compared to the architecture of a web site. Murach’s ASP.NET Web Programming with C# provides the learner with all that and more."
- Eric Notheisen, Enterprise Developers Guild

The C# prerequisites

Our ASP.NET book assumes that your students already know the basics that are needed to create any C# application…whether it be for Windows, the web, or mobile devices. If you use Murach’s C# (7th Edition) in your introductory C# course, the first 11 chapters provide those prerequisites.

But even if you don’t use Murach’s C# book for your introductory course, we encourage you to include it on your supplemental reading list. It makes the perfect reference if your students come across C# code in the ASP.NET book that they don’t understand…material that’s often missing from other introductory C# texts.

View the table of contents for this book in a PDF: Table of Contents (PDF)

Click on any chapter title to display or hide its content.

Section 1 The essence of ASP.NET programming

Chapter 1 An introduction to ASP.NET programming

An introduction to web applications

Two pages of a Shopping Cart application

The components of a web application

How static web pages are processed

How dynamic web pages are processed

An introduction to ASP.NET development

The two main ASP.NET technologies

The two main types of Web Forms projects

Three environments for developing ASP.NET applications

The components of the .NET Framework

How state is handled in ASP.NET applications

How an ASP.NET application works

The user interface for the Future Value application

The files used by the Future Value application

The aspx code for the Default form

The C# code for the Default form

Chapter 2 How to develop a one-page web application

How to work with ASP.NET web application projects

How to start a new web application

How to work with the web application templates

How to add a web form to a web application

How to work with the Visual Studio IDE

How to add folders and files to a web application

How to open and close a web application

How to use Visual Studio to build a web form

How to enter the HTML for a web form

How to add a table to a form

How to add text to the cells of a table

How to add web server controls to a form

How to set the properties of the controls

Common properties for web server controls

How to add validation controls to a form

An introduction to the validation controls

How to use the required field validator

How to use the range validator

How to work with unobtrusive validation

The aspx code for the Future Value form

How to add C# code to a form

How to use the Code Editor

How to use page and control events

The C# code for the Future Value form

How to test a web application

How to run a web application

How to view the HTML that’s sent to the browser

Chapter 3 How to use HTML5, CSS3, and Bootstrap  with ASP.NET

The Future Value application with CSS formatting

The user interface

The HTML that’s generated for a new form

The aspx code for the application

The CSS style sheet for the application

The HTML and CSS skills that you need

How to code HTML elements

How to use the HTML5 semantic elements

How to use the div and span elements with HTML5

How to provide CSS styles for an HTML page

How to code the basic CSS selectors

How to code CSS rule sets and comments

How to ensure cross-browser compatibility

Visual Studio features for working with HTML and CSS

How to use the features for entering HTML

How to add the attributes for the WAI-ARIA accessibility standards

How to create and edit an external style sheet

How to use Bootstrap for responsive web design

The responsive user interface of the Future Value application

How to add Bootstrap to your web application

The classes of the Bootstrap grid system

How the Bootstrap grid system works

How to work with the Bootstrap CSS classes for forms

How to work with the Bootstrap CSS classes for other HTML elements

The Bootstrap version of the Future Value application

The aspx code for the application

The custom CSS for the application

Chapter 4 How to develop a multi-page web application

Introduction to the Shopping Cart application

The two pages of the Shopping Cart application

The files and folders used by the Shopping Cart application

How to work with multi-page web applications

How to change the starting page for a web application

How to rename or delete folders and files

How to add a class to a web application

How to redirect or transfer to another page

How to use cross-page posting

How to code absolute and relative URLs

How to create and use data sources

How to create a SQL data source

How to configure a SQL data source

How to bind a drop-down list to a data source

How to use C# code to get data from a data source

How to use session state

How session state works

How to work with data in session state

The business classes of the Shopping Cart application

The members of the three business classes

The C# code for the Product class

The C# code for the CartItem class

The C# code for the CartItemList class

The web forms of the Shopping Cart application

The aspx code for the Order page

The C# code for the Order page

The aspx code for the Cart page

The C# code for the Cart page

The custom CSS for the Shopping Cart application

Chapter 5 How to test and debug ASP.NET applications

How to test an ASP.NET web application

How to test a web application

How to use Browser Link to test a web application in multiple browsers

How to use the browser’s developer tools

How to use the Exception Assistant

How to use the debugger

How to use breakpoints

How to use tracepoints

How to work in break mode

How to use the debugging windows to monitor variables

How to use the Diagnostic Tools window to monitor performance

How to debug client-side code

How to use the trace feature

How to enable the trace feature

How to interpret trace output

How to create custom trace messages

Section 2 ASP.NET essentials

Chapter 6 How to use the standard server controls

An introduction to the standard server controls

The server controls you’ll use the most

How to use C# to work with the data in server controls

How to set the focus, default button, tab order, and access keys for a form

How to use the common server controls

How to use labels and text boxes

How to use check boxes and radio buttons

How to use image and hyperlink controls

How to use the file upload control

How to use the button controls

How to use buttons, link buttons, and image buttons

How to use the Command event

How to use the list controls

How to create drop-down lists and list boxes

How to use the properties for working with list controls

How to use the members for list item collections

How to use check box lists and radio button lists

How to use bulleted lists

A CheckOut page that uses server controls

The user interface

The aspx code

The code-behind file for the CheckOut page

An introduction to the other standard server controls

When and how to use the other standard server controls

How to use the Wizard control

Chapter 7 How to use the validation controls

Introduction to the validation controls

How ASP.NET processes the validation controls

How to set the properties of the validators

How to provide for unobtrusive validation

How to use the validators

How to use the required field validator

How to use the compare validator

How to use the range validator

How to use the regular expression validator

How to create regular expressions

How to use a custom validator

Validation techniques

How to use the validation summary control

How to use validation groups

A CheckOut page that uses validation controls

The user interface

The aspx code

The C# code

Chapter 8 How to work with state, cookies, and URL encoding

How to use view state

How to work with view state

How to use view state for your own data

How to use session state

How to work with session state

When to save and retrieve session state items

Options for storing session state data and tracking session IDs

How to use application state and caching

How application state and caching work

How to work with application state and cache data

How to work with application events

How to use cookies and URL encoding

How to create cookies

How to work with cookies

How to enable or disable cookies

How to use URL encoding

An application that uses cookies, application state, and caching          

The Order and CheckOut pages

The critical C# code for the Order and CheckOut pages

Chapter 9 How to work with master pages

How to create master pages

An introduction to master pages

How to create a master page

How to work with the ClientIDMode attribute

How to create and develop content pages

How to create a content page

How to add content to a page

How to customize content pages

How to add default content to a master page

How to display and override the default content on a content page

How to expose a public property in a master page

How to access a public property from a content page

The Shopping Cart application

The aspx code for the master page

The code-behind file for the master page

The aspx code for the Order page

The aspx code for the Cart page

The Load event handler in the code-behind file for the Cart page

Chapter 10  How to work with Bootstrap in ASP.NET

How to use the Bootstrap CSS classes

How to work with the CSS classes for buttons

How to work with the CSS classes for check boxes and radio buttons

How to work with the CSS classes for images

How to work with the CSS classes for lists

How to work with the CSS classes for HTML tables

How to work with the CSS classes for text

How to work with the CSS classes that provide context

How to use the Bootstrap components

How to work with glyphicons

How to work with badges

How to work with button groups

How to work with button dropdowns

How to work with list groups

How to work with alerts

How to work with breadcrumbs

How to work with thumbnails

How to work with navs

How to work with default navbars

How to work with static, fixed, and inverse navbars

How to work with Bootstrap themes

How to work with the bootstrap-theme style sheet

How to change your Bootstrap theme

How to control the rendered HTML

How to work with HTML elements on the server

How to use the Literal control to render HTML

How to use the Repeater control to render HTML

Chapter 11  How to work with friendly URLs and routing

An introduction to friendly URLs

What is a friendly URL?

Two benefits of friendly URLs

How to use the FriendlyUrls feature

How to install and set up FriendlyUrls

How to work with FriendlyUrls

How to work with file paths

How to change the default behavior of FriendlyUrls

The aspx code for FriendlyUrls in the Shopping Cart application

The C# code for FriendlyUrls in the Shopping Cart application

How to use ASP.NET routing

How to use friendly URLs with ASP.NET routing

How to create a custom route collection

How to work with route parameters

The aspx code for ASP.NET routing in the Shopping Cart application

The C# code for ASP.NET routing in the Shopping Cart application

How to combine ASP.NET routing with FriendlyUrls

How to create route collections

How to retrieve URL parameters

How to get ASP.NET routing to handle some or all URLs

The C# code for the Shopping Cart application

that combines FriendlyUrls and ASP.NET routing

Section 3 ASP.NET database programming

Chapter 12 An introduction to database programming

An introduction to relational databases

How a table is organized

How the tables in a database are related

How the columns in a table are defined

The design of the Halloween database

How to use SQL to work with the data in a relational database

How to query a single table

How to join related data from two or more tables

How to add, update, and delete data in a table

How to work with other database objects

How to work with views

How to work with stored procedures

An introduction to ADO.NET

How the basic ADO.NET components work

Concurrency and the disconnected data architecture

How to work with data without using a data adapter

Chapter 13 How to use SQL data sources

How to create a SQL data source

How the SqlDataSource control works

How to choose a data source type

How to choose a data connection

How to create a connection

How to save the connection string in the Web.config file

How to configure the SELECT statement

How to create a WHERE clause

How select parameters work

How to use custom statements and stored procedures

How to enter custom statements

How to select stored procedures

How to create a SELECT statement with the Query Builder

How to define the parameters

How to use the DataList control

How the DataList control works

How to define the templates for a data list

How to format a data list

How to use data binding

How to bind a list control to a data source

How to bind the controls in a template

A Product List application

The user interface

The aspx file

How to use the advanced features of a SQL data source

How to create a data source that can update the database

How to change the data source mode

How to use caching

Chapter 14 How to use the GridView control

How to customize the GridView control

How the GridView control works

How to define the fields in a GridView control

Elements used to create and format fields

How to use Bootstrap CSS classes to format a GridView control

How to enable sorting

How to enable paging

How to customize paging

A list application that uses a GridView control

The Product List application

The aspx file

The code-behind file

How to update GridView data

How to work with command fields

How to use events raised by the GridView control

How to insert a row in a GridView control

A maintenance application that uses a GridView control

The Category Maintenance application

The aspx file

The code-behind file

How to work with template fields

How to create template fields

The template version  of the Category Maintenance application

The aspx code for the template version

Chapter 15 How to use the DetailsView and FormView controls

How to use the DetailsView control

An introduction to the DetailsView control

Properties and child elements for the DetailsView control

How to define the fields in a DetailsView control

How to enable paging

How to create a Master/Detail page

How to update the data in a DetailsView control

An introduction to command buttons

How to add command buttons

How to use events raised by the DetailsView control

How to create template fields

The Product Maintenance application

The operation of the application

The aspx file

The code-behind file

How to use the FormView control

An introduction to the FormView control

How to work with the Item template

How to work with the EditItem and InsertItem templates

A Shopping Cart application that uses a FormView control

The operation of the application

The aspx file for the Order page

The code-behind file for the Order page

Chapter 16 How to use the ListView and DataPager controls

How to use the ListView control

An introduction to the ListView control

How to configure a ListView control

How to work with the Layout template

How to work with the Item template

How to provide for sorting

How to provide for paging

How to customize paging

How to group ListView data

A list application that uses a ListView control

The Product List application

The aspx file

How to update ListView data

How to use buttons to perform update operations

How to work with the EditItem and InsertItem templates

How to use events raised by the ListView control

Chapter 17 How to use object data sources with ADO.NET

An introduction to object data sources

How 3-layer applications work in ASP.NET

How to create and work with ADO.NET classes

How to use the ObjectDataSource control

How to configure an ObjectDataSource control

How to work with bound controls

A Product List application

The aspx file

The ProductDB class

How to create a data access class

How to design a data access class

How to create a select method

How to create update, delete, and insert methods

How to use attributes to mark a data access class

A Category Maintenance application

The design

The aspx file

The code-behind file

The Category class

The CategoryDB class

How to use paging and sorting with object data sources

How to configure an ObjectDataSource control for paging and sorting

The aspx file that provides for paging and sorting

The code-behind file that executes the initial sort

How to create a data access class that provides for paging and sorting

Chapter 18 How to use model binding and the Entity Framework

How to create an Entity Data Model

How to start an Entity Data Model with the Entity Data Model Wizard

How to choose the version and data objects

How to work with the Entity Data Model Designer

How to use LINQ to Entities

How to retrieve data from a single table

How to load related objects

How to update an existing row

How to delete an existing row

How to provide for concurrency

How to add a new row

How to use model binding to display data

How to select data

How to use IntelliSense to work with model binding

How to filter data

How to provide for sorting and paging

A Product List application

The aspx file

The code-behind file

How to use model binding to update, insert, and delete data

How to provide for updates, inserts, and deletes

The starting code that’s generated for update, insert, and delete methods

How to complete the methods for updating, inserting, and deleting data

How to handle concurrency and data validation exceptions

How to use a data access class with model binding

A Product Maintenance application

The operation of the application

The methods used for binding

The aspx file

The code-behind file

The ProductDB class

How to use data annotations to validate data

How to create a Code First model from an existing database

How to work with data annotations

How to store data annotations in a separate file

Section 4 Finishing an ASP.NET application

Chapter 19 How to secure a web application

An introduction to TLS/SSL

How secure connections work

How digital secure certificates work

How to enable TLS/SSL for a project that uses IIS Express

How to use a secure connection

How to request a secure connection

How to force a page to use a secure connection

A Shopping Cart application that uses TLS/SSL

The operation of the Shopping Cart application

The code for the Shopping Cart application

Chapter 20 How to authenticate and authorize users

An introduction to authentication

Three types of authentication

How individual user account authentication works

An introduction to ASP.NET Identity

How to create a web application that authenticates users

How to start a web application from the Web Forms template

How to work with the LoginView and LoginStatus controls

How to register a user

How to log in a user

How to change a user’s password

How to change basic configuration options

How to authorize users

An introduction to access rules and roles

How to define access rules

How an application adds objects to the OwinContext object

How to modify an application to use roles

How to work with the users and roles

A User Maintenance application

The user interface

The Web.config files

The aspx code for the users GridView control

and the connection string for the application

The code-behind file for the Maintenance page

How to customize users

How to use Code First migrations

How to work with migration files

How to use the Seed method to add initial data to the database

Chapter 21 How to use email, custom error pages, and back-button control

How to send email

An introduction to email

How to use a third-party SMTP server

How to create an email message

How to send an email message

How to add an attachment to an email message

How to create an HTML message

How to create an HTML message with an embedded image

How to use custom error handling

An introduction to custom error handling

How to get and use the Exception object for an error

How to create a custom class for handling exceptions

How to handle HTTP errors with the Web.config file

How to handle the back-button problem

An introduction to the back-button problem

How to use the Post-Redirect-Get pattern

How to use timestamps

Chapter 22 How to configure and deploy ASP.NET web applications

How to work with Visual Studio’s one-click publish feature

How to work with the Publish Web wizard

How to work with publish profiles

How to set the file publish options

How to use the File System method

How to define the connection

The published files

How to use the Web Deploy method

How to define the connection

How to set the database options

How to preview the files to be published

The published files

Section 5 Going to the next level

Chapter 23 How to use ASP.NET Ajax

An introduction to Ajax

Examples of Ajax applications

How Ajax works

An introduction to ASP.NET Ajax

How ASP.NET Ajax works

The ASP.NET Ajax server controls

The ASP.NET Ajax Control Toolkit

How to use the ASP.NET Ajax server controls

How to use the ScriptManager control

How to use the ScriptManagerProxy control

How to use the UpdatePanel control

How to use the Timer control

How to use the UpdateProgress control

An application that uses ASP.NET Ajax

The View Products page

The ProductView class

The ProductViewList class

The aspx file and the first UpdatePanel control

The second UpdatePanel control

The code-behind file

Chapter 24 How to create and use WCF and Web API services

An introduction to web services

SOAP services

REST services

How to create a WCF service

How to start a WCF service application

How to code a service contract interface and a data contract class

How to code a service contract class that implements the interface

How to view and test a WCF service

How to create a web application that consumes a WCF service

The Edit Categories page of the WCF client web application

How to add a WCF service reference to a client web application

How to consume a WCF service

How to create a Web API service

How to start a Web API service

How to write a web service controller

How to view and test a Web API service

How to create a web application that consumes a Web API service

The Edit Categories page of the Web API client web application

How to consume a Web API service using jQuery

How to consume a Web API service using C# code

Chapter 25 An introduction to ASP.NET MVC

An introduction to MVC

The MVC design pattern

The Shopping Cart as an MVC application

An introduction to ASP.NET MVC

How to start an ASP.NET MVC application

The folders and files for a new MVC application

The Razor view engine and syntax

How to work with routing

How to create a model

How to create a controller

How to create a view

How to work with views

How to work with layout views

How to work with regular views

How to work with strongly-typed views

How to work with controls and postbacks

How to work with controls

How to work with redirection

How to add AutoPostBack functionality with jQuery

How to work with the FormCollection object

How to work with model binding

Appendix A How to install and use the software and downloadable files

How to download and install the files for this book

How to install Visual Studio 2015

How to use the Halloween database

How to set up IIS on your local computer

If you aren’t already familiar with the supporting courseware that we provide for a book, please go to About our Courseware. As you will see, our courseware consists of the end-of-chapter activities in the book, the files in the student download at our retail site, and the instructor’s materials. These components provide everything that other publishers provide in a way that delivers better results.

If you are familiar with our courseware, here’s a quick summary of the courseware for this book. For a detailed description in PDF format, please read the Instructor’s Summary.

End-of-chapter activities in the book

  • Term lists
  • Chapter summaries
  • Practice exercises

Student download at our retail site

  • Source code and data for the applications in the book
  • Starting code and data for the exercises in the book
  • Solutions to the book exercises

Appendix A in the book gives your students complete instructions for downloading and installing these items on their PCs

Instructor’s materials

  • Instructional objectives by chapter
  • PowerPoint slides for classroom presentations
  • Test banks in multiple formats
  • A second full set of chapter-by-chapter exercises that aren’t in the book, plus their solutions
  • Student projects that ask the students to build the pages of a Tech Support application, plus their solutions
  • The files that students can download at our retail site: (1) the book applications, (2) starting points for the exercises in the book, and (3) solutions to the exercises in the book

To view the "Frequently Asked Questions" for this book in a PDF, just click on this link: View the questions

Then, if you have any questions that aren't answered here, please email us. Thanks!

There are no book corrections that we know of at this time. But if you find any, please email us, and we’ll post any corrections that affect the technical accuracy of the book here. Thank you!

Murach college books and courseware since 1974