This repository contains assignments and projects from the Software Engineering course.
This course covers software engineering principles, practices, and modern development methodologies including:
- Agentic AI and MCP-based systems
- UML diagramming and software design
- Multi-agent collaboration patterns
- LLM-powered software development
Topic: Building an MCP-based agentic AI system with custom tools
- Section A: SuperAgent implementation with three custom tools
- Section B: Architecture diagrams and analysis
Topic: Online Movie Ticket Booking System - Requirements verification and UML design
- Use case diagrams and specifications
- Class diagrams
- Sequence diagrams
- State chart diagrams
- Python code generation using AutoGen
Topic: Library Management System - Complete software development lifecycle using LLM agents
- Use case and class diagrams
- Sequence diagrams for key operations
- Python code generation
- AI pattern implementation (Tool-Based, Code Executor, Multi-Agent, Observer)
Topic: AI-assisted use case diagram generation and UML modeling
- AutoGen AssistantAgent for use case analysis
- DOT code generation for Graphviz
- Manual refinement and UML compliance
- Design justification and comparison
Topic: Collaborative multi-agent system for software development
- Design-Code-Execute team architecture
- AutoGen Studio configuration
- RoundRobinGroupChat pattern
- Code generation and execution
Topic: Complex workflow patterns with DiGraphBuilder and GraphFlow
- Sequential, parallel, and join patterns
- Data analysis pipeline
- Graph-based agent orchestration
- Statistical analysis workflow
Topic: Comprehensive collection of AI agents demonstrating progressive learning
- Weather, Currency, Stock Price agents
- Multi-tool agent systems
- Food ordering use case analysis
- Progressive complexity demonstration
- Python 3.x
- Google ADK (Agent Development Kit)
- AutoGen Studio (Multi-agent framework)
- PlantUML (UML diagram generation)
- Ollama (Local LLM)
- Gemini API (Google's AI model)
- All assignments include detailed README files with setup instructions
- Each assignment contains submission materials and deliverables
- Code examples and execution instructions are provided
These assignments demonstrate comprehensive understanding of:
- Agentic AI Systems: Building and configuring AI agents with custom tools
- MCP Protocol: Model Context Protocol for tool exposure and agent communication
- UML Modeling: Complete software design lifecycle from requirements to implementation
- Multi-Agent Collaboration: Orchestrating multiple AI agents for complex tasks
- Software Architecture: Design patterns, system design, and architectural decisions
- AI-Assisted Development: Using LLMs to generate code, diagrams, and specifications
- Requirements Analysis: Translating business requirements into technical designs
- Object-Oriented Design: Class relationships, state management, and design patterns
Through these projects, I've gained hands-on experience with:
- Python 3.x: Advanced programming, OOP, algorithms, web scraping
- Google ADK: Agent Development Kit for building AI agents
- AutoGen Studio: Multi-agent framework for collaborative AI systems
- Ollama: Local LLM deployment and management
- PlantUML: UML diagram generation and syntax
- Graphviz: Diagram visualization and rendering
- BeautifulSoup: Web scraping and HTML parsing
- Gemini API: Google's AI model integration
Each assignment builds upon previous concepts:
- Assignment 1: Foundation - Building agents with custom tools
- Assignment 2: Design - Requirements analysis and UML modeling
- Assignment 3: Integration - Complete SDLC with AI assistance
Together, these projects showcase the ability to:
- Build AI systems from scratch
- Apply software engineering principles
- Make informed architectural decisions
- Document technical work professionally
- Solve real-world problems with AI assistance
Max Heitzman
Last Updated: Fall 2025