Focuses on moving beyond the stateless HTTP request-response cycle. Students will use WebSockets and Server-Sent Events (SSE) to build a "Live Collaborative Whiteboard" (similar to Miro/Figma). They will learn the con...
Focuses on moving beyond the stateless HTTP request-response cycle. Students will use WebSockets and Server-Sent Events (SSE) to build a "Live Collaborative Whiteboard" (similar to Miro/Figma). They will learn the concepts of persistent TCP connections, broadcast mechanisms, socket rooms, and handling connection drops in real-time environments.
Focuses on declarative data fetching and solving REST bottlenecks. Students will transition from REST to GraphQL to build a "Customizable Analytics Dashboard." They will learn to mitigate Over-fetching and Under-fetching, write Resolvers, and understand the Abstract Syntax Tree (AST) of a query, allowing the View to dictate exactly what data the Controller should return.
Focuses on decoupling backend services for scalability. Students will implement a message broker (RabbitMQ or Apache Kafka) to engineer an "Asynchronous Order Processing Pipeline." They will learn the Publisher/Subscriber pattern, event streaming, message durability, and how to prevent system failure by buffering sudden spikes in traffic through queues.
Focuses on breaking down monolithic architectures. Students will split a backend into separate, independent services (e.g., Auth Service, Inventory Service). They will configure an API Gateway (like NGINX or Kong) to act as a reverse proxy for a "Modular E-Commerce Backend." They will learn about service discovery, request routing, and cross-origin resource sharing (CORS) across multiple domains.
Focuses on efficient inter-service communication. Students will replace JSON payloads with Protocol Buffers (Protobuf). They will engineer a "High-Throughput Logging Service" where microservices communicate via gRPC. They will learn about payload serialization, strong typing in network contracts, and why binary transmission outperforms text-based JSON in microservice clusters.
Focuses on handling massive media assets globally. Students will integrate AWS S3 (or equivalent) to build a "Video Hosting Platform." They will implement Multipart Uploads for large files, generate Pre-signed URLs for secure direct-to-cloud uploads, and configure a CDN (CloudFront) to cache assets at edge locations, drastically reducing latency for global users.
Focuses on dynamic execution without server management. Students will deploy code to AWS Lambda or Cloudflare Workers. They will build a "Dynamic Image Resizer" that intercepts image requests and resizes them on the fly at the Edge. They will learn the concepts of "Cold Starts," stateless execution environments, and cost-optimization in serverless architectures.
Focuses on rapid retrieval of unstructured data. Students will integrate a full-text search engine (Elasticsearch, Algolia, or Meilisearch). They will build a "Faceted Search Interface" capable of typo-tolerance and complex filtering. They will learn about inverted indexes, tokenization, and how search databases differ fundamentally from relational databases.
Focuses on understanding system health in a distributed environment. Students will instrument their microservices using OpenTelemetry. They will build a "System Health Dashboard" integrating Prometheus (for metrics) and Grafana (for visualization). They will learn the three pillars of observability: Logs, Metrics, and Distributed Tracing (tracking a single request across multiple microservices).
Focuses on automating cloud environments. Students will use Terraform or AWS CDK to programmatically define their entire infrastructure. They will deploy an "Automated Cloud Provisioning" script that spins up databases, VPCs, load balancers, and compute instances. They will learn the philosophy of Immutable Infrastructure, treating servers as "cattle, not pets," readying them for enterprise DevOps roles.
Focuses on maintaining persistent network connections on a mobile device. Students will use URLSessionWebSocketTask to build a "Live Multiplayer Trivia Client." They will learn how to handle WebSocket frames, manage background thread execution, and deal with the OS dropping connections when the app enters the background state.
Focuses on handling heavy continuous data streams. Students will utilize AVFoundation to build a "Custom HLS Video Player." They will learn how mobile devices handle m3u8 playlists, adaptive bitrate streaming (shifting video quality based on network strength), buffer management, and integrating Picture-in-Picture (PiP).
Focuses on leveraging the iPhone’s Neural Engine. Students will integrate a pre-trained machine learning model using CoreML and the Vision framework. They will build a "Real-Time Object Detector" utilizing the device camera. They will learn about model quantization, running inference on the edge without internet connectivity, and processing CVPixelBuffers efficiently.
Focuses on interacting with the physical world. Students will use ARKit and RealityKit to build an "Interactive Furniture Placer." They will learn the mathematics of Visual Inertial Odometry (VIO), plane detection, ray casting, and the rendering loop required to lock 3D assets to physical real-world coordinates.
Focuses on breaking out of the main application sandbox. Students will engineer a "Live Activity & Home Screen Widget" for an ongoing sports match. They will learn about Timeline Providers, strict memory-constrained environments, and establishing App Groups to share UserDefaults and database files securely between the main app and its extensions.
Focuses on interfacing with external physical devices. Students will act as a Central Manager to build an "IoT Heart Rate Monitor" interface. They will learn the Bluetooth Low Energy (BLE) protocol, discovering peripherals, connecting, and subscribing to specific Characteristics and Services to read live sensor data.
Focuses on handling modern declarative APIs. Students will integrate Apollo iOS to connect to a GraphQL backend. They will build a "Deeply Nested Social Client." They will learn how to write `.graphql` files, generate strongly-typed Swift models automatically, and utilize Apollo's normalized local caching to drastically reduce network requests.
Focuses on utilizing legacy code and maximizing performance. Students will learn how Swift interacts with lower-level languages. They will build a "High-Performance Audio Synthesizer" by bridging a C++ digital signal processing library into Swift. They will learn about bridging headers, unsafe memory pointers, and memory layout compatibility.
Focuses on optimizing the application footprint. Students will learn how to reduce initial download sizes to improve user acquisition. They will build an "Asset-Heavy Mobile Game Interface" that dynamically downloads levels and high-res textures only when the user reaches them. They will learn about App Slicing, asset catalogs, and managing ODR storage limits.
Focuses on scaling codebases for large engineering teams. Students will break down a monolithic iOS app into smaller, isolated frameworks using Swift Package Manager (SPM). They will build a "Multi-Module Super App." They will learn the difference between static and dynamic libraries, managing compilation boundaries, and designing internal APIs, preparing them for Enterprise iOS roles.