We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7
Week 1: Introduction to Flutter & Dart
Day 1: Getting Started
- Overview of Mobile App Development - Introduction to Flutter & Dart - Installing Flutter (Windows, macOS, Linux) - Setting up IDE (VSCode, Android Studio)
Day 2: First Flutter App
- Understanding Flutter project structure - Running the default Flutter app - Hot Reload and Hot Restart
Day 3: Basics of Dart Programming
- Variables and Data Types - Functions and Control Flow (if/else, loops)
Day 4: Object-Oriented Programming in Dart
- Classes, Constructors, Inheritance - Hands-on: Building simple Dart programs
Week 2: Flutter Widgets & UI
Day 1: Widgets 101 - Introduction to Flutter Widgets - Stateless vs Stateful Widgets - Common Widgets: Text, Container, Row, Column
Day 2: Layout Basics
- Padding, Alignment, Flexbox - Layout creation using Rows and Columns - Building flexible UIs with Expanded and Flex
Day 3: Complex Widgets
- ListView and GridView - Images and Icons in Flutter - Hands-on: Creating a basic static UI with these widgets
Day 4: Hands-on Project
- Build a static UI for a simple mobile app (e.g., profile page or settings page)
Week 3: Building Interactive UI
Day 1: User Input and Forms - TextFields and Buttons - Handling form inputs and validation
Day 2: Navigation and Routing
- Navigating between screens (push/pop, Navigator) - Passing data between screens using arguments
Day 3: State Management Basics
- Introduction to State and setState - Handling user interactions: Clicks, Gestures, and Taps
Day 4: Hands-on Project
- Create a multi-screen app that captures user input and navigates between pages
Week 4: Working with Lists and Data
Day 1: Lists and Grids - Displaying dynamic lists using ListView.builder - Creating scrollable and interactive lists
Day 2: Handling User Actions on Lists
- Using GestureDetectors for interactivity - Handling swipe actions and clicks
Day 3: Dynamic Data and UI Updates
- Updating the UI in response to data changes - Using setState for dynamic updates
Day 4: Hands-on Project
- Create a dynamic list app (e.g., task manager) that updates based on user input
Week 5: Building Multi-Page Apps with Widgets
Day 1: Advanced Widgets - Using advanced widgets like Stack, Positioned, and Hero - Building layered UIs with Stack and Positioned
Day 2: Custom Widgets and Reusability
- Creating custom widgets for reusability - Passing data to custom widgets through constructors
Day 3: Navigating with Bottom Navigation and TabBar
- Implementing bottom navigation bars - Creating a TabBar with multiple tabs - Navigating between multiple pages using tabs
Day 4: Hands-on Project
- Build a multi-page app (e.g., e-commerce app, recipe app) using a combination of Stack, Tabs, and advanced widgets
Week 6: State Management and Local Storage
Day 1: Introduction to State Management - Understanding state in Flutter - Introduction to setState for managing simple state - When to use Stateful vs Stateless widgets
Day 2: State Management with Provider
- Introduction to the Provider package for global state management - Using ChangeNotifier and Consumer - Managing app-wide state efficiently Day 3: Local Storage Basics - Saving and retrieving data locally using SharedPreferences - Persisting simple data like user preferences - Introduction to SQLite for structured local storage
Day 4: Hands-on Project
- Build a small app (e.g., to-do app) that uses Provider for state management and SharedPreferences for saving user data persistently
Week 7: Building a To-Do App with Hive and Bloc
Day 1: Introduction to Hive Database - Overview of Hive as a lightweight and fast NoSQL database for Flutter - Setting up Hive in a Flutter project - Storing and retrieving data using Hive - Managing tasks with Hive boxes
Day 2: Introduction to Bloc for State Management
- Understanding the Bloc (Business Logic Component) pattern - Setting up Bloc in Flutter - Managing state transitions using Bloc and Cubit - Connecting UI with Bloc for better state management
Day 3: Integrating Hive with Bloc
- Combining Hive for data storage and Bloc for state management - Persisting and updating to-do items using Hive and Bloc - Implementing CRUD (Create, Read, Update, Delete) operations with Hive and Bloc
Day 4: Hands-on Project
- Build a complete to-do app using Hive for data persistence and Bloc for state management - Implement task addition, deletion, and modification with proper state management
Week 8: Networking and API Integration
Day 1: Introduction to REST APIs and Networking in Flutter - What is a REST API and how it works - Using the http package in Flutter for making HTTP requests - Fetching data from APIs using GET requests - Parsing and handling JSON data in Flutter
Day 2: Sending Data to APIs (POST, PUT, DELETE)
- Sending data to APIs using POST requests - Updating data using PUT requests - Deleting data using DELETE requests - Handling errors and retries in network requests
Day 3: Handling Asynchronous Data with Future and Stream
- Introduction to asynchronous programming in Flutter - Using Future, async, and await for API calls - Working with Streams for handling real-time data - Error handling in asynchronous operations
Day 4: Hands-on Project
- Build an app that fetches data from a public API (e.g., weather app, news app) - Allow users to submit data (e.g., search queries, form submissions) and update UI accordingly - Implement error handling and loading indicators for a smooth user experience
Week 9: Building a News App
Day 1: Setting Up the News App and Fetching Data - Introduction to a news API (e.g., NewsAPI, NY Times API) - Setting up API access (API keys, endpoints) - Structuring the Flutter project for the news app - Fetching top headlines or articles from the API using GET requests
Day 2: Displaying News Articles
- Parsing and displaying news articles in a ListView - Creating UI components to display article titles, descriptions, and images - Implementing lazy loading for images and articles Day 3: News Article Details Page and Navigation - Navigating from the article list to a detailed news article page - Passing article data between screens - Displaying full article details including the author, published date, and content - Adding the option to open the full article in an in-app browser (WebView)
Day 4: Hands-on Project
- Finalizing the news app by implementing search functionality to look up articles by keyword - Adding pagination or infinite scroll for continuous loading of articles - Handling API errors and loading states - Wrap-up: Testing, debugging, and optimizing the app with Version Control (GitHub/Git)
Week 10: Revision & Capstone Preparation
Day 1: Full Revision of Flutter Concepts - Review key topics: - Flutter and Dart basics - Widgets and UI layouts - State management techniques (setState, Provider, Bloc) - Networking and API integration - Local storage with Hive - Recap with Q&A and quick hands-on exercises - Discuss any unclear concepts
Days 2-4: Capstone Project Planning
- Introduce the Movie App as the capstone project - Outline the project scope and goals - Brainstorm and research Movie App UI/UX design - Review relevant documentation and best practices for app development - Divide roles (frontend, backend, API integration, UI/UX design) - Set up collaborative tools (GitHub, Trello, Figma, etc.)
Weeks 11-12: Team Project - Building a Movie App
Week 11: Team Collaboration and Development Day 1: Set up project repositories and development environment Day 2: Team divides roles and starts working on individual components (UI, API integration, state management) Day 3: Regular check-ins and debugging sessions as a team Day 4: Merge components and start testing the core features
Week 12: Final Touches and Deployment
Day 1: Finalize the app, conduct extensive testing (unit tests, UI tests) Day 2: Prepare for deployment (app store guidelines, submission processes) Day 3: Create project presentation materials (slides, demo video) Day 4: Present the final Movie App to the class and receive feedback