Home > Store

Learning Modern Java LiveLessons (Video Training), Downloadable Version: A Crash Course Using Java 8

Downloadable Video

  • Sorry, this book is no longer in print.
  • About this video
  • Accessible from your Account page after purchase. Requires the free QuickTime Player software.

    Videos can be viewed on: Windows 8, Windows XP, Vista, 7, and all versions of Macintosh OS X including the iPad, and other platforms that support the industry standard h.264 video codec.

Not for Sale

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

Buy Lessons

DRM-Free Video Downloads. Purchase and immediately download individual lessons from this video. Make your lesson selections below and click on the Buy button.

Videos can be viewed on: Windows 8, Windows XP, Vista, 7, and all versions of Macintosh OS X including the iPad, and other platforms that support the industry standard h.264 video codec. Requires the free QuickTime Player software.

$13.99

Lesson 1

Learning Modern Java LiveLessons (Video Training), Downloadable Version: Lesson 1: Java with Eclipse: Setup and Getting Started

Lesson 1 shows you where to get the Java development kit and the official API documentation, and how to create and execute Java programs in the Eclipse development environment.

Duration: 00:23:10  File Size: 43 MB

$13.99

Lesson 2

Learning Modern Java LiveLessons (Video Training), Downloadable Version: Lesson 2: Basic Java Syntax

Lesson 2 covers basic Java syntax: the main method, strings, loops, arrays, conditional statements, and basic mathematical operations

Duration: 00:53:46  File Size: 83 MB

$13.99

Lesson 3

Learning Modern Java LiveLessons (Video Training), Downloadable Version: Lesson 3: Basic Object-Oriented Programming in Java

Lesson 3 is the first of three lessons on object-oriented programming. If you have never used an object-oriented language before, then this lesson and the next are the most important two lessons in the entire LiveLesson course. OOP is the core programming strategy in Java.
This lesson covers four specific OOP topics: object-oriented terminology and conventions, instance variables, methods, and constructors.

Duration: 00:57:20  File Size: 96 MB

$13.99

Lesson 4

Learning Modern Java LiveLessons (Video Training), Downloadable Version: Lesson 4: Object-Oriented Programming in Java: More Capabilities

Lesson 4 builds on the techniques from Lesson 3 by adding in three more capabilities: overloading, inheritance, and the toString method. More importantly, it discusses two programming strategies for making your code flexible and reusable: encapsulation and the use of JavaDoc.

Duration: 00:58:03  File Size: 100 MB

$13.99

Lesson 5

Learning Modern Java LiveLessons (Video Training), Downloadable Version: Lesson 5: Object-Oriented Programming in Java: Advanced Capabilities

Lesson 5 continues to flesh out OOP best practices covering three features in depth: abstract classes, interfaces, and enums. It also summarizes a number of other related advanced topics.

Duration: 00:52:53  File Size: 78 MB

$13.99

Lesson 6

Learning Modern Java LiveLessons (Video Training), Downloadable Version: Lesson 6: Applets and Basic Graphics

Lesson 6 covers Java applets and simple drawing techniques. This lesson is meant to introduce general topics like the @Override annotation, life-cycle methods, import statements, background threads, and try/catch blocks. Once you know some simple graphics, programming exercises are more interesting.

Duration: 00:53:32  File Size: 85 MB

$13.99

Lesson 7

Learning Modern Java LiveLessons (Video Training), Downloadable Version: Lesson 7: More Syntax and Utilities

Lesson 7 introduces two very important data structures: lists and maps. It also explains how to create methods and classes that support generic types. In addition, it summarizes several useful classes and methods: the Arrays utility class, printf, varargs, and StringBuilder.

Duration: 01:15:41  File Size: 270 MB

$13.99

Lesson 8

Learning Modern Java LiveLessons (Video Training), Downloadable Version: Lesson 8: Unit Testing with JUnit: A Very Brief Introduction

Lesson 8 shows you how to test the methods that you write using the JUnit testing framework.

Duration: 00:22:57  File Size: 34 MB

$13.99

Lesson 9

Learning Modern Java LiveLessons (Video Training), Downloadable Version: Lesson 9: Asynchronous Event Handling

Lesson 9 compares and contrasts four different techniques for handling asynchronous keyboard events: entirely separate classes, having the main class implement the appropriate interface, named inner classes, and anonymous inner classes.

Duration: 00:33:53  File Size: 56 MB

$13.99

Lesson 10

Learning Modern Java LiveLessons (Video Training), Downloadable Version: Lesson 10: Multithreaded Programming in Java

Lesson 10 shows you how to perform concurrent programming using the Java threading framework. It first explains the difference between Java's concurrent and parallel programming frameworks. It then shows the basic approach, gives four variations on the theme, and discusses how to avoid the dreaded race conditions.

Duration: 01:14:49  File Size: 112 MB

$13.99

Lesson 11

Learning Modern Java LiveLessons (Video Training), Downloadable Version: Lesson 11: Parallel Programming with the Fork/Join Framework

Lesson 11 shows you how to perform parallel programming using the Java fork/join framework. In addition to showing the techniques and showing examples, this lesson emphasizes the importance of two tasks: 

     Verifying that the serial and parallel versions give the same answer

     Evaluating whether the parallel approach yields superior performance

Duration: 00:55:17  File Size: 86 MB

$13.99

Lesson 12

Learning Modern Java LiveLessons (Video Training), Downloadable Version: Lesson 12: Lambda Expressions -- Part 1: Basics

Lesson 12 is the first of four lessons on lambda expressions. Lambdas are Java's way of representing functions. The lesson introduces lambda expressions and illustrates how their use can make your code more flexible and reusable.  The lesson closes with two examples of applications that would be difficult and cumbersome without lambdas but which are relatively simple and short with them. The first is a numerical integration routine, and the second is a reusable tool for collecting performance-timing results.

Duration: 00:58:54  File Size: 93 MB

$13.99

Lesson 13

Learning Modern Java LiveLessons (Video Training), Downloadable Version: Lesson 13: Lambda Expressions in Java 8 -- Part 2

Lesson 13 covers four topics: the @FunctionalInterface annotation, Method references, Lambda variable scoping rules, and the rules regarding effectively final local variables. The lesson shows you how the use of @FunctionalInterface will improve the internal implementation of the previous numerical-integration and timing applications and how method references will make it simpler to use the numerical integration code.

Duration: 00:42:20  File Size: 66 MB

$13.99

Lesson 14

Learning Modern Java LiveLessons (Video Training), Downloadable Version: Lesson 14: Lambda Expressions in Java 8 -- Part 3: Lambda Building Blocks in java.util.function

Lesson 14 looks at the pre-built functions in the java.util.function package. The lesson starts with the simply-typed versions and shows how using one of them can shorten our numerical-integration code. It then looks at five generically typed versions: Predicate, Function, Consumer, Supplier, and BinaryOperator. Most Java developers are not used to thinking about functional programming, so this lesson shows how applying functions can make certain applications shorter, simpler, easier to maintain, and more reusable.

Duration: 00:37:40  File Size: 60 MB

$13.99

Lesson 15

Learning Modern Java LiveLessons (Video Training), Downloadable Version: Lesson 15: Lambda Expressions in Java 8 -- Part 4

Lesson 15 discusses two features of Java interfaces: default methods and static methods. It then uses this idea to improve the previous application that collected timing information. The second half of the lesson illustrates the power that comes from having methods that return lambdas, known as higher order functions.

Duration: 00:42:37  File Size: 68 MB

$13.99

Lesson 16

Learning Modern Java LiveLessons (Video Training), Downloadable Version: Lesson 16: Streams in Java 8 -- Part 1

Lesson 16 is the first of three lessons on streams. It provides an overview of streams and explains their benefits. It then shows you how to create streams and output them into standard Java. It also explains data structures and four of the most important stream methods: forEach, filter, map, and findFirst. The lesson closes with a discussion of lazy evaluation and shows you how it can dramatically improve data processing performance.

Duration: 01:13:23  File Size: 112 MB

$13.99

Lesson 17

Learning Modern Java LiveLessons (Video Training), Downloadable Version: Lesson 17: Streams in Java 8 -- Part 2

Lesson 17 starts out by discussing IntStream and DoubleStream, which are specializations of Streams for dealing with numbers. It then looks in great detail at reduction operations: operations that combine stream values to produce a single result. The lesson starts out with simple ones like min, max, and sum, and then finishes with the general-purpose reduce method. Finally, it discusses other stream methods, such as limit, skip, sorted, and anyMatch.

Duration: 00:30:35  File Size: 49 MB

$13.99

Lesson 18

Learning Modern Java LiveLessons (Video Training), Downloadable Version: Lesson 18: Streams in Java 8--Part 3

Lesson 18 starts off by looking at fancy ways to output, partition, or group streams. It then explains how to use parallel streams—one of the most powerful stream features—and gives a number of examples where parallel streams do or do not work effectively. The lesson closes with an explanation of so-called "infinite" streams: streams that have no preset size, but rather use a generator function to build the elements as they are needed.

Duration: 00:43:52  File Size: 67 MB

$13.99

Lesson 19

Learning Modern Java LiveLessons (Video Training), Downloadable Version: Lesson 19: Simple File I/O: Applying the Power of Streams

Lesson 19 looks at File I/O.  It starts by explaining both file reading and file writing, but in particular, it shows how applying the power of streams can dramatically simplify reading and processing files and folders. Specifically, it illustrates why the new Files.lines method is such a huge improvement over alternatives available in earlier Java versions.

Duration: 00:44:57  File Size: 70 MB

$13.99

Lesson 20

Learning Modern Java LiveLessons (Video Training), Downloadable Version: Lesson 20: Network Programming: Clients

Lesson 20 looks at building Java clients that talk to network servers. Along the way, it demonstrates techniques for parsing the strings that are retrieved from the servers. The lesson also summarizes how HTTP (Web) servers operate.

Duration: 01:34:01  File Size: 98 MB

$13.99

Lesson 21

Learning Modern Java LiveLessons (Video Training), Downloadable Version: Lesson 21: Network Programming: Servers

Lesson 21 looks at building Java servers that accept incoming socket connections and shows how (and why) to make these servers multithreaded. It illustrates the techniques by developing a simple HTTP server that can be invoked from an ordinary Web browser.

Duration: 00:28:36  File Size: 46 MB

$13.99

Lesson 22

Learning Modern Java LiveLessons (Video Training), Downloadable Version: Lesson 22: Serialization: Sending Complex Java Data Structures to Files or Over the Network Topics

Lesson 22 shows how to use Java serialization, an amazingly powerful technique that enables you to send complex Java data structures into a file or network socket and then to reconstitute the data structure later.

Duration: 00:31:31  File Size: 49 MB

Description

  • Copyright 2016
  • Edition: 1st
  • Downloadable Video
  • ISBN-10: 0-13-438356-7
  • ISBN-13: 978-0-13-438356-9

17+ Hours of Video Instruction
 
Java is the world’s most popular and widely applied programming language, but it is large, complex, and sometimes difficult to get started with. These LiveLessons supply a practical, hands-on introduction to programming with Java 8, the latest version of the language.


The course provides thorough coverage of the foundational Java topics: basic syntax, object-oriented programming, handling exceptions, core data structures, and generic types. It also gives fast-moving coverage of some of the most important libraries: concurrent programming with Java threads, parallel programming with fork/join, network programming, file I/O, and serialization. Finally, it gives detailed explanation of the syntax and usage of lambda expressions and streams, the most important new features in Java 8.


In each section, it gives details on the most important topics, surveys more advanced or lesser-used topics, stresses best practices, and provides plenty of working examples.


If you are new to Java and want to quickly learn the full range of Java programming, but in the context of the latest version (Java 8), continue on: you are in the right place. If, however, you are already comfortable with previous Java versions and want to learn only the new Java 8 features, see Java 8 Lambda Expressions and Streams LiveLessons (Video Training) instead.
 

Description 


In these LiveLessons, expert Java developer, instructor, and author Marty Hall gives a crash course on Java programming. This fast-moving video series is aimed at developers who have used other languages, but who have little or no Java experience.

The first section looks at installing Java and Eclipse, making projects, and understanding loops, conditionals, and other basic Java syntax.

The second section covers object-oriented programming using the Java 8 style. Topics include classes, methods, constructors, interfaces, abstract classes, enums, and lots of guidance on style and best OOP practices.

The third section looks at exception handling, lists and maps, generic types, printf, inner classes, and unit testing with JUnit.

The fourth section looks at asynchronous event handling, concurrent programming with Java threads, and parallel programming using Java’s fork/join framework.

The fifth section looks at the syntax and usage of lambda expressions and streams, with particular emphasis on best practices and the use of parallel streams.

The final section looks at file and network I/O: Java 8 stream-based file reading, network clients, network servers, and serialization.

Please visit http://courses.coreservlets.com/Course-Materials/java.html for the LiveLessons Web site. This site contains complete source code for all examples in the video, as well as exercises and exercise solutions for each topic.


Finally, you can contact the author directly at hall@coreservlets.com with questions or suggestions, or to inquire about customized training courses on Java EE and JavaScript topics to be held onsite at your organization.

The source code repository for this LiveLesson can be downloaded from http://courses.coreservlets.com/Course-Materials/java.html.

  

Skill Level

  • Beginner to intermediate

What You Will Learn

  • Installing Java
  • Installing and using the Eclipse development environment
  • Loops and conditionals
  • Strings, arrays, and other basic Java syntax
  • Classes
  • Instance variables (data members, fields)
  • Methods (member functions)
  • Overloading
  • Inheritance
  • OOP best practices
  • Use of JavaDoc
  • Encapsulation
  • Interfaces using the Java 8 style
  • Abstract classes
  • Enums
  • The toString method
  • Try/catch blocks
  • The @Override annotation
  • Lists and maps
  • Making your own methods and classes that support generic types
  • printf
  • The Arrays utility class
  • Unit testing with JUnit
  • Asynchronous event handling
  • Inner classes
  • Concurrent programming with Java threads
  • Recognizing and dealing with race conditions
  • Parallel programming with the Java fork/join framework
  • Best practices for parallel applications
  • Lambda expressions
  • Method references
  • Lambda building blocks in the java.util.function package
  • Methods that return functions
  • Java 8 streams
  • Creating streams from lists, arrays, and individual values
  • Outputting streams as lists or arrays
  • Core stream methods
  • The new Optional class
  • Lazy evaluation and short-circuit stream operations
  • Streams specialized for numbers
  • Reduction operations
  • Parallel streams
  • Infinite (unbounded) streams
  • Grouping and partitioning stream elements
  • Java 8 stream-based file I/O
  • Network programming: clients
  • Network programming: servers
  • Multithreaded network servers
  • Object serialization

Who Should Take This Course

  • This LiveLessons course is aimed at developers who have at least moderate experience with other programming languages and want to learn Java as quickly as possible. The course moves too fast for first-time programmers. If you are already comfortable with previous Java versions and only want to learn the new Java 8 features, see Java 8 Lambda Expressions and Streams LiveLessons (Video Training) instead of this LiveLesson.

Course Requirements

  • Familiarity with fundamental programming concepts
  • At least moderate experience in programming with another language: C, C++, C#, Objective-C, Python, Perl, Ruby, or JavaScript preferred
  • No prior Java experience is required

Table of Contents

 
Lesson 1: Java with Eclipse: Setup and Getting Started
Topics
1.1     Installing Java 8
1.2     Installing and Using Eclipse
Summary 
 
Lesson 2: Basic Java Syntax
Topics
2.1     Setup, Execution, and Most Basic Syntax
2.2     The + Operator, Array Basics, and Command Line Args
2.3     Loops
2.4     Class Structure and Formatting
2.5     Conditionals
2.6     Strings
2.7     More on Arrays
2.8     Math Routines
2.9     Reading Input
Summary
 
Lesson 3: Basic Object-Oriented Programming in Java
Topics
3.1     Overview
3.2     Basics
3.3     Instance Variables
3.4     Methods
3.5     Constructors
3.6     Interactive Example: Person Class
Summary
 
Lesson 4: Object-Oriented Programming in Java: More Capabilities 
Topics
4.1     Overloading
4.2     OOP Best Practices: Encapsulation and JavaDoc
4.3     Inheritance
4.4     Inheritance Example: Person Class
4.5     The toString Method
Summary
 
Lesson 5: Object-Oriented Programming in Java: Advanced Capabilities 
Topics
5.1     Sample Problem
5.2     Attempted Problem Solutions
5.3     Abstract Classes
5.4     Interfaces
5.5     @Override
5.6     Visibility Modifiers
5.7     Enums
5.8     JavaDoc Options
5.9     The Classpath
Summary


Lesson 6: Applets and Basic Graphics
Topics
6.1     Motivation
6.2     Security Restrictions
6.3     Basic Applet Structure
6.4     Drawing in Applets: Basics
6.5     The Value of @Override
6.6     Applet Life Cycle Methods
6.7     Other Applet Methods
6.8     Attributes of the HTML Applet Tag
6.9     Applet Parameters: Letting the HTML Author Supply Data
6.10   Drawing in Applets: More Details
6.11   Loading and Drawing Images
6.12   Basic Try/Catch Blocks
Summary
 
Lesson 7: More Syntax and Utilities
Topics
7.1     Lists
7.2     List Operation Performance
7.3     Using Generic Types
7.4     Autoboxing
7.5     Maps
7.6     Building Genericized Methods and Classes
7.7     The Arrays Utility Class
7.8     printf
7.9     Varargs
7.10   StringBuilder
Summary
 
Lesson 8: Unit Testing with JUnit: A Very Brief Introduction

Topics
8.1     Static Imports
8.2     JUnit Overview
8.3     Modern Approach
8.4     Traditional Approach
Summary
 
Lesson 9: Asynchronous Event Handling
Topics
9.1     Overview
9.2     Using Separate Listener Classes: Basics
9.3     Using Separate Listener Classes: Drawing
9.4     Implementing a Listener Interface
9.5     Using Named Inner Classes
9.6     Using Anonymous Inner Classes
9.7     Preview: Using Java 8 Lambdas
Summary
 
Lesson 10: Multithreaded Programming in Java
Topics
10.1     Overview
10.2     Basic Steps for Concurrent Programming
10.3     Approach One: Separate Class that Implements Runnable
10.4     Approach Two: Main App Implements Runnable
10.5     Approach Three: Inner Class that Implements Runnable
10.6     Preview of Approach Four: Lambda Expressions
10.7     Summary of Approaches with Pros and Cons
10.8     Making a Reusable Multithreaded Server: Template
10.9     Race Conditions: Problem
10.10   Race Conditions: Solution
10.11   Helpful Thread-Related Methods
10.12   Brief Summary of Advanced Topics
10.13   Tricky Synchronization Problem
Summary


Lesson 11: Parallel Programming with the Fork/Join Framework
Topics
11.1     Overview
11.2     General Fork/Join Approach
11.3     Aside: Reusable Timing Code
11.4     Summing Large Array of Doubles: Version 1: Code
11.5     Summing Large Array of Doubles Version 1: Verification Step
11.6     Making Reusable Parallel Array Processor
11.7     Summing Large Array of Doubles: Version 2
11.8     Computing Minimum of Expensive Operation
11.9     Generating Large Prime Numbers
Summary
 
Lesson 12: Lambda Expressions—Part 1: Basics
Topics
12.1     Motivation and Overview
12.2     Lambdas: Most Basic Form
12.3     Type Inferencing
12.4     Expression for Body: Implied Return Values
12.5     Omitting Parens
12.6     Summary: Making Lambdas More Succinct
12.7     Example: Numerical Integration
12.8     Making a Reusable Timing Utility
12.9     A Few More Samples
Summary
 
Lesson 13: Lambda Expressions in Java 8—Part 2
Topics
13.1     The @FunctionalInterface Annotation
13.2     Method References
13.3     Lambda Variable Scoping in Lambdas
13.4     Effectively Final Local Variables
Summary
 
Lesson 14: Lambda Expressions in Java 8—Part 3: Lambda Building Blocks in java.util.function
Topics
14.1     Overview: Lambda Building Blocks
14.2     Simply-Typed Building Blocks
14.3     Generic Building Blocks: Predicate
14.4     Generic Building Blocks: Function
14.5     Other Generic Building Blocks
Summary 
 
Lesson 15: Lambda Expressions in Java 8—Part 4
Topics
15.1     Java 8 Interfaces: Static Methods
15.2     Java 8 Interfaces: Default Methods
15.3     Resolving Conflicts with Default Methods
15.4     Higher Order Functions: Methods that Return Functions
15.5     Higher Order Functions in Predicate
15.6     Higher Order Functions in Function
15.7     Higher Order Functions in Consumer
15.8     Higher Order Functions in Your Own Code
Summary
 
Lesson 16: Streams in Java 8—Part 1
Topics
16.1     Overview of Streams
16.2     Getting Standard Data Structures into and out of Streams
16.3     Core Stream Methods: Overview
16.4     forEach: Calling a Lambda on Each Element of a Stream
16.5     map: Transforming a Stream by Passing Each Element through a Function
16.6     filter: Keeping Only the Elements That Pass a Predicate
16.7     findFirst: Returning the First Element of a Stream while Short-Circuiting Earlier Operations
16.8     Lazy Evaluation
Summary
 
Lesson 17: Streams in Java 8—Part 2
Topics
17.1     Operations that Limit the Stream Size: limit, skip
17.2     Operations that Use Comparisons: sorted, min, max, distinct
17.3     Operations that Check Matches: allMatch, anyMatch, noneMatch, count
17.4     Number-Specialized Streams
17.5     The reduce Method and Related Reduction Operations
Summary

Lesson 18: Streams in Java 8—Part 3
Topics
18.1     Grouping Stream Elements: Fancy Uses of collect
18.2     Parallel Streams
18.3     Infinite (Unbounded On-the-Fly) Streams
Summary
 
Lesson 19: Simplified File I/O: Applying the Power of Streams
Topics
19.1     More on try/catch Blocks
19.2     Paths
19.3     Simple File Reading
19.4     File Reading Examples
19.5     Simple File Writing
19.6     Exploring Folders
19.7     Faster and More Flexible File Writing
Summary


Lesson 20: Network Programming: Clients

Topics
20.1    Overview
20.2    Basic Steps for a Client to Connect to a Server
20.3    A Reusable Network Client Base Class
20.4    Aside: String Formatting and Parsing
20.5    Problems with Blocking IO
20.6    Talking to Web Servers: General
20.7    Talking to Web Servers: A Java Client
Summary


Lesson 21: Network Programming: Servers

Topics
21.1    Basics
21.2    Simple Warmup: A Single-Threaded Server
21.3    A Base Class for a Multithreaded Server
21.4    A Simple Multithreaded HTTP Server
Summary

Lesson 22: Serialization: Sending Complex Java Data Structures to Files or Over the Network

Topics
22.1    Overview
22.2    Sending Data
22.3    Receiving Data
22.4    Example: Sending  Entire Window to File or Socket
Summary
 
Summary
 

About LiveLessons Video Training
 
The LiveLessons Video Training series publishes hundreds of hands-on, expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. This professional and personal technology video series features world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, IBM Press, Pearson IT Certification, Prentice Hall, Sams, and Que. Topics include IT certification, programming, Web development, mobile development, home and office technologies, business and management, and more. View all LiveLessons on InformIT at http://www.informit.com/livelessons.

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