01 |
Programming Foundations: Algorithms with Joe MariniAlgorithms are the universal building blocks of programming. Learn the most popular and useful programming algorithms for searching and sorting data, counting values, and more.
|
02 |
Learning Java with Kathryn HodgeGet started in Java programming. Learn how to write Java code and build simple Java applications with these beginner-level tutorials.
|
03 |
Programming Foundations: Object-Oriented Design (2012) with Simon AllardiceIntroduces object-oriented terms like abstraction and inheritance and shows how to define requirements and use cases and create a conceptual model of your application.
|
04 |
Java Essential Training: Syntax and Structure with David GassnerGet started with Java, the popular object-oriented programming language. In this course—the first installment in the Java Essential Training series—learn about basic Java syntax and the Java platform's fundamental architecture.
|
05 |
Java Essential Training: Objects and APIs with David GassnerLearn Java 9, in part two of our essential training series. Learn about debugging, creating custom classes, working with inheritance, and more.
|
06 |
Code Clinic: Java with Carlos RivasPractice coding with Java. Explore solutions to common programming challenges and compare them with other languages in the Code Clinic series.
|
07 |
Java Design Patterns: Creational with Bethan PalmerLearn how to use the five most popular creational design patterns—Builder, Singleton, Prototype, Factory Method, and Abstract Factory—to write better Java code.
|
08 |
Learning Java by Example with Julian RobichauxThe best way to learn is to do: Learn Java by doing! Walk through four Java programming challenges with step-by-step solutions.
|
09 |
Learning Java 9 Modularity with Nick MaioranoExplore Java modularity. Learn how to develop modular applications and restructure existing Java apps using the Java Platform Module System (JPMS), aka Project Jigsaw, in Java 9.
|
10 |
Advanced Java Programming with David GassnerExpand your programming skills and get more out of Java, with platform- and framework-neutral tutorials that are useful for building web, mobile, and desktop applications.
|
11 |
|
Java: Database Integration with JDBC with David GassnerDescribes how to read and manage data from relational databases such as MySQL and SQL Server using the Java Database Connectivity (JDBC) API in applications programmed with Java.
|
12 |
Java for Data Scientists Essential Training with Charles KellyLeverage Java in your data science career. Learn how to use Java for two components of data science—data engineering and data analysis.
|
13 |
Nail Your Java Interview with Kathryn HodgeReview critical Java concepts-and commonly-asked interview questions-to ensure that you approach your Java interviews with confidence.
|
Algorithms are the universal building blocks of programming. They power the software you use every day, whether it's a spreadsheet, a social network, or a driving assistant. Algorithms offer a way to think about programming challenges in plain English, before they are translated into a specific language like C# or JavaScript. In this course, author and developer Joe Marini explains some of the most popular and useful algorithms for searching and sorting information, working with techniques like recursion, and understanding common data structures. He also discusses the performance implications of different algorithms and how to evaluate the performance of a given algorithm. Each algorithm is shown in practice in Python, but the lessons can be applied to any programming language.
Course Contents
Introduction
Algorithms power the world 1m 2s
What you should know 1m 35s
Overview
What are algorithms? 2m 44s
Common algorithms in programming 5m 42s
Measuring algorithm performance 3m 47s
Common Data Structures
Introduction to data structures 1m 56s
Arrays 2m 29s
Linked lists 2m 36s
Linked lists walkthrough 7m 35s
Stacks and queues 2m 43s
Stacks and queues walkthrough 6m 2s
Hash tables 7m 59s
Recursion
Understanding recursion 3m 38s
Simple recursion example 3m 9s
Power and factorial 4m 14s
Sorting Data
Overview of sorting 2m 4s
The bubble sort5m 8s
The merge sort 2m 24s
Implement the merge sort 5m 10s
The quicksort 3m 31s
Implement the quicksort 5m 39s
Searching Data
Unordered list search 3m 45s
Ordered list search 5m 30s
Determine if a list is sorted 3m 37s
Other Algorithms
Unique filtering with hash table 3m 25s
Value counting with hash table 3m 4s
Find max value recursively 3m 44s
Conclusions
Next steps 1m 18s
01. Introduction
|
|
||
01 - Algorithms power the world
|
02 - What you should know
|
02. Overview
|
|
|
|
03 - What are algorithms
|
04 - Common algorithms in programming
|
05 - Measuring algorithm performance
|
03. Common Data Structures
|
|
|
|
06 - Introduction to data structures
|
07 - Arrays
|
08 - Linked lists
|
09 - Linked lists walkthrough
|
|
|
|
|
10 - Stacks and queues
|
11 - Stacks and queues walkthrough
|
12 - Hash tables
|
04. Recursion
|
|
|
|
13 - Understanding recursion
|
14 - Simple recursion example
|
15 - Power and factorial
|
05. Sorting Data
|
|
|
|
16 - Overview of sorting
|
17 - The bubble sort
|
18 - The merge sort
|
19 - Implement the merge sort
|
|
|
||
20 - The quicksort
|
21 - Implement the quicksort
|
06. Searching Data
|
|
|
|
22 - Unordered list search
|
23 - Ordered list search
|
24 - Determine if a list is sorted
|
07. Other Algorithms
|
|
|
|
25 - Unique filtering with hash table
|
26 - Value counting with hash table
|
27 - Find max value recursively
|
28 - Next steps.en
|
Introduction
Welcome
What you should know
Using exercise files
1. Getting Started
What is Java and what is an IDE?
Downloading Java 9 and an IDE
Exploring JShell
Exploring an IDE
Hello World in Java
2. Java Basics
How do we create code?
Variables and data types
User-defined functions and the this keyword
Strings
Using the Scanner for input
Arrays
Using call by value vs. call by reference
Exploring documentation
Challenge: Create a Blueprint and an Instance
Solution: Create a Blueprint and an Instance
3. Control Flow
Mapping out program control flow
Decision-making with IF
Comparing loops
Using libraries for extra functionality
Debugging with print statements
Debugging with an IDE
Challenge: Dice Roll
Solution: Dice Roll
4. Beyond the Basics
What is object-oriented programming?
What is encapsulation?
Working with inheritance
Interfaces
Functional programming
Learning lambda
Conclusion
Next steps
00. Introduction
|
|
|
|
01. Welcome
|
01. Welcome
|
03. Using exercise files
|
1. Getting Started
|
|
|
|
04. What is Java and what is an IDE
|
05. Downloading Java 9 and an IDE
|
06. Exploring JShell
|
07. Exploring an IDE
|
|
|||
08. Hello World in Java
|
2. Java Basics
|
|
|
|
09. How do we create code
|
10. Variables and data types
|
11. User-defined functions and the this keyword
|
12. Strings
|
|
|
|
https://drive.google.com/open?id=
|
13. Using the Scanner for input
|
14. Arrays
|
15. Using call by value vs. call by reference
|
16. Exploring documentation
|
|
|
||
17. Challenge - Create a Blueprint and an Instance
|
18. Solution - Create a Blueprint and an Instance
|
3. Control Flow
|
|
|
|
19. Mapping out program control flow
|
20. Decision-making with IF
|
21. Comparing loops
|
22. Using libraries for extra functionality
|
|
|
|
|
23. Debugging with print statements
|
24. Debugging with an IDE
|
25. Challenge - Dice Roll
|
26. Solution - Dice Roll
|
4. Beyond the Basics
|
|
|
|
27. What is object-oriented programming
|
28. What is encapsulation
|
29. Working with inheritance
|
30. Interfaces
|
|
|
||
31. Functional programming
|
32. Learning lambda
|
05. Conclusion
|
|||
33. Next steps
|
Programming Fundamentals - OOD
Most modern programming languages, such as Java, C#, Ruby, and Python, are object-oriented languages, which help group individual bits of code into a complex and coherent application. However, object-orientation itself is not a language; it's simply a set of ideas and concepts.
Let Simon Allardice introduce you to the terms words like abstraction, inheritance, polymorphism, subclass and guide you through defining your requirements and identifying use cases for your program. The course also covers creating conceptual models of your program with design patterns, class and sequence diagrams, and unified modeling language (UML) tools, and then shows how to convert the diagrams into code.
Topics include:
Why use object-oriented design (OOD)?
Pinpointing use cases, actors, and scenarios
Identifying class responsibilities and relationships
Creating class diagrams
Using abstract classes
Working with inheritance
Creating advanced UML diagrams
Understanding object-oriented design principles
Introduction
Welcome
Who this course is for
What to expect from this course
Exploring object-oriented analysis, design, and development
Reviewing software development methodologies
Core Concept
Why we use object-orientation
What is an object
What is a class
What is abstraction
What is encapsulation
What is inheritance
What is polymorphism
Object-Oriented Analysis and Design
Understanding the object-oriented analysis and design processes
Defining requirements
Introduction to the Unified Modeling Language (UML)
Utilizing Use Cases
Understanding use cases
Identifying the actors
Identifying the scenarios
Diagramming use cases
Employing user stories
Domain Modeling (Modeling the App)
Creating a conceptual model
Identifying the classes
Identifying class relationships
Identifying class responsibilities
Using CRC cards
Creating Classes
Creating class diagrams
Converting class diagrams to code
Exploring object lifetime
Using static or shared members
Inheritance and Composition
Identifying inheritance situations
Using inheritance
Using abstract classes
Using interfaces
Using aggregation and composition
Advanced Concepts
Creating sequence diagrams
Working with advanced UML diagrams
Using UML tools
Object-Oriented Design Patterns
Introduction to design patterns
Example the singleton pattern
Example the memento pattern
Object-Oriented Design Principles
Introduction to object-oriented design principles
Exploring general development principles
Introduction to SOLID principles
Introduction to GRASP principles
Conclusion
Reviewing feature support across different object-oriented languages
Additional resources
Goodbye
00. Introduction
|
|
|
|
00 01. Welcome
|
00 02. Who this course is for
|
00 03. What to expect from this course
|
00 04. Exploring object-oriented analysis, design, and development
|
|
|||
00 05. Reviewing software development methodologies
|
01. Core Concepts
|
|
|
|
01 01. Why we use object-orientation
|
01 02. What is an object
|
01 03. What is a class
|
01 04. What is abstraction
|
|
|
|
|
01 05. What is encapsulation
|
01 06. What is inheritance
|
01 07. What is polymorphism
|
02. Object-Oriented Analysis and Design
|
|
|
|
02 01. Understanding the object-oriented analysis and design processes
|
02 02. Defining requirements
|
02 03. Introduction to the Unified Modeling Language (UML)
|
03. Utilizing Use Cases
|
|
|
|
03 01. Understanding use cases
|
03 02. Identifying the actors
|
03 03. Identifying the scenarios
|
03 04. Diagramming use cases
|
|
|||
03 05. Employing user stories
|
04. Domain Modeling (Modeling the App)
|
|
|
|
04 01. Creating a conceptual model
|
04 02. Identifying the classes
|
04 03. Identifying class relationships
|
04 04. Identifying class responsibilities
|
|
|||
04 05. Using CRC cards
|
05. Creating Classes
|
|
|
|
05 01. Creating class diagrams
|
05 02. Converting class diagrams to code
|
05 03. Exploring object lifetime
|
05 04. Using static or shared members
|
06. Inheritance and Composition
|
|
|
|
06 01. Identifying inheritance situations
|
06 02. Using inheritance
|
06 03. Using abstract classes
|
06 04. Using interfaces
|
|
|||
06 05. Using aggregation and composition
|
07. Advanced Concepts
|
|
|
|
07 01. Creating sequence diagrams
|
07 02. Working with advanced UML diagrams
|
07 03. Using UML tools
|
08. Object-Oriented Design Patterns
|
|
|
|
08 01. Introduction to design patterns
|
08 02. Example the singleton pattern
|
08 03. Example the memento pattern
|
09. Object-Oriented Design Principles
|
|
|
|
09 01. Introduction to object-oriented design principles
|
09 02. Exploring general development principles
|
09 03. Introduction to SOLID principles
|
09 04. Introduction to GRASP principles
|
10. Conclusion
|
|
|
|
10 01. Reviewing feature support across different object-oriented languages
|
10 02. Additional resources
|
10 03. Goodbye
|
Introduction
Welcome
What you should know
How to use the exercise files
1. What Is Java?
The history of Java
Principles and components of Java
Java syntax and compilation
Memory management and garbage collection
Choosing a development environment
2. Get Started
Install Java on Windows
Add Java to the system PATH on Windows
Install Java on OS X
Test simple Java code in JShell
Install and configure IntelliJ IDEA
Create a project in IntelliJ IDEA
Pass arguments to a console application
Take a tour of IntelliJ IDEA
Use the Java API documentation
3. Work with Variables
Work with primitive variables
Declare and modify primitive values
Store currency values with BigDecimal
Convert values between numeric types
Math operators and the Math class
Work with boolean values
Work with character values
More about Java operators
4. Work with String Values
Declare and initialize String objects
Create and concatenate String values
Convert primitive values to strings
Build a String from multiple values
Compare String values with methods
Format numeric values as strings
Parse String values
Challenge: A simple calculator
Solution: A simple calculator
5. Manage Program Flow
Evaluate conditions with if-else
Evaluate conditions with switch-case
Create looping code blocks
Create reusable code with methods
Create overloaded methods
Pass arguments by reference vs. value
Challenge: A more complex calculator
Solution: A more complex calculator
Conclusion
Next steps
1 - Introduction
|
|
|
|
01. Welcome
|
01. Welcome
|
03. Using exercise files
|
2 - 1. What Is Java
|
|
|
|
01 The history of Java
|
02 Principles and components of Java
|
03 Java syntax and compilation
|
04 Memory management and garbage collection
|
|
|||
05 Choosing a development environment
|
3 - 2. Get Started
|
|
|
|
01 Install Java on Windows
|
02 Add Java to the system PATH on Windows
|
03 Install Java on OS X
|
04 Test simple Java code in JShell
|
|
|
|
|
05 Install and configure IntelliJ IDEA
|
06 Create a project in IntelliJ IDEA
|
07 Pass arguments to a console application
|
08 Take a tour of IntelliJ IDEA
|
|
|||
09 Use the Java API documentation
|
4 - 3. Work with Variables
|
|
|
|
01 Work with primitive variables
|
02 Declare and modify primitive values
|
03 Store currency values with BigDecimal
|
04 Convert values between numeric types
|
|
|
|
|
05 Math operators and the Math class
|
06 Work with boolean values
|
07 Work with character values
|
08 More about Java operators
|
5 - 4. Work with String Values
|
|
|
|
01 Declare and initialize String objects
|
02 Create and concatenate String values
|
03 Convert primitive values to strings
|
04 Build a String from multiple values
|
|
|
|
|
05 Compare String values with methods
|
06 Format numeric values as strings
|
07 Parse String values
|
08 Challenge - A simple calculator
|
|
|||
09 Solution - A simple calculator
|
6 - 5. Manage Program Flow
|
|
|
|
01 Evaluate conditions with if-else
|
02 Evaluate conditions with switch-case
|
03 Create looping code blocks
|
04 Create reusable code with methods
|
|
|
|
|
05 Create overloaded methods
|
06 Pass arguments by reference vs. value
|
07 Challenge - A more complex calculator
|
08 Solution - A more complex calculator
|
Conclusion
|
|||
Next steps
|
If you want to build applications for mobile devices, desktop computers, or the web, you need to know Java—and keep your knowledge up to date as the language evolves. Java 9 is changing quite a few important aspects of the programming workflow, particularly the handling of objects and APIs. This course is the second in the Java Essential Training series, which provides the foundation for learning Java 9. Instructor starts by showing how to debug Java code in IntelliJ IDEA, and handle any exceptions that occur. He explains how to create custom classes and understand how Java implements inheritance, a core principle of object-oriented programming. Plus, learn how to store data in memory with the Java Collections Framework, extend Java with popular APIs, make network requests, and package your applications for deployment in JAR files.
Introduction
Welcome
What you should know
How to use the exercise files
1. Exception Handling and Debugging
Syntax errors vs. exceptions
Debug with IntelliJ IDEA
Handle exceptions with try-catch
Create multiple catch blocks
Checked vs. unchecked exceptions
2. Create Custom Classes
About encapsulation
Use the Java runtime classes
Wrap code in static methods
Declare and use custom classes
Organize code with packages
Create and use instance methods
Manage state with instance variables
Declare multiple constructor methods
Use static fields as constants
Declare and use enum types
Organize code with nested types
3. Work with Inheritance
About inheritance and polymorphism
Extend classes and override methods
Cast objects as different types
Create and implement interfaces
Use abstract classes and methods
4. Manage Data Collections
Store values in simple arrays
Manage resizable arrays with List
Manage key-value pairs with Map
5. Use Java Packages and Libraries
Work with dates and times
Copy files with readers and buffers
Copy files with Path and Files classes
Parse a JSON file
Include packages with modules
6. Prepare a Java Application for Deployment
Document code with Javadoc
Package classes in JAR files
Conclusion
Next steps
1 - Introduction
|
|
|
|
01. Welcome
|
02. What you should know
|
03. How Using exercise files
|
1. Exception Handling and Debugging
|
|
|
|
01 Syntax errors vs. exceptions
|
02 Debug with IntelliJ IDEA
|
03 Handle exceptions with try-catch
|
04 Create multiple catch blocks
|
|
|||
05 Checked vs. unchecked exceptions
|
2. Create Custom Classes
|
|
|
|
01 About encapsulation
|
02 Use the Java runtime classes
|
03 Wrap code in static methods
|
04 Declare and use custom classes
|
|
|
|
|
05 Organize code with packages
|
06 Create and use instance methods
|
07 Manage state with instance variables
|
08 Declare multiple constructor methods
|
|
|
|
|
09 Use static fields as constants
|
10 Declare and use enum types
|
11 Organize code with nested types
|
3. Work with Inheritance
|
|
|
|
01 About inheritance and polymorphism
|
02 Extend classes and override methods
|
03 Cast objects as different types
|
04 Create and implement interfaces
|
|
|||
05 Use abstract classes and methods
|
4. Manage Data Collections
|
|
|
|
01 Store values in simple arrays
|
02 Manage resizable arrays with List
|
03 Manage key-value pairs with Map
|
5. Use Java Packages and Libraries
|
|
|
|
01 Work with dates and times
|
02 Copy files with readers and buffers
|
03 Copy files with Path and Files classes
|
04 Parse a JSON file
|
|
|||
05 Include packages with modules
|
6. Prepare a Java Application for Deployment
|
|
|
|
01 Document code with Javadoc
|
02 Package classes in JAR files
|
Next steps
|
Practice coding with Java. Code Clinic is a series of courses that solve the same problems using different programming languages. It gives developers a chance to experiment with new platforms and compare their strengths. Here, Carlos Rivas takes you through six different challenges and provides an overview of his solutions in Java. Challenges cover topics such as statistical analysis, geolocation, facial recognition, and accessing peripheral devices. Each lesson provides practical skills, valuable design patterns, and code snippets you can use in your own projects.
Contents
Introduction
Welcome
What you should know
Using the exercise files
Getting the most from Code Clinic
1. Problem 1: Pond Oreille
Intro: The weather at Pond Oreille
Solution Overview
Loading data
Parse the data
Perform calculations
Putting it all together
2. Problem 2: Where Am I?
Intro: Where am I?
Solution overview
Calling the API
Parsing the location data
3. Problem 3: Eight Queens
Intro: Eight queens
Solution overview
Scanning for solution
Chess board validation
Print the solutions
4. Problem 4: Accessing Peripherals
Intro: Accessing peripherals
Fugue library
Solution overview
Implement the music player
5. Problem 5: Facial Recognition
Intro: Facial recognition
The OpenIMAJ library
Solution overview
Implement facial detection
Perform facial detection
6. Problem 6: Real-Time Information Dashboard
Intro: Real-time information dashboard
Required tools
Solution overview
Import the CSV
Calculate the seconds passed
Generate JSON output
Send data to the dashboard
1 - Introduction
|
|
|
|
01. Welcome
|
02. What you should know
|
03. How Using exercise files
|
04. Getting_the_most_from_Code_Clinic
|
2 - 1._Problem_1_-_Pond_Oreille
|
|
|
|
05. Intro_-_The_weather_at_Pond_Oreille
|
06. Solution_Overview
|
07. Loading_data
|
08. Parse_the_data
|
|
|
||
09. Perform_calculations
|
10. Putting_it_all_together
|
3 - 2._Problem_2_-_Where_Am_I
|
|
|
|
11. Intro_-_Where_am_I
|
12. Solution_overview
|
13. Calling_the_API
|
14. Parsing_the_location_data
|
4 - 3._Problem_3_-_Eight_Queens
|
|
|
|
15. Intro_-_Eight_queens
|
16. Solution_overview
|
17. Scanning_for_solution
|
18. Chess_board_validation
|
|
|||
19. Print_the_solutions
|
5 - 4._Problem_4_-_Accessing_Peripherals
|
|
|
|
20. Intro_-_Accessing_peripherals
|
21. Fugue_library
|
22. Solution_overview
|
23. Implement_the_music_player
|
6 - 5._Problem_5_-_Facial_Recognition
|
|
|
|
24. Intro_-_Facial_recognition
|
25. The_OpenIMAJ_library
|
26. Solution_overview
|
27. Implement_facial_detection
|
|
|||
28. Perform_facial_detection
|
7 - 6._Problem_6_-_Real-Time_Information_Dashboard
|
|
|
|
29. Intro_-_Real-time_information_dashboard
|
30. Required_tools
|
31. Solution_overview
|
32. Import_the_CSV
|
|
|
|
|
33. Calculate_the_seconds_passed
|
34. Generate_JSON_output
|
35. Send_data_to_the_dashboard
|
Design patterns provide a kind of template for writing quality code. Knowing which design pattern to use in which scenario can be challenging, but will make you a better Java programmer. This course takes a deep dive into creational patterns, which can help you create more flexible, reusable objects. Instructor Bethan Palmer covers the five most popular creational patterns—Builder, Singleton, Prototype, Factory Method, and Abstract Factory—as well as concepts such as multithreading, mutability, and hierarchies. She provides example use cases, complete with implementation instructions and tips for avoiding the unique challenges posed by each pattern. By the end of the course, you'll be armed with the knowledge and skills necessary to implement each design pattern in your own Java projects.
Introduction
Improve code with creational design patterns
What you should know
1. Creational Design Patterns
What is a design pattern?
Creational design patterns
2. The Builder Pattern
Avoid complex constructors
Implement the Builder pattern
Implement a complete Builder pattern
Complex constructions
3. The Singleton Pattern
When to use the Singleton pattern
Implement the Singleton pattern
Multithreading with the Singleton pattern
Javas - Collection class
4. The Prototype Pattern
Understand the Prototype pattern
Implement the Prototype pattern
Dealing with mutability
5. The Factory Method Pattern
Understand the Factory Method pattern
Implement a simple Factory Method pattern
Introduction to hierarchies
The complete Factory Method pattern
6. Abstract Factories
Understand the Abstract Factory pattern
Dealing with extensible factories
Implement the Abstract Factory pattern
Implement extensible factories
Conclusion
Next steps
1 - Introduction
|
|
||
01. Improve_code_with_creational_design_patterns
|
02. What you should know
|
2 - 1._Creational_Design_Patterns
|
|
||
03. What_is_a_design_pattern
|
04. Creational_design_patterns
|
3 - 2._The_Builder_Pattern
|
|
|
|
05. Avoid_complex_constructors
|
06. Implement_the_Builder_pattern
|
07. Implement_a_complete_Builder_pattern
|
08. Complex_constructions
|
4 - 3._The_Singleton_Pattern
|
|
|
|
09. When_to_use_the_Singleton_pattern
|
10. Implement_the_Singleton_pattern
|
11. Multithreading_with_the_Singleton_pattern
|
12. Java_s_Collection_class
|
5 - 4._The_Prototype_Pattern
|
|
|
|
13. Understand_the_Prototype_pattern
|
14. Implement_the_Prototype_pattern
|
15. Dealing_with_mutability
|
6 - 5._The_Factory_Method_Pattern
|
|
|
|
16. Understand_the_Factory_Method_pattern
|
17. Implement_a_simple_Factory_Method_pattern
|
18. Introduction_to_hierarchies
|
19. The_complete_Factory_Method_pattern
|
7 - 6._Abstract_Factories
|
|
|
|
20. Understand_the_Abstract_Factory_pattern
|
21. Dealing_with_extensible_factories
|
22. Implement_the_Abstract_Factory_pattern
|
23. Implement_extensible_factories
|
8 - Conclusion
|
|||
24. Next_steps
|
Do you learn best by doing? Why not learn Java that way? Learn Java Concepts by Example is a Java cookbook that pairs four Java programming challenges with step-by-step solutions. Julian Robichaux shows how to create command-line applications to search text and access a relational database, a GUI app to display and resize images, and a Java API to access third-party webpage content. By practicing these examples, you'll learn concepts such as regular expressions, arrays, JDBC, JAR files, Swing, Java math, lambdas, and RESTful programming—all within the context of real-world applications.
Topics include:
Creating a command-line application
Building a graphical user interface
Creating a Java API
Parsing JSON data
Refactoring and testing Java code
01. Introduction
|
|
|
|
001 Welcome
|
002 What you need to know
|
003 Using exercise files
|
02. Create a Command-Line Application That Searches Text Files
|
|
|
|
004 Use a main method to get parameters
|
005 Structuring the code
|
006 Get all the files in a directory
|
007 Open and read each file
|
|
|
|
|
008 Search text using regular expressions
|
009 Use arrays to store the results
|
010 Add an option to zip the results
|
03. Create a Command-Line Application That Accesses a Database
|
|
|
|
011 Use a properties file to get parameters
|
012 Use JDBC to access a database
|
013 Use Java crypto to decrypt strings
|
014 Use Java logging to report errors
|
|
|||
015 Package your application in a JAR file
|
04. Create a GUI Application That Resizes Images
|
|
|
|
016 Use Swing to create a GUI
|
017 Use anonymous classes and lambdas for buttons
|
018 Use Java 2D classes for image manipulation
|
019 Basic Java math
|
|
|
||
020 Image rotation and saving
|
021 Use message boxes and prompts for user interaction
|
05. Create a Java API That Searches Stack Overflow
|
|
|
|
022 What is an API_
|
023 Set up the code
|
024 Access webpages using Java.net
|
025 Parse REST calls using JSON-P
|
|
|
|
|
026 Parse REST calls using Jackson
|
027 Test the API with JUnit
|
028 Final refactoring of classes
|
029 Document the API with Javadoc
|
06 - Conclusion
|
|||
030 Next steps
|
Project Jigsaw is the star attraction of Java 9. It introduces the Java Platform Module System (JPMS) and makes it possible to create modular applications natively in Java. Modularity is key in managing complexity in modern applications but is also a complex subject in it of itself that impacts the entirety of an application.
In this course, instructor Nick Maiorano breaks down this complexity by explaining what modularity is all about, how Java has adopted modularity and how to start using to build better quality applications.
01. Introduction
|
|
||
01_01-Welcome
|
01_02-What you should know
|
02. Introduction to Modularity
|
|
|
|
02_01-Introduction
|
02_02-What is modularity
|
02_03-Realworld modularity
|
02_04-Other paths to modularity
|
03. Java Modularity through the Ages
|
|
|
|
03_01-Modularity from Java 1 to 8
|
03_02-Gaps in modularity from Java 1 to 8
|
03_03-New modularity artifacts
|
03_04-New modularity syntax
|
|
|||
03_05-Modularity syntax considerations
|
04. Building Modular Applications with Java
|
|
|
|
04_01-Designing a modular structure
|
04_02-Implementing the modular structure
|
04_03-Transitive dependencies
|
04_04-Qualified dependencies
|
|
|
|
|
04_05-Service dependencies
|
04_06-Service dependencies demo
|
04_07-Optional dependencies
|
04_08-Runtime dependencies
|
|
|
||
04_09-Challenge_ Implement modularity
|
04_10-Solution_ Implement modularity
|
05. Tools and Strategies
|
|
|
|
05_01-Build tools
|
05_02-JAR file versioning
|
05_03-Dependency checking tools
|
05_04-Module packaging tools
|
|
|
|
|
05_05-Custom image building tools
|
05_06-Backward compatibility with classes
|
05_07-Backward compatibility with JARs
|
05_08-Tips and thoughts
|
|
|
||
05_09-Challenge_ Modules and legacy code
|
05_10-Solution_ Modules and legacy code
|
06 - Conclusion
|
|||
06_01. Next_steps
|
ava Advanced Training shows developers how to expand their programming skills and get more out of Java. This course offers platform- and framework-neutral tutorials that can be used to build web, mobile, and desktop applications. Starting with advanced methods of defining Java classes and programmatic flow, author David Gassner goes on to describe the Java Reflection API and the Collections Framework; management of files and directories; test-driven development with advanced exception handling and reporting; and how to work with multiple threads.
Topics include:
Installing Java on Windows and Mac OS X
Installing Eclipse
Using new features such as simplified generics
Working with advanced class structures (member, local inner, etc.)
Using the Reflection API
Navigating inheritance trees
Managing unordered and ordered sets
Peeking and polling with queues
Testing and error handling
Managing files and directories
Working with I/O streams
Multi-threading
Next steps with Java
01. Introduction
|
|
|
|
001 Welcome
|
002 Understanding what you should know before watching this course
|
003 Using the exercise files
|
1. Getting Started
|
|
|
|
004 Installing Java 7 on Windows
|
005 Installing Java 7 on OS X
|
006 Installing Eclipse 4.2 Juno
|
2. Java 7 New Features
|
|
|
|
008 An overview of Java 7 new features
|
009 Exploring the simplified use of generics
|
010 Using underscores in numeric literals
|
011 Using strings in switch statements
|
3. Using Advanced Class Structures
|
|
|
https://drive.google.com/open?id=
|
012 Using static initializers
|
013 Using instance field initializers
|
014 Using member classes
|
015 Using local inner classes
|
|
|
||
016 Using anonymous inner classes
|
017 Creating and using enumeration classes
|
4. Using the Reflection API
|
|
|
|
018 Using the Class class
|
019 Instantiating classes dynamically
|
020 Navigating inheritance trees
|
5. More of the Collections Framework
|
|
|
|
021 Managing unordered sets with HashSet
|
022 Managing ordered sets with TreeSet
|
023 Controlling list order with LinkedList
|
024 Peeking and polling with queues
|
6. Testing and Advanced Exception Handling
|
|
|
|
025 Exploring test-driven development with the assert keyword
|
026 Using the finally keyword
|
027 Using try-with-resources in Java 7
|
028 Defining and throwing a custom exception
|
7. Managing Files and Directories in Java 7
|
|
|
|
029 Using the Path class
|
030 Managing files and directories
|
031 Reading and writing text files
|
032 Walking the directory tree
|
|
|
||
033 Finding files
|
034 Watching a directory for file changes
|
8. Working with I/O Streams
|
|
|
|
035 Reading and writing byte streams
|
036 Reading and writing character streams
|
037 Using buffered streams
|
038 Scanning tokenized text
|
9. Working with Multi-threading
|
|
|
|
039 Extending the Thread class
|
040 Implementing the Runnable interface
|
041 Interrupting a thread
|
042 Synchronizing threads
|
|
|||
043 Where to go from here
|
Whether you're building a web- or desktop-based application with Java SE or Java EE, many Java applications need to integrate data from a relational database. This course describes how to read and manage data from relational databases such as MySQL and SQL Server using the Java Database Connectivity (JDBC) API.
Author David Gassner explains how to choose a JDBC driver and connect to one or more databases. He also provides detailed instructions on reading, selecting, and updating data; calling stored procedures; managing data via JavaBean classes or with prepared statements; and working with metadata.
Topics include:
Importing a MySQL database
Connecting to databases
Handling JDBC exceptions
Looping through result sets
Limiting the number of fetched rows
Filtering data with prepared statements
Calling stored procedures
Inserting, updating, and deleting rows with prepared statements
Using a persistent database connection
Committing and rolling back transactions
01. Introduction
|
|
|
|
001 Welcome
|
002 Understanding what you should know before watching this course
|
003 Using the exercise files
|
1. Installing Software
|
|
|
|
004 Testing your Java development environment
|
005 Importing a MySQL database
|
006 Creating a database user in MySQL
|
2. Getting Started with JDBC
|
|
|
|
008 What is JDBC?
|
009 Choosing a JDBC driver
|
010 Connecting to a MySQL database server
|
011 Connecting to a HyperSQL database file
|
|
|||
012 Executing a static SQL statement
|
3. Managing Database Resources
|
|
|
|
013 Connecting to multiple databases
|
014 Handling JDBC exceptions
|
015 Closing database resources in Java 7
|
4. Reading Data
|
|
|
|
016 Looping through result sets
|
017 Moving the cursor in scrollable result sets
|
018 Limiting the number of fetched rows
|
019 Filtering data with prepared statements
|
|
|
|
|
020 Calling stored procedures
|
021 Handling multiple values from stored procedures
|
022 Using generic getter methods in Java SE 7
|
023 Filtering data with prepared statements
|
5. Managing Data
|
|
|
|
024 Managing data entities with JavaBean classes
|
025 Retrieving a single row as a JavaBean object
|
026 Inserting rows with prepared statements
|
027 Updating rows with prepared statements
|
|
|
|
|
028 Deleting rows with prepared statements
|
029 Managing data with updatable result sets
|
030 Using a persistent database connection
|
031 Committing and rolling back transactions
|
6. Using Metadata
|
|
|
|
032 Getting the DatabaseMetaData object
|
033 Getting column and data type information
|
034 Next steps
|
Learn how to use Java for two components of data science—data engineering and data analysis. Instead of poring over every facet of Java, instructor Charles Kelly focuses on a selection of valuable topics that will help you learn how to leverage Java in your data science career. This course revolves around the ingest, model, query, analyze, and visualize (IMQAV) model, which is a framework for data science workflows. Charles goes over test-driven development and object-oriented design. Using the free community edition of IntelliJ from JetBrains, he presents Java examples including Java classes, methods, operations, and libraries. Plus, Charles shares how to apply the skills that you learned in the course to create magic squares and sudoku puzzles.
Topics include:
The IMQAV model
Downloading software
Installing and setting up a Java coding environment
Mock tests
Code coverage
Using windows, views, and modes in IntelliJ IDEA
Creating classes and attributes
Creating constructors
Casting variables
Matching literals with regular expressions
Libraries
Regular expressions
Design patterns
01. Introduction
|
|
|
|
001 Welcome
|
002 What you should know
|
003 Using the exercise files
|
1. Getting Started with Java
|
|
|
|
004 Java, data science, and IMQAV
|
005 JVM languages
|
006 Downloading software
|
007 Installing software
|
2. Test-Driven Development
|
|
|
|
008 Introduction to testing
|
009 Types of tests
|
010 Mock tests
|
011 Code coverage
|
3. IntelliJ IDEA
|
|
|
|
012 Windows, views, and modes
|
013 Projects
|
014 Editor basics
|
015 Refactoring
|
|
|
||
016 Code execution
|
017 Debugging
|
4. Object-Oriented Java
|
|
|
|
018 Object-oriented principles
|
019 Primitives
|
020 Strings
|
021 Classes and attributes
|
|
|
|
|
022 Classes and methods
|
023 Classes and constructors
|
024 Exception handling
|
025 Enumerations
|
|
|
|
|
026 Casting
|
027 Generics
|
028 Annotations
|
029 Program flow control
|
5. Libraries
|
|
|
|
030 Install and use libraries
|
031 gson
|
032 StringUtils
|
6. Regular Expressions
|
|
|
|
033 Introduction to regular expressions
|
034 Literals
|
035 Metacharacters and representations
|
036 Predefined character classes
|
|
|
|
|
037 Regex quantifiers
|
038 Regex boundaries and anchors
|
039 Regex examples
|
7. Reflection
|
|
|
|
040 Introduction to reflection
|
041 Introspect fields
|
042 Introspect methods
|
043 Introspect constructors
|
|
|||
044 Introspect annotations
|
8. Design Patterns
|
|
|
|
045 Introduction to design patterns
|
046 Singleton patterns
|
047 Decorator patterns
|
048 Visitor patterns
|
9. Applying Data Science
|
|
|
|
049 Introduction to magic squares
|
050 Magic squares algorithm
|
051 Adjacency matrix
|
052 Magic characteristics
|
|
|
||
053 Building magic cubes
|
054 Next steps
|
Have you lined up an interview for a Java developer position? In this course, review critical Java concepts-and commonly-asked interview questions-to ensure that you approach your Java interviews with confidence. Instructor Kathryn Hodge dives into a discussion of key topics that might appear as questions in an interview, such as the difference between the Java Runtime Environment (JRE) and the Java Development Kit (JDK). She also goes over string manipulation, data structures, and essential object-oriented programming concepts. Throughout the course, Kathryn offers examples that lend a real-world context to the concepts she covers.
Introduction
Welcome
What you should know
Using the exercise files
Overview
Types of questions
Getting ready for the interviews
2. Java-Specific Questions
What is the Java Virtual Machine?
What is the JDK and JRE?
Class vs. instance
Static vs. non-static methods
Scope
Access modifiers
3. String Manipulation in Java
What is a string?
Different ways to concatenate strings
Basic string functions
More string functions
Advanced string functions
String equality
Challenge: String interview
Solution: String interview
4. Data Structures
How to use a linked list
How to use a queue
How to use a stack
How to use a hash map
Challenge: Data structures interview
Solution: Data structures interview
5. Object-Oriented Concepts
Abstraction
Encapsulation
Inheritance
Polymorphism (generics)
Solution: Object-oriented interview
Conclusion
Next steps