- Flutter on Lab Machines - Complete installation guide for RIT lab machines (GOL 2435, etc.)
- VS Code & Flutter Workflow - All-in-one daily workflow reference:
- VS Code Shortcuts - Essential keyboard shortcuts and widget snippets
- Trailing Commas & Formatting - The trailing comma trick + Dart 3.8+ formatter fix
- Debugging - Breakpoints, hot reload vs restart, print debugging
- Project Cleanup & Submission - flutter clean, flutter pub get, submission checklist
- Common Issues - Quick fixes for frequent problems
- Personal Machine Setup (see Lab 00)
- BoxDecoration - Borders, shadows, gradients, rounded corners
- Themes & ThemeData - Global app styling and color systems
- ColorScheme & Color Generation - Material Design color system, fromSeed generation
- Text Styling & Custom Fonts - TextStyle, custom fonts, Google Fonts
- Material vs Cupertino Design (see Week 4B notes)
- Container Basics - Sizing, padding, margin, alignment
- Row & Column Layout - Horizontal and vertical widget arrangement
- Expanded & Flexible - Responsive layouts, filling available space
- Padding & SizedBox - Spacing and sizing widgets
- Stack Widget - Layering widgets, Positioned, z-order
- Images & Assets - Local and network images, asset configuration
- SVG Images - Using flutter_svg, handling color issues
- Button Types & Styling - All button variants with theming and customization
- InkWell & GestureDetector - Making any widget clickable
- TextField Basics - User text input and controllers
- Focus Management - Keyboard control, focus flow, dismissing keyboard
- DropdownButton - Selection menus and lists
- CheckBox Widgets - CheckBox, CheckboxListTile, and tri-state
- Form Validation - Forms, validators, and input validation
- SingleChildScrollView - Handling overflow and scrolling
- ListView & ListTile / ListView.builder - Dynamic lists
- GridView & GridTile - Grid layouts, GridView.builder, SliverGridDelegate
- Dialogs & Alerts - AlertDialog, showDialog, popups
- ScaffoldMessenger - SnackBar, MaterialBanner
- Basic Navigation - Navigator.push/pop, MaterialPageRoute, navigation stack
- Named Routes - Clean routing with string identifiers, route configuration
- Data Passing Between Pages - Arguments, return values, async navigation
- GoRouter Package - Modern Navigation 2.0, URL-style routing, path parameters
- BottomNavigationBar - Bottom navigation with manual state management, IndexedStack
- TabBar & TabBarView - Top tabs with DefaultTabController, AutomaticKeepAliveClientMixin
- Declarative UI Architecture - "Your data controls the UI" - Flutter's foundational principle
- setState Basics - Fundamental state updates
- StatefulWidget Lifecycle (see Week 4A notes)
- Provider Pattern - Centralized state management, ChangeNotifier, context.watch/read, Consumer widget (Week 10A-10B)
- Async/Await Fundamentals - Future, async, await, error handling
- HTTP & API Integration - Complete API guide with HTTP requests, JSON parsing, authentication, error handling
- GIPHY API Setup Guide - Complete guide to getting and using GIPHY API keys
- SharedPreferences - Persistent key-value storage for settings, preferences, favorites
- GameWidget & FlameGame Basics - Game setup, asset loading, game loop (Week 11B)
- Sprite Components - Creating visual game objects, position, rotation (Week 11B)
- Input Handling - PanDetector, TapCallbacks, touch controls (Week 11B)
- JoystickComponent - Virtual joystick for mobile games (Week 11B)
- Flame Overlays - UI layers on game canvas, overlay management (Week 12A)
- Audio with Games - No separate chapter, but covered in Week 12B Notes alongside SFX and audio
- URL Launcher - Open websites, phone calls, emails, SMS from your app
- CachedNetworkImage - Efficient image loading with caching
- WebView Flutter - No chapter on this here, but we covered this in Week 12A Notes for the asterioid game.
- AudioPlayers Package - No chapter on this here, but we covered this in Week 12B Notes for the asterioid game when we added SFX and audio.
- App Lifecycle Management (see Week 13A Notes)
- Splash Screens (See Week 13B Notes)
- App Icons (See Week 13B Notes)
- MediaQuery & LayoutBuilder - Screen size detection, conditional layouts, InheritedWidget rebuild mechanism
- AspectRatio Widget (see Flutter docs)
- Code Organization & DRY Principles - Extract methods, widget extraction, file structure, naming conventions
- Professional Commenting - Code commenting standards and examples
- VS Code & Flutter Workflow - Shortcuts, formatting, debugging, flutter clean (all in one page)
- Widget Inspector (see Week 8B notes)
- Submission Guidelines - flutter clean, folder structure, MyCourses upload
This reference guide is designed for quick lookups when you're coding. Each topic includes:
- Quick Example - Copy-paste code to get started
- Common Use Cases - Variations you'll actually use
- Important Rules - Things that will break if you don't know them
- Common Patterns - Production-ready examples
- Properties Reference - Quick property lookup table
- When Covered in Course - Links back to weekly notes for context
- Common Errors - Troubleshooting help
- Use GitHub Search - The search box works across all files
- Check Weekly Notes - The weekly folder has detailed class-by-class coverage
- Check the Schedule - The course schedule shows when topics are covered
- Ask on Discord/Slack - Your classmates might have the same question
- Office Hours - Sometimes a quick demo is worth 1000 words
Found an error or have a helpful example? Let me know! This reference grows based on your needs.
This reference supplements but doesn't replace the weekly class notes. The weekly notes show you what we did in class and in what order. This reference helps you find specific "how to" information quickly.
Topics marked "coming soon" will be added as we cover them in class. Topics marked with "see [Week X notes]" are well-covered in the weekly notes and may not need separate reference pages.