- Copyright 2027
- Edition: 3rd
-
Online Video
- ISBN-10: 0-13-535334-3
- ISBN-13: 978-0-13-535334-9
50+ Hours of Video Instruction
The Professional Programmer's Deitel® Video Guide to Modern Java Development--Enhanced with Generative AI
Java Fundamentals with Paul Deitel, Third Edition, is a code-intensive presentation of Java--one of the world's most popular programming languages--used to build everything from the smallest Internet of Things (IoT) devices to the largest cloud-based enterprise computing platforms, Android mobile apps, financial trading systems, high-performance server-side software and even NASA Mars rover software.
Description
Intended for programmers with a background in another high-level language, in this video course, you'll learn modern Java development hands-on using the latest Java language features, library features and programming idioms--with generative AI (genAI) integrated throughout. In the context of 200+ hands-on, real-world, Deitel live-code examples, you'll quickly master Java coding idioms using the free, open-source OpenJDK on Windows® or macOS®. Along the way, you'll learn to use generative AIs (genAIs) as a team of Java experts at your side--to write, document, explain, debug, critique, tune and enhance Java code--while developing the healthy skepticism you need to catch their mistakes and "hallucinations."
After the Java programming fundamentals quick start, you'll move on to arrays and ArrayLists; strings and regular expressions; object-oriented programming with custom classes, inheritance, runtime polymorphism, interfaces, records, sealed classes, composition and dependency injection; exception handling; files, I/O streams, JSON and CSV processing with the Jackson library, web services, and secret-key AES and public-key RSA cryptography; the Java collections framework and custom generic classes and methods; functional programming with lambdas and streams; JavaFX GUI, graphics, animation, multimedia and game development; concurrency with parallel streams, platform threads, virtual threads, structured concurrency and scoped values; building OpenAI API-based, multimodal Java genAI applications; database programming with JDBC, SQL and SQLite; the Java Platform Module System (JPMS); and JShell for Python-like interactivity in Java.
Throughout, Paul uses the Deitel objects-natural approach--long before you craft your own custom classes, you'll create objects of powerful, preexisting Java API and open-source library classes and tell them to "strut their stuff," building significant applications with minimal code. Objects-natural case studies feature class String, BigInteger for supersized integers, BigDecimal for precise monetary calculations, the Date/Time API, ArrayList for dynamically resizable arrays, regular expressions for locating patterns in text, AES and RSA cryptography, JSON and CSV file processing, and invoking web services.
Download the Java Fundamentals, Third Edition, source code from Paul's GitHub repository at https://github.com/pdeitel/JavaFundamentals3e.
Features include
- Objects-Natural Approach: Use Java API and open-source library classes to build significant applications with minimal code
- Hundreds of real-world, live-code examples
- Generative AI: Prompt engineering with genAI chatbots; OpenAI API-based, multimodal Java genAI apps that understand and generate text, code, images, audio, speech and video
- Modern Java: The latest language features, library features and idioms, including records, sealed classes and interfaces, pattern matching with switch, virtual threads, structured concurrency and scoped values
- Fundamentals: Control statements, methods, arrays, ArrayLists, strings, regular expressions
- Object-oriented programming: Classes, objects, inheritance, runtime polymorphism, interfaces, composition, dependency injection, exceptions
- Files and data: Text and binary files, NIO, JSON and CSV with the Jackson library, web services with java.net.http, basic data analytics with the Titanic disaster dataset
- Security: Secret-key AES and public-key RSA cryptography
- Generic programming: The Java collections framework, custom generic classes and methods, compile-time type safety
- Functional programming: Lambdas, streams and immutability
- JavaFX: GUIs with Scene Builder, 2D and 3D graphics, CSS styling, animation, video, and Canvas
- Concurrency: Parallel streams, platform threads, virtual threads, structured concurrency, scoped values, concurrent collections, multi-core performance
- Database: JDBC, SQL, SQLite and JavaFX TableView
- Java Platform Module System (JPMS): Modules, dependencies, exports, services and reflective access
- JShell: Python-like interactivity for exploring, discovering and experimenting with Java
Skill Level
Learn How To
- Write Java programs hands-on with 200+ live-code examples that use the latest Java idioms
- Build significant applications quickly with the objects-natural approach, using the Java API and open-source libraries
- Use genAIs as expert assistants throughout your Java work, and build API-based, multimodal Java genAI applications
- Model real-world problems with classes, inheritance, polymorphism, interfaces, records and sealed types
- Process text files, JSON, CSV and web services, and secure data with AES and RSA cryptography
- Program with generic collections, custom generics, lambdas and streams
- Build JavaFX GUI, graphics, animation, multimedia and game apps
- Write high-performance multi-core applications with parallel streams, virtual threads and structured concurrency
- Access databases with JDBC and SQLite, organize large systems with JPMS and explore Java interactively with JShell
Course requirement
- Familiarity with any high-level programming language, such as Python, C, C++, C#, JavaScript, etc.
Who Should Take This Course
- Programmers experienced in another high-level language who want to build industrial-strength Java applications.
- Java programmers who need to come up to speed on the latest Java features and idioms for upcoming projects.
- Professional Java programmers preparing for Oracle Java certification--the course addresses most of the topics covered by the Oracle Java SE (Standard Edition) Developer Professional certification.
What you will learn in Part I (of five parts): Programming Fundamentals QuickStart
- Before You Begin: Get the source code; install the free, open-source OpenJDK; set up your Windows or macOS system for Java development; Paul's contact info.
- Test-Driving the Java Development Kit: Compile and run Java applications from the command line with the OpenJDK's javac compiler and java launcher; how Java source code compiles to bytecode that runs on any platform's Java Virtual Machine (JVM).
- Intro to Java Programming: Java fundamentals; input and output; primitive types; arithmetic operators and their precedence; decision making with equality and relational operators; Objects-Natural Case Study: Creating and using objects of the Java API's String class.
- Control Statements, Part 1: if and if...else selection statements; while iteration statement; counter-controlled and sentinel-controlled iteration; increment, decrement and assignment operators; Objects-Natural Case Study: BigInteger for supersized integers.
- Control Statements, Part 2: for and do...while iteration statements; switch multiple-selection statement; break and continue statements; logical operators; structured-programming summary; Objects-Natural Case Study: BigDecimal for precise monetary calculations.
- Methods: Custom method definitions; Java API packages; random-number generation for simulation with RandomGenerator; implementing a popular casino dice game; scope; method overloading; Objects-Natural Case Study: The Date/Time API for locale-specific date and time calculations and formatting.
- Arrays and ArrayLists: Declare, initialize and access array elements; enhanced for statement; pass arrays to methods; sort and search arrays; multidimensional arrays; class Arrays for common array manipulations; Objects-Natural Case Study: The Java collections framework's ArrayList<E>--a dynamically resizable array-like data structure.
- Strings, NLP and Regex: Generative AI Foundations: String, Character and StringBuilder class features; Objects-natural case studies: 1. Regular expressions for pattern matching in text (including simple data-wrangling steps that prepare text for training natural language processing (NLP) and genAI models); 2. Securing data with AES private-key cryptography.
What you will learn in Part II (of five parts): Object-Oriented Programming
- Real-World Modeling with Custom Classes: Crafting valuable classes; Account class case study; card-shuffling-and-dealing simulation; Time class case study; controlling access to class members; constructors; set and get methods; data validation; throwing exceptions; composition; enum, static and final; record classes for immutable objects; pattern matching with switch expressions.
- Real-World Modeling with Inheritance, Polymorphism and Interfaces: Inheritance hierarchies; superclasses and subclasses; runtime polymorphism with an Employee payroll case study; the inheritance is-a relationship vs. the composition has-a relationship; interfaces--a Payable interface implemented by disparate Employee and Invoice classes; "programming to an interface, not an implementation"; "preferring composition to inheritance"; dependency injection for loosely coupled, easier-to-maintain systems; sealed classes and interfaces.
- Exception Handling: A Deeper Look: Exception handling for business-critical and mission-critical applications; try, catch and finally; the Throwable hierarchy; checked vs. unchecked exceptions; custom exception classes; catching multiple exceptions with one catch handler; the try-with-resources statement for automatically releasing resources like files, network connections and database connections.
What you will learn in Part III (of five parts): Files, Collections, Generics, Functional Programming with Lambdas & Streams
- Files, I/O Streams, JSON Serialization and CSV Files: Java's file-processing architecture; text vs. binary files; NIO classes and interfaces for retrieving file and directory information; sequential text files with Formatter and Scanner; JSON serialization and deserialization with the Jackson open-source library; invoking the OpenWeatherMap web service with the java.net.http package; reading and writing CSV files with Jackson; intro to basic data analytics with the Titanic disaster dataset; Objects-Natural Case Study: RSA public-key cryptography for securely transmitting an AES secret key.
- Generic Collections: The Java collections framework's prebuilt generic data structures; generic interfaces that declare each collection types capabilities; methods that process collection objects; iterators for traversing collections; convenience factory methods for small immutable collections.
- Generic Classes and Methods: A Deeper Look: Implementing custom generic methods and generic classes; compile-time type safety--how generics enable the compiler to detect type mismatches at compile time.
- Functional Programming with Lambdas and Streams: Lambdas and streams for writing certain kinds of programs faster, simpler, more concisely and with fewer bugs; stream pipelines; reimplementing earlier examples more elegantly with lambdas and streams; immutabilitythe key to parallelizing stream operations on multi-core systems.
What you will learn in Part IV (of five parts): JavaFX GUI, Graphics and Multimedia
- JavaFX Graphical User Interfaces: Part 1: JavaFX GUI basics; the free Scene Builder tool for quickly creating GUIs with drag-and-drop design; layouts; controls; event handling with lambdas; Welcome app; Tip Calculator app.
- JavaFX GUI: Part 2: Additional layouts and controls; handling mouse and RadioButton events; property-change listeners that respond to control changes, such as a Slider's value; displaying shapes; data binding so controls update automatically when their data changes; customizing a control's appearance; FileChooser and DirectoryChooser dialogs.
- JavaFX Graphics and Multimedia: Cascading Style Sheets (CSS) for customizing nodes appearance and text fonts; two-dimensional shapes (lines, rectangles, circles, ellipses, arcs, polylines, polygons and custom paths); translating, rotating and scaling nodes; displaying videos and controlling their playback; Transition and Timeline animations; frame-by-frame animation with AnimationTimer; CSS transitions for simplified animation effects; Canvas for drawing with the mouse; three-dimensional shapes (boxes, cylinders and spheres).
What you will learn in Part V (of five parts): Concurrency with Platform and Virtual Threads, Building API-Based GenAI Applications, JDBC, JPMS, and JShell
- Concurrency: Platform Threads to Virtual Threads: Improving application performance and responsiveness with concurrency and multi-core programming; profiling sequential vs. parallel sorting with the Date/Time API; parallel vs. sequential stream processing; CompletableFuture for sequential and parallel long-running calculations; the producer/consumer relationship with ArrayBlockingQueue; why you should prefer the easier-to-use, less error-prone, higher-level concurrency features; Project Loom's lightweight virtual threads; structured concurrency; scoped values.
- Building API-Based Java Generative AI Applications: Interacting programmatically with OpenAI's APIs via the Simple-OpenAI open-source library; chat completions; multimodal genAIs that understand text, images, audio and video; fully coded apps for text summarization, sentiment analysis, accessible image descriptions, language detection and translation, Java code generation, named-entity recognition with structured JSON outputs processed with Jackson, speech-to-text, text-to-speech, image generation, creating closed captions in VTT format for video, and content moderation.
- Accessing Databases with JDBC and SQLite: Database management system concepts; Structured Query Language (SQL) fundamentals with the SQLite command-line tools; CRUD (create, read, update, delete) operations; Java's JDBC APIs; connecting to a database; executing queries to retrieve and update data; displaying query results in JavaFX TableViews; a JavaFX database-driven address-book app with PreparedStatements for reusable, more secure, parameterized queries.
- Java Platform Module System (JPMS): Modules as a higher level of aggregation above packages; JPMS goals; creating custom packages and modules; declaring module dependencies; specifying which packages a module exports; defining the services a module offers or consumes; controlling reflective access between modules; bundling resources with modules.
- Introduction to JShell for Interactive Java: Java's friendly command-line REPL (read-evaluate-print-loop); entering snippets rather than complete programs; exploring, discovering and experimenting with Java's language features and libraries; rapidly prototyping key code segments; Python-like interactivity in Java.
About the Instructor
Paul J. Deitel, CEO and Chief Technical Officer of Deitel & Associates, Inc., is a graduate of MIT with over 46 years of experience in computing. He is one of the world's most experienced programming-languages trainers, having taught professional courses to software developers since 1992. His video courses on platforms like O'Reilly Online Learning have garnered millions of views, with his Python Fundamentals, Java Fundamentals, and C# Fundamentals courses each ranking #1 at various times among thousands of video products. He has delivered hundreds of live-training programming courses worldwide to academic, industry, government and military clients of Deitel & Associates, Inc., including SLB (formerly Schlumberger), IBM, Siemens, Sun Microsystems (now Oracle), Dell, Fidelity, NASA at the Kennedy Space Center, the UCLA Anderson School of Management's Master of Science in Business Analytics and Master of Financial Engineering programs, the National Severe Storm Laboratory, White Sands Missile Range, Boeing, Cisco, Puma, iRobot, and many more. He is among the world's best-selling programming-language textbook/professional book/video/interactive multimedia and live-training authors.
About Pearson Video Training
Pearson publishes expert-led video tutorials covering a wide selection of technology topics designed to teach you the skills you need to succeed. These professional and personal technology videos feature world-leading author instructors published by your trusted technology brands: Addison-Wesley, Cisco Press, Pearson IT Certification, Sams, and Que. Topics include: IT Certification, Network Security, Cisco Technology, Programming, Web Development, Mobile Development, and more. Learn more about Pearson Video training at http://www.informit.com/video.