Foundations of AI and Machine Learning for Java Developers

Foundations of AI and Machine Learning for Java Developers

1h 36mIntermediate2024-12-06

Authors

Frank Greco

Frank Greco

Course details

In this course, explore the exciting world of artificial intelligence (AI) and machine learning (ML) from a Java developer’s perspective. Start with the essential principles of AI/ML and why patterns are so important. Learn how to differentiate between AI, ML, and deep learning, and clearly understand predictive AI versus generative AI. Join instructor Frank Greco to build a solid foundation on how to use ML in your software development projects and processes effectively.

Learning objectives
Summarize the foundational concepts of machine learning and artificial intelligence.
Recognize the value and importance of patterns in machine learning.
Differentiate between artificial intelligence, machine learning, and deep learning.
Compare and contrast predictive AI and generative AI.
Identify appropriate applications of machine learning in the software development process.

Skills covered

Machine Learning FundamentalsTraditional AI and Machine LearningJavaOracleArtificial Intelligence (AI)Programming LanguagesSoftware DevelopmentOne-Off

Concepts

Introduction

  • Transform your Java skills with machine learning
  • What you should know

Patterns - The Foundations of Machine Learning

  • Design patterns
  • Patterns are everywhere
  • Regular expressions and the relationship to ML
  • Machine learning definition

Artificial Intelligence Taxonomy

  • High-level description of AI and ML
  • Definition of deep learning - PredAI and GenAI
  • Predictive AI vs. generative AI

Predictive AI with JSR #381

  • JSR #381 - Visual Recognition (VisRec)
  • Sample VisRec code to train a PredAI model
  • Sample VisRec code to use a PredAI model
  • Demo - Running VisRec JSR #381

Generative AI

  • Large language models and NLP
  • Prompts and completions
  • Prompt tips
  • Importance of context
  • Retrieval-augmented generation (RAG)
  • Different ways of using LLMs

GenAI Services and APIs

  • Available GenAI LLM services
  • Accessing LLMs via stateless REST APIs
  • Approaches and Java REST libraries
  • Code examples of connecting to an LLM - Pure Java and LC4J
  • Demo - Connecting to an LLM

Patterns in Software Development

  • Patterns in the software development process
  • Determinism vs. probability
  • AI flowchart

Conclusion

  • Your new tools - Predictive AI and generative AI
40,000 Toman