Home > Store

Visual C# 2010 How to Program, 4th Edition

Register your product to gain access to bonus material or receive a coupon.

Visual C# 2010 How to Program, 4th Edition

Book

  • Sorry, this book is no longer in print.
Not for Sale

About

Features

Signature “Live Code™ Approach” – Language features are presented in the context of a wide variety of complete working programs.

  • Features thousands of lines of code in hundreds of complete working programs.
  • Enables students to confirm that programs run as expected.
  • Students can also download the code from the book's Companion Website (www.pearsonhighered.com/deitel), or from the author's website (www.deitel.com).
Outstanding, consistent and applied pedagogy:
  • Icons throughout identify Software Engineering Observations, Good Programming Practices, Common Programming Errors, Portability Tips, Performance Tips, Testing and Debugging Tips, and Look-and-Feel Observations.
  • Full-color presentation, including syntax coloring, code highlighting and extensive comments.
  • Hundreds of self-review questions and answers, and programming exercises, including both simple and complex exercises that can easily be tailored to the needs of specific courses and instructors.
Includes an optional "Automated Teller Machine (ATM)" case study on object-oriented design with UML. This case study walks novices through a clear system design, while still demonstrating key OOD concepts and related UML modeling techniques.

Description

  • Copyright 2011
  • Edition: 4th
  • Book
  • ISBN-10: 0-13-215142-1
  • ISBN-13: 978-0-13-215142-9

Appropriate for all basic-to-intermediate level courses in Visual C# 2010 programming.

Created by world-renowned programming instructors Paul and Harvey Deitel, Visual C# 2010 How to Program, Fourth Edition introduces all facets of the C# 2010 language hands-on, through hundreds of working programs. This book has been thoroughly updated to reflect the major innovations Microsoft has incorporated in Visual C# 2010 and .NET 4; all discussions and sample code have been carefully audited against the newest Visual C# language specification.

Students begin by getting comfortable with the C# Express 2010 IDE and basic Visual C# syntax. Next, they build their skills one step at a time, mastering control structures, classes, objects, methods, variables, arrays, and the core techniques of object-oriented programming. With this strong foundation in place, the Deitels introduce more sophisticated techniques, including searching, sorting, data structures, generics, and collections. Throughout, the authors show students how to make the most of Microsoft’s Visual Studio tools. A series of appendices provide essential programming reference material on topics ranging from number systems to the Visual Studio Debugger, UML 2 to Unicode and ASCII.

Sample Content

Online Sample Chapter

Introduction to Classes, Objects, Methods and Strings in Visual C# 2010

Table of Contents

Chapters 24—31 and Appendices D—G are PDF documents posted online at the book’s Companion Website (located at www.pearsonhighered.com/deitel/).
Preface xvii
Before You Begin xxvii

1 Introduction to Computers, the Internet and Visual C# 1
1.1 Introduction 2
1.2 Computer Organization 2
1.3 Personal Computing, Distributed Computing and Client/Server Computing 4
1.4 Hardware Trends 4
1.5 Microsoft’s Windows® Operating System 4
1.6 Machine Languages, Assembly Languages and High-Level Languages 5
1.7 Visual Basic 6
1.8 C, C++, Objective-C and Java 6
1.9 C# 7
1.10 The Internet and the World Wide Web 7
1.11 Extensible Markup Language (XML) 8
1.12 Introduction to Microsoft .NET 9
1.13 The .NET Framework and the Common Language Runtime 9
1.14 Test-Driving the Advanced Painter Application 10
1.15 Introduction to Object Technology 12
1.16 Wrap-Up 15
1.17 Web Resources 15

2 Dive Into® Visual C# 2010 Express 24
2.1 Introduction 25
2.2 Overview of the Visual Studio 2010 IDE 25
2.3 Menu Bar and Toolbar 30
2.4 Navigating the Visual Studio IDE 32
2.4.1 Solution Explorer 34
2.4.2 Toolbox 35
2.4.3 Properties Window 36
2.5 Using Help 37
2.6 Using Visual Programming to Create a Simple Program that Displays Text and an Image 40
2.7 Wrap-Up 51
2.8 Web Resources 52

3 Introduction to C# Applications 60
3.1 Introduction 61
3.2 A Simple C# Application: Displaying a Line of Text 61
3.3 Creating a Simple Application in Visual C# Express 66
3.4 Modifying Your Simple C# Application 74
3.5 Formatting Text with Console.Write and Console.WriteLine 76
3.6 Another C# Application: Adding Integers 77
3.7 Memory Concepts 81
3.8 Arithmetic 82
3.9 Decision Making: Equality and Relational Operators 85
3.10 Wrap-Up 90

4 Introduction to Classes, Objects, Methods and strings 101
4.1 Introduction 102
4.2 Classes, Objects, Methods, Properties and Instance Variables 102
4.3 Declaring a Class with a Method and Instantiating an Object of a Class 103
4.4 Declaring a Method with a Parameter 107
4.5 Instance Variables and Properties 111
4.6 UML Class Diagram with a Property 115
4.7 Software Engineering with Properties and set and get Accessors 116
4.8 Auto-Implemented Properties 117
4.9 Value Types vs. Reference Types 118
4.10 Initializing Objects with Constructors 119
4.11 Floating-Point Numbers and Type decimal 122
4.12 Wrap-Up 128

5 Control Statements: Part 1 136
5.1 Introduction 137
5.2 Algorithms 137
5.3 Pseudocode 138
5.4 Control Structures 138
5.5 if Single-Selection Statement 140
5.6 if…else Double-Selection Statement 141
5.7 while Repetition Statement 146
5.8 Formulating Algorithms: Counter-Controlled Repetition 147
5.9 Formulating Algorithms: Sentinel-Controlled Repetition 152
5.10 Formulating Algorithms: Nested Control Statements 160
5.11 Compound Assignment Operators 165
5.12 Increment and Decrement Operators 165
5.13 Simple Types 168
5.14 Wrap-Up 169

6 Control Statements: Part 2 183
6.1 Introduction 184
6.2 Essentials of Counter-Controlled Repetition 184
6.3 for Repetition Statement 186
6.4 Examples Using the for Statement 190
6.5 do…while Repetition Statement 194
6.6 switch Multiple-Selection Statement 196
6.7 break and continue Statements 203
6.8 Logical Operators 205
6.9 Structured-Programming Summary 211
6.10 Wrap-Up 216

7 Methods: A Deeper Look 226
7.1 Introduction 227
7.2 Packaging Code in C# 227
7.3 static Methods, static Variables and Class Math 229
7.4 Declaring Methods with Multiple Parameters 232
7.5 Notes on Declaring and Using Methods 236
7.6 Method-Call Stack and Activation Records 237
7.7 Argument Promotion and Casting 237
7.8 The .NET Framework Class Library 239
7.9 Case Study: Random-Number Generation 241
7.9.1 Scaling and Shifting Random Numbers 245
7.9.2 Random-Number Repeatability for Testing and Debugging 245
7.10 Case Study: A Game of Chance (Introducing Enumerations) 246
7.11 Scope of Declarations 251
7.12 Method Overloading 253
7.13 Optional Parameters 256
7.14 Named Parameters 257
7.15 Recursion 258
7.16 Passing Arguments: Pass-by-Value vs. Pass-by-Reference 261
7.17 Wrap-Up 264

8 Arrays 280
8.1 Introduction 281
8.2 Arrays 281
8.3 Declaring and Creating Arrays 282
8.4 Examples Using Arrays 284
8.5 Case Study: Card Shuffling and Dealing Simulation 293
8.6 foreach Statement 298
8.7 Passing Arrays and Array Elements to Methods 299
8.8 Passing Arrays by Value and by Reference 301
8.9 Case Study: Class GradeBook Using an Array to Store Grades 305
8.10 Multidimensional Arrays 310
8.11 Case Study: Class GradeBook Using a Rectangular Array 315
8.12 Variable-Length Argument Lists 321
8.13 Using Command-Line Arguments 322
8.14 Wrap-Up 324

9 Introduction to LINQ and the List Collection 344
9.1 Introduction 345
9.2 Querying an Array of int Values Using LINQ 346
9.3 Querying an Array of Employee Objects Using LINQ 350
9.4 Introduction to Collections 355
9.5 Querying a Generic Collection Using LINQ 358
9.6 Wrap-Up 360
9.7 Deitel LINQ Resource Center 360

10 Classes and Objects: A Deeper Look 364
10.1 Introduction 365
10.2 Time Class Case Study 365
10.3 Controlling Access to Members 369
10.4 Referring to the Current Object’s Members with the this Reference 370
10.5 Time Class Case Study: Overloaded Constructors 372
10.6 Default and Parameterless Constructors 378
10.7 Composition 379
10.8 Garbage Collection and Destructors 382
10.9 static Class Members 383
10.10 readonly Instance Variables 386
10.11 Data Abstraction and Encapsulation 388
10.12 Class View and Object Browser 389
10.13 Object Initializers 391
10.14 Wrap-Up 391

11 Object-Oriented Programming: Inheritance 398
11.1 Introduction 399
11.2 Base Classes and Derived Classes 400
11.3 protected Members 402
11.4 Relationship between Base Classes and Derived Classes 403
11.4.1 Creating and Using a CommissionEmployee Class 403
11.4.2 Creating a BasePlusCommissionEmployee Class without Using Inheritance 408
11.4.3 Creating a CommissionEmployee—BasePlusCommissionEmployee Inheritance Hierarchy 414
11.4.4 CommissionEmployee—BasePlusCommissionEmployee Inheritance Hierarchy Using protected Instance Variables 417
11.4.5 CommissionEmployee—BasePlusCommissionEmployee Inheritance Hierarchy Using private Instance Variables 421
11.5 Constructors in Derived Classes 426
11.6 Software Engineering with Inheritance 427
11.7 Class object 428
11.8 Wrap-Up 429

12 OOP: Polymorphism, Interfaces and Operator Overloading 435
12.1 Introduction 436
12.2 Polymorphism Examples 438
12.3 Demonstrating Polymorphic Behavior 439
12.4 Abstract Classes and Methods 442
12.5 Case Study: Payroll System Using Polymorphism 444
12.5.1 Creating Abstract Base Class Employee 445
12.5.2 Creating Concrete Derived Class SalariedEmployee 448
12.5.3 Creating Concrete Derived Class HourlyEmployee 449
12.5.4 Creating Concrete Derived Class CommissionEmployee 451
12.5.5 Creating Indirect Concrete Derived Class BasePlusCommissionEmployee 452
12.5.6 Polymorphic Processing, Operator is and Downcasting 454
12.5.7 Summary of the Allowed Assignments Between Base-Class and Derived-Class Variables 459
12.6 sealed Methods and Classes 460
12.7 Case Study: Creating and Using Interfaces 460
12.7.1 Developing an IPayable Hierarchy 462
12.7.2 Declaring Interface IPayable 463
12.7.3 Creating Class Invoice 463
12.7.4 Modifying Class Employee to Implement Interface IPayable 465
12.7.5 Modifying Class SalariedEmployee for Use with IPayable 466
12.7.6 Using Interface IPayable to Process Invoices and Employees Polymorphically 468
12.7.7 Common Interfaces of the .NET Framework Class Library 470
12.8 Operator Overloading 471
12.9 Wrap-Up 474

13 Exception Handling: A Deeper Look 479
13.1 Introduction 480
13.2 Example: Divide by Zero without Exception Handling 480
13.3 Example: Handling DivideByZeroExceptions and FormatExceptions 483
13.3.1 Enclosing Code in a try Block 485
13.3.2 Catching Exceptions 486
13.3.3 Uncaught Exceptions 486
13.3.4 Termination Model of Exception Handling 487
13.3.5 Flow of Control When Exceptions Occur 488
13.4 .NET Exception Hierarchy 488
13.4.1 Class SystemException 488
13.4.2 Determining Which Exceptions a Method Throws 489
13.5 finally Block 490
13.6 The using Statement 496
13.7 Exception Properties 497
13.8 User-Defined Exception Classes 502
13.9 Wrap-Up 505

14 Graphical User Interfaces with Windows Forms: Part 1 510
14.1 Introduction 511
14.2 Windows Forms 512
14.3 Event Handling 514
14.3.1 A Simple Event-Driven GUI 514
14.3.2 Visual Studio Generated GUI Code 516
14.3.3 Delegates and the Event-Handling Mechanism 518
14.3.4 Another Way to Create Event Handlers 519
14.3.5 Locating Event Information 519
14.4 Control Properties and Layout 521
14.5 Labels, TextBoxes and Buttons 525
14.6 GroupBoxes and Panels 528
14.7 CheckBoxes and RadioButtons 531
14.8 PictureBoxes 539
14.9 ToolTips 541
14.10 NumericUpDown Control 543
14.11 Mouse-Event Handling 545
14.12 Keyboard-Event Handling 548
14.13 Wrap-Up 551

15 Graphical User Interfaces with Windows Forms: Part 2 561
15.1 Introduction 562
15.2 Menus 562
15.3 MonthCalendar Control 571
15.4 DateTimePicker Control 572
15.5 LinkLabel Control 575
15.6 ListBox Control 579
15.7 CheckedListBox Control 583
15.8 ComboBox Control 586
15.9 TreeView Control 590
15.10 ListView Control 595
15.11 TabControl Control 601
15.12 Multiple Document Interface (MDI) Windows 606
15.13 Visual Inheritance 613
15.14 User-Defined Controls 618
15.15 Wrap-Up 622

16 Strings and Characters 630
16.1 Introduction 631
16.2 Fundamentals of Characters and Strings 632
16.3 string Constructors 633
16.4 string Indexer, Length Property and CopyTo Method 634
16.5 Comparing strings 635
16.6 Locating Characters and Substrings in strings 638
16.7 Extracting Substrings from strings 641
16.8 Concatenating strings 642
16.9 Miscellaneous string Methods 643
16.10 Class StringBuilder 644
16.11 Length and Capacity Properties, EnsureCapacity Method and Indexer of Class StringBuilder 645
16.12 Append and AppendFormat Methods of Class StringBuilder 647
16.13 Insert, Remove and Replace Methods of Class StringBuilder 649
16.14 Char Methods 652
16.15 (Online) Introduction to Regular Expressions 654
16.16 Wrap-Up 655

17 Files and Streams 661
17.1 Introduction 662
17.2 Data Hierarchy 662
17.3 Files and Streams 664
17.4 Classes File and Directory 665
17.5 Creating a Sequential-Access Text File 674
17.6 Reading Data from a Sequential-Access Text File 683
17.7 Case Study: Credit Inquiry Program 687
17.8 Serialization 693
17.9 Creating a Sequential-Access File Using Object Serialization 694
17.10 Reading and Deserializing Data from a Binary File 698
17.11 Wrap-Up 700

18 Databases and LINQ 707
18.1 Introduction 708
18.2 Relational Databases 709
18.3 A Books Database 710
18.4 LINQ to SQL 713
18.5 Querying a Database with LINQ 714
18.5.1 Creating LINQ to SQL Classes 715
18.5.2 Data Bindings Between Controls and the LINQ to SQL Classes 718
18.6 Dynamically Binding Query Results 722
18.6.1 Creating the Display Query Results GUI 723
18.6.2 Coding the Display Query Results Application 723
18.7 Retrieving Data from Multiple Tables with LINQ 725
18.8 Creating a Master/Detail View Application 731
18.8.1 Creating the Master/Detail GUI 732
18.8.2 Coding the Master/Detail Application 733
18.9 Address Book Case Study 736
18.9.1 Creating the Address Book Application’s GUI 738
18.9.2 Coding the Address Book Application 739
18.10 Tools and Web Resources 741
18.11 Wrap-Up 742

19 Web App Development with ASP.NET 748
19.1 Introduction 749
19.2 Web Basics 750
19.3 Multitier Application Architecture 751
19.4 Your First Web Application 753
19.4.1 Building the WebTime Application 755
19.4.2 Examining WebTime.aspx’s Code-Behind File 764
19.5 Standard Web Controls: Designing a Form 764
19.6 Validation Controls 769
19.7 Session Tracking 775
19.7.1 Cookies 776
19.7.2 Session Tracking with HttpSessionState 777
19.7.3 Options.aspx: Selecting a Programming Language 780
19.7.4 Recommendations.aspx: Displaying Recommendations Based on Session Values 783
19.8 Case Study: Database-Driven ASP.NET Guestbook 785
19.8.1 Building a Web Form that Displays Data from a Database 787
19.8.2 Modifying the Code-Behind File for the Guestbook Application 790
19.9 Online Case Study: ASP.NET AJAX 792
19.10 Online Case Study: Password-Protected Books Database Application 792
19.11 Wrap-Up 792

20 Searching and Sorting 799
20.1 Introduction 800
20.2 Searching Algorithms 801
20.2.1 Linear Search 801
20.2.2 Binary Search 805
20.3 Sorting Algorithms 810
20.3.1 Selection Sort 810
20.3.2 Insertion Sort 814
20.3.3 Merge Sort 818
20.4 Summary of the Efficiency of Searching and Sorting Algorithms 824
20.5 Wrap-Up 824

21 Data Structures 830
21.1 Introduction 831
21.2 Simple-Type structs, Boxing and Unboxing 831
21.3 Self-Referential Classes 832
21.4 Linked Lists 833
21.5 Stacks 846
21.6 Queues 850
21.7 Trees 853
21.7.1 Binary Search Tree of Integer Values 854
21.7.2 Binary Search Tree of IComparable Objects 861
21.8 Wrap-Up 866

22 Generics 873
22.1 Introduction 874
22.2 Motivation for Generic Methods 875
22.3 Generic-Method Implementation 877
22.4 Type Constraints 880
22.5 Overloading Generic Methods 882
22.6 Generic Classes 883
22.7 Wrap-Up 892

23 Collections 898
23.1 Introduction 899
23.2 Collections Overview 899
23.3 Class Array and Enumerators 902
23.4 Nongeneric Collections 905
23.4.1 Class ArrayList 905
23.4.2 Class Stack 909
23.4.3 Class Hashtable 912
23.5 Generic Collections 917
23.5.1 Generic Class SortedDictionary 917
23.5.2 Generic Class LinkedList 919
23.6 Covariance and Contravariance for Generic Types 923
23.7 Wrap-Up 925

Chapters on the Web 932
A Operator Precedence Chart 933
B Simple Types 935
C ASCII Character Set 937
Appendices on the Web 938
Index 939

Chapters 24—31 and Appendices D—G are PDF documents posted online at the book’s Companion Website (located at www.pearsonhighered.com/deitel/).
24 GUI with Windows Presentation Foundation
25 WPF Graphics and Multimedia
26 XML and LINQ to XML
27 Web App Development with ASP.NET: A Deeper Look
28 Windows Communication Foundation (WCF) Web Services
29 Silverlight and Rich Internet Applications
30 ATM Case Study, Part 1: Object-Oriented Design with the UML
31 ATM Case Study, Part 2: Implementing an Object-Oriented Design
D Number Systems
E UML 2: Additional Diagram Types
F Unicode®
G Using the Visual C# 2010 Debugger

Updates

Submit Errata

More Information

InformIT Promotional Mailings & Special Offers

I would like to receive exclusive offers and hear about products from InformIT and its family of brands. I can unsubscribe at any time.

Overview


Pearson Education, Inc., 221 River Street, Hoboken, New Jersey 07030, (Pearson) presents this site to provide information about products and services that can be purchased through this site.

This privacy notice provides an overview of our commitment to privacy and describes how we collect, protect, use and share personal information collected through this site. Please note that other Pearson websites and online products and services have their own separate privacy policies.

Collection and Use of Information


To conduct business and deliver products and services, Pearson collects and uses personal information in several ways in connection with this site, including:

Questions and Inquiries

For inquiries and questions, we collect the inquiry or question, together with name, contact details (email address, phone number and mailing address) and any other additional information voluntarily submitted to us through a Contact Us form or an email. We use this information to address the inquiry and respond to the question.

Online Store

For orders and purchases placed through our online store on this site, we collect order details, name, institution name and address (if applicable), email address, phone number, shipping and billing addresses, credit/debit card information, shipping options and any instructions. We use this information to complete transactions, fulfill orders, communicate with individuals placing orders or visiting the online store, and for related purposes.

Surveys

Pearson may offer opportunities to provide feedback or participate in surveys, including surveys evaluating Pearson products, services or sites. Participation is voluntary. Pearson collects information requested in the survey questions and uses the information to evaluate, support, maintain and improve products, services or sites, develop new products and services, conduct educational research and for other purposes specified in the survey.

Contests and Drawings

Occasionally, we may sponsor a contest or drawing. Participation is optional. Pearson collects name, contact information and other information specified on the entry form for the contest or drawing to conduct the contest or drawing. Pearson may collect additional personal information from the winners of a contest or drawing in order to award the prize and for tax reporting purposes, as required by law.

Newsletters

If you have elected to receive email newsletters or promotional mailings and special offers but want to unsubscribe, simply email information@informit.com.

Service Announcements

On rare occasions it is necessary to send out a strictly service related announcement. For instance, if our service is temporarily suspended for maintenance we might send users an email. Generally, users may not opt-out of these communications, though they can deactivate their account information. However, these communications are not promotional in nature.

Customer Service

We communicate with users on a regular basis to provide requested services and in regard to issues relating to their account we reply via email or phone in accordance with the users' wishes when a user submits their information through our Contact Us form.

Other Collection and Use of Information


Application and System Logs

Pearson automatically collects log data to help ensure the delivery, availability and security of this site. Log data may include technical information about how a user or visitor connected to this site, such as browser type, type of computer/device, operating system, internet service provider and IP address. We use this information for support purposes and to monitor the health of the site, identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents and appropriately scale computing resources.

Web Analytics

Pearson may use third party web trend analytical services, including Google Analytics, to collect visitor information, such as IP addresses, browser types, referring pages, pages visited and time spent on a particular site. While these analytical services collect and report information on an anonymous basis, they may use cookies to gather web trend information. The information gathered may enable Pearson (but not the third party web trend services) to link information with application and system log data. Pearson uses this information for system administration and to identify problems, improve service, detect unauthorized access and fraudulent activity, prevent and respond to security incidents, appropriately scale computing resources and otherwise support and deliver this site and its services.

Cookies and Related Technologies

This site uses cookies and similar technologies to personalize content, measure traffic patterns, control security, track use and access of information on this site, and provide interest-based messages and advertising. Users can manage and block the use of cookies through their browser. Disabling or blocking certain cookies may limit the functionality of this site.

Do Not Track

This site currently does not respond to Do Not Track signals.

Security


Pearson uses appropriate physical, administrative and technical security measures to protect personal information from unauthorized access, use and disclosure.

Children


This site is not directed to children under the age of 13.

Marketing


Pearson may send or direct marketing communications to users, provided that

  • Pearson will not use personal information collected or processed as a K-12 school service provider for the purpose of directed or targeted advertising.
  • Such marketing is consistent with applicable law and Pearson's legal obligations.
  • Pearson will not knowingly direct or send marketing communications to an individual who has expressed a preference not to receive marketing.
  • Where required by applicable law, express or implied consent to marketing exists and has not been withdrawn.

Pearson may provide personal information to a third party service provider on a restricted basis to provide marketing solely on behalf of Pearson or an affiliate or customer for whom Pearson is a service provider. Marketing preferences may be changed at any time.

Correcting/Updating Personal Information


If a user's personally identifiable information changes (such as your postal address or email address), we provide a way to correct or update that user's personal data provided to us. This can be done on the Account page. If a user no longer desires our service and desires to delete his or her account, please contact us at customer-service@informit.com and we will process the deletion of a user's account.

Choice/Opt-out


Users can always make an informed choice as to whether they should proceed with certain services offered by InformIT. If you choose to remove yourself from our mailing list(s) simply visit the following page and uncheck any communication you no longer want to receive: www.informit.com/u.aspx.

Sale of Personal Information


Pearson does not rent or sell personal information in exchange for any payment of money.

While Pearson does not sell personal information, as defined in Nevada law, Nevada residents may email a request for no sale of their personal information to NevadaDesignatedRequest@pearson.com.

Supplemental Privacy Statement for California Residents


California residents should read our Supplemental privacy statement for California residents in conjunction with this Privacy Notice. The Supplemental privacy statement for California residents explains Pearson's commitment to comply with California law and applies to personal information of California residents collected in connection with this site and the Services.

Sharing and Disclosure


Pearson may disclose personal information, as follows:

  • As required by law.
  • With the consent of the individual (or their parent, if the individual is a minor)
  • In response to a subpoena, court order or legal process, to the extent permitted or required by law
  • To protect the security and safety of individuals, data, assets and systems, consistent with applicable law
  • In connection the sale, joint venture or other transfer of some or all of its company or assets, subject to the provisions of this Privacy Notice
  • To investigate or address actual or suspected fraud or other illegal activities
  • To exercise its legal rights, including enforcement of the Terms of Use for this site or another contract
  • To affiliated Pearson companies and other companies and organizations who perform work for Pearson and are obligated to protect the privacy of personal information consistent with this Privacy Notice
  • To a school, organization, company or government agency, where Pearson collects or processes the personal information in a school setting or on behalf of such organization, company or government agency.

Links


This web site contains links to other sites. Please be aware that we are not responsible for the privacy practices of such other sites. We encourage our users to be aware when they leave our site and to read the privacy statements of each and every web site that collects Personal Information. This privacy statement applies solely to information collected by this web site.

Requests and Contact


Please contact us about this Privacy Notice or if you have any requests or questions relating to the privacy of your personal information.

Changes to this Privacy Notice


We may revise this Privacy Notice through an updated posting. We will identify the effective date of the revision in the posting. Often, updates are made to provide greater clarity or to comply with changes in regulatory requirements. If the updates involve material changes to the collection, protection, use or disclosure of Personal Information, Pearson will provide notice of the change through a conspicuous notice on this site or other appropriate way. Continued use of the site after the effective date of a posted revision evidences acceptance. Please contact us if you have questions or concerns about the Privacy Notice or any objection to any revisions.

Last Update: November 17, 2020