Practical AI Course

From Python Basics to AI APIs — A 16-Week Hands-On Journey

Build real AI applications. No prior programming experience required.

Your Instructor

Instructor headshot

Jonathan Zuramski

Security Engineer at Meta — Malware & App Integrity

Jonathan is a Security Engineer at Meta, working on the Malware & App Integrity team. He holds a degree from the University of Maryland College Park, where he specialized in Machine Learning, Cyber Security, Computer Vision, and Data Analytics. This course draws on his industry experience and academic background to make AI accessible to complete beginners, focusing on practical skills you can apply immediately.

  • Security Engineer at Meta
  • UMD — Computer Science
  • Hands-on, practical teaching approach

Course Overview

📚

16 Weeks

Structured curriculum from fundamentals to advanced AI applications

5–6 hrs/week

1.5–2 hour lecture + 3–4 hours of hands-on assignments

🎓

No Prerequisites

Designed for complete beginners with no programming experience

🚀

Real Projects

Build and deploy actual AI applications by course end

Course Structure

Week 1 History & Fundamentals of AI
Weeks 2–4 Essential Python Programming
Weeks 5–16 Deep Dive into AI APIs, Tools & Applications

Learning Outcomes

  • Understand the evolution and current state of AI
  • Write Python programs to interact with AI systems
  • Work with multiple AI APIs (LLMs, image generation, speech-to-text, embeddings)
  • Build sophisticated AI applications
  • Understand AI capabilities, limitations, and ethical considerations
  • Deploy AI-powered projects

Weekly Schedule

Click on any week to view lecture topics, key concepts, and the assignment.

Download Slides

Lecture Topics

  • What is Artificial Intelligence? Definition and scope
  • The Turing Test and early AI philosophy (1950s)
  • The Breakthrough: The First Neural Network, and following AI Winter (1958-1970)
  • Expert systems and symbolic AI (1970s–1980s)
  • The rise of machine learning (1990s–2000s)
  • Deep learning revolution (2010s)
  • The transformer breakthrough and modern LLMs (2017–present)
  • Current state: ChatGPT, Claude, and the generative AI explosion
  • Where AI is heading: capabilities and limitations

Key Concepts

  • Understanding what AI can and cannot do
  • Different approaches to AI (symbolic vs statistical)
  • Why AI is having a moment now
  • Ethical considerations and societal impact

Assignment: AI Timeline Research Project

Create a document (or simple Python program) covering:

  • Choose 3 AI milestones that interest you and research them
  • For each milestone: What happened? Why was it important? What changed afterward?
  • Write about one current AI application you find fascinating
  • Reflect: What excites you about AI? What concerns you?
  • Optional: Create a simple program that displays your timeline with print() statements

Expected Time: 3–4 hours

Download Slides

Lecture Topics

  • Setting up Python environment (VS Code, Python installation)
  • Variables and data types (strings, numbers, booleans, lists)
  • Basic operations and printing output
  • Boolean logic and comparisons
  • If/elif/else statements
  • Getting user input
  • String formatting

Key Concepts

  • Variables as containers for data
  • Making decisions in code with conditionals
  • Interactive programs
  • Writing and running Python scripts

Assignment: Rock Paper Scissors Game

Create an interactive Rock Paper Scissors game where you play 3 rounds against the computer. Build a complete game with score tracking, input validation, and proper result display.

Expected Time: 3–4 hours

View Full Assignment
Download Slides

Lecture Topics

  • Lists: storing and organizing multiple items
  • 2D Lists (nested lists): representing grids and matrices
  • For loops: iterating over lists and 2D structures
  • While loops: repeating until a condition is met
  • List operations (append, remove, indexing, slicing)
  • Functions: defining reusable code blocks
  • Parameters and return values
  • Breaking down complex problems into functions

Key Concepts

  • Automating repetitive tasks with loops
  • Organizing data in lists
  • Writing clean, reusable code with functions
  • The DRY principle (Don't Repeat Yourself)

Assignment: TicTacToe Game with AI

Create an interactive TicTacToe game where you play against the computer. Build features for board display, game logic, win detection, and a computer AI that tries to win, blocks you, or picks randomly.

Expected Time: 4–6 hours

View Full Assignment
Download Slides

Lecture Topics

  • Reading from and writing to files
  • Dictionaries: key-value pairs for structured data
  • JSON format: the language of APIs
  • Exception handling (try/except)
  • HTTP basics and the requests library
  • Making API calls and working with responses
  • Environment variables and API keys

Key Concepts

  • Persistent data storage
  • Working with structured data (JSON)
  • How programs communicate over the internet
  • Preparing for AI API integration

Assignment: Weather AI Assistant Prep

Build a program that:

  • Uses a free weather API (OpenWeatherMap) to get current weather data
  • Stores favorite cities in a JSON file
  • Has functions to: add city, remove city, get weather for a city
  • Saves weather data history to a file
  • Uses dictionaries to organize weather information
  • Handles errors gracefully (invalid city, network issues, missing API key)
  • Uses environment variables for the API key

Expected Time: 5–6 hours

Download Slides

Lecture Topics

  • Classes and objects: blueprints for data and behavior
  • Attributes and methods: properties and actions
  • The __init__ constructor: initializing objects
  • Instance variables vs class variables
  • Encapsulation and private attributes
  • Inheritance: building class hierarchies
  • Polymorphism: same method, different behavior
  • Using OOP to structure AI applications

Key Concepts

  • Object-oriented design patterns
  • Designing classes for reusability and maintainability
  • Inheritance hierarchies and method overriding
  • Organizing code into logical objects
  • Building extensible systems with OOP

Assignment: Bank Account System

Build a bank account management system that:

  • Has an Account base class with attributes like account number, balance, and owner name
  • Implements core methods: deposit(), withdraw(), and get_balance()
  • Creates at least two account subclasses: CheckingAccount and SavingsAccount that inherit from Account
  • CheckingAccount offers unlimited free withdrawals, but has monthly fees
  • SavingsAccount charges a fee for withdrawals over 3 per month, but offers interest on the balance
  • Uses private attributes (with underscore prefix) for balance and implements proper encapsulation
  • Overrides the withdraw() method in subclasses to demonstrate polymorphism with different withdrawal rules
  • Implements a Bank class that manages multiple accounts (create, find, and list accounts)
  • Saves and loads account data from a file to persist information between sessions
  • Includes error handling for invalid transactions (overdrafts, negative amounts, etc.)

Expected Time: 5–6 hours

Download Slides

Lecture Topics

  • What is AI? Machine Learning vs Deep Learning vs LLMs
  • How Large Language Models work (high-level)
  • Introduction to OpenAI API / Anthropic Claude API
  • API setup and getting API keys
  • Making your first AI API call
  • Token usage and costs
  • Understanding model parameters (temperature, max_tokens, etc.)

Key Concepts

  • AI capabilities and limitations
  • Prompting basics
  • API authentication
  • Rate limits and pricing
  • Responsible AI usage

Assignment: AI Writing Assistant

Build a simple writing assistant that:

  • Takes a writing prompt from the user
  • Calls an LLM API to generate content
  • Displays the AI response
  • Tracks token usage
  • Allows multiple generations in one session
  • Saves generated content to a file
  • Lets users choose between different types of content (story, essay, email, etc.)

Expected Time: 5–6 hours

Download Slides

Lecture Topics

  • Prompt engineering fundamentals
  • System messages vs user messages
  • Temperature and other parameters
  • Few-shot learning and examples
  • Chain-of-thought prompting
  • Common prompting patterns and best practices
  • Prompt templates and reusability

Key Concepts

  • Crafting effective prompts
  • Controlling AI behavior and output style
  • Getting consistent, reliable results
  • Understanding when AI needs more context

Assignment: AI Tutor Bot

Create an educational chatbot that:

  • Has a well-crafted system message defining it as a patient, Socratic tutor
  • Teaches a topic of your choice
  • Asks the user questions to check understanding
  • Provides explanations when the user is wrong (without just giving answers)
  • Keeps conversation history for context
  • Adjusts difficulty based on user performance
  • Uses different temperature settings for different types of responses
  • Implements at least 3 different prompting techniques learned

Expected Time: 5–6 hours

Download Slides

Lecture Topics

  • Managing conversation history and context
  • Context windows and token limits
  • Conversation memory strategies
  • Building multi-turn conversations
  • Handling long conversations (sliding window, summarization)
  • Stateful vs stateless interactions
  • Conversation flow design

Key Concepts

  • How to maintain context across messages
  • Managing token budgets effectively
  • Creating natural conversation experiences
  • When to reset or summarize context

Assignment: Personal AI Assistant

Build a terminal-based assistant that:

  • Maintains full conversation history
  • Can perform multiple tasks: set reminders, take notes, answer questions, tell jokes
  • Saves conversation to file for later review
  • Implements a “reset conversation” feature
  • Handles token limits by summarizing old messages when needed
  • Has a distinct personality through well-crafted system prompts
  • Allows user to choose between different AI “modes”

Expected Time: 6 hours

Download Slides

Lecture Topics

  • Overview of different AI APIs (OpenAI, Anthropic, Cohere, Hugging Face)
  • Image generation APIs (DALL-E, Stable Diffusion, Midjourney)
  • Speech-to-text and text-to-speech APIs
  • Vision APIs (image understanding, OCR)
  • Combining multiple APIs in one application
  • API abstraction and switching between providers
  • Cost optimization across different APIs

Key Concepts

  • Choosing the right API for each task
  • Working with different API formats and authentication methods
  • Building multimodal AI applications
  • Managing multiple API keys and rate limits

Assignment: Multimodal Content Creator

Create a program that:

  • Takes a topic from the user
  • Uses LLM API to generate a short story, article, or social media post
  • Uses image generation API to create a relevant cover image
  • Optionally uses text-to-speech to create audio version
  • Saves all outputs to organized folders with timestamps
  • Includes error handling for each API
  • Lets user choose content type and style
  • Tracks costs across all API calls

Expected Time: 6–7 hours

Download Slides

Lecture Topics

  • Using AI to process and analyze text data at scale
  • Sentiment analysis and emotion detection
  • Text classification and labeling
  • Summarization techniques (extractive vs abstractive)
  • Extracting structured data from unstructured text
  • Batch processing with AI
  • Working with CSV files and AI
  • Data validation and quality checking with AI

Key Concepts

  • AI for automation and efficiency
  • Processing large datasets systematically
  • Getting structured output from AI
  • Combining traditional programming with AI

Assignment: Customer Review Analyzer

Build a tool that:

  • Reads customer reviews from a CSV file
  • Uses AI to analyze sentiment for each review
  • Extracts key themes, complaints, and compliments
  • Generates a comprehensive summary report
  • Categorizes reviews by product, topic, or issue
  • Identifies urgent issues that need attention
  • Processes reviews in batches to manage API costs
  • Saves analyzed data back to a new CSV file

Expected Time: 6 hours

Download Slides

Lecture Topics

  • Function calling in LLM APIs (tools/functions)
  • Defining function schemas and descriptions
  • When and why to use function calling
  • Structured outputs and JSON mode
  • Building AI agents that can take actions
  • Handling function call responses
  • Chaining multiple function calls
  • Error handling in function calling

Key Concepts

  • Extending AI with custom capabilities
  • Reliable structured data extraction
  • AI that can interact with external systems
  • Building more deterministic AI applications

Assignment: AI Email & Calendar Manager

Create a program that:

  • Takes email or message text as input
  • Uses function calling to extract structured information
  • Categorizes messages (work, personal, promotional, urgent, etc.)
  • Can add events to a simple calendar (stored in JSON)
  • Can set reminders based on extracted deadlines
  • Generates draft replies using AI with context
  • Saves all structured data to JSON files
  • Can process multiple emails from a text file

Expected Time: 6–7 hours

Download Slides

Lecture Topics

  • What are embeddings? Vector representations of text
  • How embeddings capture semantic meaning
  • Using OpenAI/other embedding APIs
  • Vector similarity and cosine similarity
  • Semantic search vs keyword search
  • Introduction to vector databases (concepts)
  • Building a simple RAG system
  • When to use embeddings vs traditional search

Key Concepts

  • Representing text as numerical vectors
  • Finding semantically similar content
  • Enhancing AI with external knowledge
  • The foundation of modern AI search

Assignment: Personal Knowledge Base with Semantic Search

Build a searchable knowledge base that:

  • Allows adding documents, notes, or articles
  • Creates and stores embeddings for all content
  • Performs semantic search based on meaning
  • Returns top-N most relevant documents with similarity scores
  • Uses RAG to answer questions about stored documents
  • Can handle at least 50+ documents
  • Shows the difference between keyword and semantic search

Expected Time: 6–7 hours

Download Slides

Lecture Topics

  • Advanced RAG techniques and patterns
  • Chunking strategies for long documents
  • Hybrid search (combining keyword + semantic)
  • Re-ranking search results
  • Working with different document types
  • Metadata filtering and structured queries
  • Introduction to vector databases (Pinecone, ChromaDB)
  • RAG evaluation and quality metrics

Key Concepts

  • Building production-quality RAG systems
  • Document preprocessing and chunking
  • Improving search relevance
  • Scaling to larger document collections

Assignment: AI Research Assistant

Build an advanced research assistant that:

  • Can ingest multiple document types
  • Chunks long documents intelligently
  • Creates embeddings for all chunks with metadata
  • Implements hybrid search combining embeddings and keywords
  • Uses RAG to answer complex questions requiring multiple sources
  • Cites sources in responses
  • Provides confidence scores for answers

Expected Time: 7–8 hours

Download Slides

Lecture Topics

  • What are AI agents? From simple to complex
  • Agent architectures and patterns (ReAct, Plan-and-Execute)
  • Tool use and function calling in agents
  • Agent memory and state management
  • Multi-step reasoning and planning
  • Error handling and recovery in agents
  • When to use agents vs simple API calls
  • Limitations and safety considerations

Key Concepts

  • Building AI systems that can take multiple actions
  • Combining reasoning, planning, and execution
  • Managing complex workflows with AI
  • Balancing autonomy with control

Assignment: AI Task Automation Agent

Build an agent that can:

  • Accept high-level goals from the user
  • Break down goals into sub-tasks automatically
  • Execute sub-tasks using appropriate tools/functions
  • Maintain state and memory across multiple steps
  • Self-correct when tasks fail
  • Provide progress updates to the user
  • Generate a final deliverable
  • Include at least 5 different tools/functions

Expected Time: 7–8 hours

Download Slides

Lecture Topics

  • When to fine-tune vs when to use prompting/RAG
  • Introduction to fine-tuning concepts
  • Preparing training data for fine-tuning
  • Fine-tuning with OpenAI API (practical walkthrough)
  • Evaluating fine-tuned models
  • Cost considerations for fine-tuning
  • Alternatives: few-shot learning, RAG, prompt engineering
  • Model distillation basics

Key Concepts

  • Different levels of model customization
  • Creating quality training datasets
  • Evaluating model performance
  • When customization is worth the investment

Assignment: Custom AI Model Project

Choose one approach:

Option A: Fine-tune a Model — Choose a specific task, create a training dataset (min 50 examples), fine-tune using OpenAI's API, and compare performance vs base model.

Option B: Advanced Few-Shot System — Build a system with dynamic few-shot examples, organized by category, using RAG to find similar examples.

Expected Time: 7–8 hours

Download Slides

Lecture Topics

  • Structuring larger Python projects
  • Environment variables and configuration management
  • Basic web interfaces with Gradio or Streamlit
  • API design for AI applications
  • Deploying to cloud platforms
  • Best practices for production AI apps
  • Cost management and monitoring
  • Security considerations

Key Concepts

  • Project organization and architecture
  • Making AI apps user-friendly
  • Production deployment considerations
  • Monitoring and maintenance

Assignment: Deploy an AI Application

Take one of your previous projects and:

  • Add a web interface using Gradio or Streamlit
  • Implement proper configuration management
  • Add usage logging and analytics
  • Include rate limiting to control costs
  • Write a detailed README with setup instructions
  • Deploy to a free platform (Hugging Face Spaces, Streamlit Cloud, etc.)
  • Share the deployed link and documentation

Expected Time: 7–8 hours

Download Slides

Lecture Topics

  • Project planning and scoping for AI applications
  • Combining everything learned
  • Code review and best practices
  • AI ethics and responsible deployment
  • Future learning paths in AI
  • Course wrap-up and Q&A

Key Concepts

  • Building complete, production-ready AI applications
  • Integration of multiple AI techniques
  • Real-world problem solving with AI
  • Responsible AI development

Capstone Project

Build a complete AI application that:

  1. Solves a real problem you care about
  2. Uses at least 3 AI techniques from the course
  3. Has a user interface (web, terminal, or GUI)
  4. Is deployed and accessible online
  5. Includes proper documentation

Suggested Project Ideas

  • AI Study/Research Assistant — Document processing, semantic search, RAG Q&A
  • AI Content Creation Suite — Article generation, image creation, SEO optimization
  • AI Business Automation — Email classification, meeting summaries, action items
  • AI Code Learning Companion — Code explanation, exercises, review & feedback
  • Domain-Specific AI Agent — Specialized RAG + custom tools for any domain
  • Your Own Idea! — Propose a custom project

Expected Time: 10–15 hours

Resources

Required Software

Python Libraries

  • requests
  • openai or anthropic
  • python-dotenv
  • pandas
  • matplotlib / numpy
  • flask or gradio

API Keys Needed

  • OpenAI API or Anthropic Claude
  • OpenWeatherMap API
  • Hugging Face (optional)

Grading Criteria

  • Functionality — 80%
  • Code Quality — 10%
  • Completion — 10%