Difference between revisions of "IU:TestPage"

From IU
Jump to navigation Jump to search
Tag: Manual revert
Line 1: Line 1:
   
  +
= Mobile Cross-Platform Flutter Developer =
= Business Development, Sales and Marketing in IT Industry =
 
* '''Course name''': Business Development, Sales and Marketing in IT Industry
+
* '''Course name''': Mobile Cross-Platform Flutter Developer
* '''Code discipline''': S22
+
* '''Code discipline''': R-01
* '''Subject area''': all around marketing and sales in IT industry.
+
* '''Subject area''':
   
 
== Short Description ==
 
== Short Description ==
  +
This course covers the following concepts: Basics of mobile development; Fundamentals of Dart programming language; Fundamentals of mobile development with Flutter; Advanced cross-platform development topics.
This course contains two important for successful company parts: marketing and sales.
 
These are the parts that are linked with each other - it is very difficult to sell without marketing support and it is very difficult to achieve results with marketing efforts only.
 
Marketing part, starting from defining things like developing marketing strategy for the companies, finally offers practical tools of digital marketing. We will explore new digital reality and its impact on IT business. We will learn success stories of real businesses and how companies are adapting to the new changing landscape.
 
The second part of the course covers important things for every company's success – the sales process. Understand how to attract customers in negotiations, how to “get to yes” getting great deals, how to control the sales funnel – you will get the understanding how it works and try it in practice.
 
   
 
== Prerequisites ==
 
== Prerequisites ==
   
 
=== Prerequisite subjects ===
 
=== Prerequisite subjects ===
  +
* HSS310
 
   
 
=== Prerequisite topics ===
 
=== Prerequisite topics ===
  +
* Basic IT industry knowledge
 
* Basic marketing knowledge
 
   
 
== Course Topics ==
 
== Course Topics ==
Line 26: Line 22:
 
! Section !! Topics within the section
 
! Section !! Topics within the section
 
|-
 
|-
  +
| Basics of Dart/Flutter development ||
| Marketing Strategy ||
 
  +
# Key concepts and syntax of Dart programming language
# Types of markets
 
  +
# Working with REST API in a Dart/Flutter app
# Product-centric marketing
 
  +
# Deep dive into rendering in Flutter (Widgets, Elements, RenderObjects)
# Customer-centric marketing
 
  +
# Scrollable lists and grids in Flutter
# Developing Marketing Strategy
 
|-
 
| Marketing tools ||
 
# Brand&Presentation
 
# Analytics
 
# Content
 
# SMM
 
# Context advertising
 
# E-mail marketing
 
 
|-
 
|-
| Sales ||
+
| Advanced development ||
  +
# Usage of Dart/Flutter packages and plugins.
# CRM systems
 
  +
# Popular packages and plugins from pub.dev that makes development simpler.
# B2B
 
  +
# Understanding of packages/plugins development and publication
# B2C
 
  +
# Persistence in Flutter, different approaches and libraries
# Negotiations
 
  +
# Dart asynchronous programming
  +
# Flutter app architectures and state management approaches
  +
# Complex animations
 
|-
 
|-
| Final Project Presentation ||
+
| Extra topics ||
  +
# Working with deep links & web URLs
# Presentation of marketing&sales strategy and tactics for startup
 
  +
# Different approaches for native platform interoperability
  +
# Usage of Firebase tools and services
  +
# Types of testing and how to provide high quality for an application
  +
# Build artifacts for different platforms and deploy them
 
|}
 
|}
 
== Intended Learning Outcomes (ILOs) ==
 
== Intended Learning Outcomes (ILOs) ==
   
 
=== What is the main purpose of this course? ===
 
=== What is the main purpose of this course? ===
  +
Flutter is a powerful multi-platform framework that allows one to create complex
This course aims to give students the skills of developing a winning marketing strategy for a startup, as well as the skills to implement marketing strategy using real digital-marketing tools and sales tactics for a startup product.
 
   
 
=== ILOs defined at three levels ===
 
=== ILOs defined at three levels ===
Line 58: Line 53:
 
==== Level 1: What concepts should a student know/remember/explain? ====
 
==== Level 1: What concepts should a student know/remember/explain? ====
 
By the end of the course, the students should be able to ...
 
By the end of the course, the students should be able to ...
  +
* By the end of the course, the students should be able to ...
* Develop naming, presentation, and product offer
 
  +
* Understand core concepts of Dart programming language
* Use digital marketing tools
 
  +
* Understand asynchronous programming with Dart language
* Use CRM
 
  +
* Understand core concepts of how Flutter framework works with UI
* Sell its product
 
  +
* Understand core concepts of how Flutter applications communicate with hosting
  +
* platforms, such as iOS, Android, web, desktop
  +
* Apply different architecture patterns in Flutter app development
  +
* Know how to create production-ready applications using Flutter framework and
  +
* provide a great user experience with it
  +
* Learn a broad and robust understanding of mobile app development including
  +
* some basics of Android and iOS specifics
  +
* Create a portfolio-ready project which uses some advanced mobile app
  +
* development techniques such as client-server communications, complex animations,
  +
* unit- and UI-testing and so on
   
 
==== Level 2: What basic practical skills should a student be able to perform? ====
 
==== Level 2: What basic practical skills should a student be able to perform? ====
 
By the end of the course, the students should be able to ...
 
By the end of the course, the students should be able to ...
  +
* By the end of the course, the students should be able to ...
* Skills of market type identification
 
  +
* Write code using Dart programming language
* Skills in developing naming, presentations, product offerings
 
  +
* Build business-logic with Dart programming language
* Skills of context advertising
 
  +
* Build applications’ UI with Flutter framework
* Skills of SMM doing
 
  +
* Create complex animations using Flutter framework
* Skills of content marketing
 
  +
* Test applications with unit, widget and integration tests
* Skills of e-mail marketing
 
   
 
==== Level 3: What complex comprehensive skills should a student be able to apply in real-life scenarios? ====
 
==== Level 3: What complex comprehensive skills should a student be able to apply in real-life scenarios? ====
 
By the end of the course, the students should be able to ...
 
By the end of the course, the students should be able to ...
  +
* By the end of the course, the students should be able to ...
* Skills for valuation the market environment
 
  +
* Combine asynchronous programming with multithreading using Dart programming
* Skills how to find the right addressable market for its product
 
  +
* language
* Skills of web analytics
 
  +
* Work with platform channels and transmit data between native platform and Flutter
* Skills of CRM using
 
  +
* application
* Sales skills to various types of clients
 
  +
* Build modular Flutter dependencies: packages and plugins
  +
* Work with Firebase toolchain: Authorization, Storage, Crashlytics etc
  +
* Build Flutter applications for different platforms and deploy them via CI/CD tools
 
== Grading ==
 
== Grading ==
   
Line 87: Line 95:
 
! Grade !! Range !! Description of performance
 
! Grade !! Range !! Description of performance
 
|-
 
|-
| A. Excellent || 90-100 || Pass
+
| A. Excellent || 85-100 || -
 
|-
 
|-
| B. Good || 75-89 || Pass
+
| B. Good || 70-84 || -
 
|-
 
|-
| C. Satisfactory || 60-74 || Pass
+
| C. Satisfactory || 55-69 || -
 
|-
 
|-
| D. Fail || 0-59 || Fail
+
| D. Poor || 0-54 || -
 
|}
 
|}
   
Line 102: Line 110:
 
! Activity Type !! Percentage of the overall course grade
 
! Activity Type !! Percentage of the overall course grade
 
|-
 
|-
| Seminar classes || 40
+
| Labs/seminar classes || 30
 
|-
 
|-
| Interim performance assessment on the results of lecture assignments and its presentations || 30
+
| Interim performance assessment || 40
 
|-
 
|-
| Final presentation || 30
+
| Exams || 30
 
|}
 
|}
   
 
=== Recommendations for students on how to succeed in the course ===
 
=== Recommendations for students on how to succeed in the course ===
  +
The student is recommended the following scheme of preparation for classes:<br>Marketing and sales are much more about hypothesis testing and math, than creativity. Therefore, it is so important for students to try the acquired knowledge in real practice, doing small tasks after each lecture.<br>Finally, we will try to assemble a working strategy for a startup from these tasks.<br>Moreover:<br>Participation is important. Showing up is the key to success in this course.<br>Reading the recommended literature is optional, and will give you a deeper understanding of the material.
 
   
 
== Resources, literature and reference materials ==
 
== Resources, literature and reference materials ==
   
 
=== Open access resources ===
 
=== Open access resources ===
  +
* https://www.dart.dev
* Андрей Кравченко. Неидеальная стратегия для идеальной компании.
 
  +
* https://www.flutter.dev
* Peter Fader. Customer Centricity.
 
   
 
=== Closed access resources ===
 
=== Closed access resources ===
  +
* Viktor Pelevin. Empire V.
 
* W. Chan Kim, Renee Mauborgne. Blue Ocean Strategy.
 
* Eric ries. Lean startup.
 
* Simon Kingsnorth. Digital Marketing Strategy.
 
* Chet Holmes. The Ultimate Sales Machine.
 
   
 
=== Software and tools used within the course ===
 
=== Software and tools used within the course ===
  +
* Standard office tools for Tables, Text and Presentation
 
 
= Teaching Methodology: Methods, techniques, & activities =
 
= Teaching Methodology: Methods, techniques, & activities =
   
 
== Activities and Teaching Methods ==
 
== Activities and Teaching Methods ==
 
{| class="wikitable"
 
{| class="wikitable"
|+ Teaching and Learning Methods within each section
+
|+ Activities within each section
 
|-
 
|-
! Teaching Techniques !! Section 1 !! Section 2 !! Section 3 !! Section 4
+
! Learning Activities !! Section 1 !! Section 2 !! Section 3
 
|-
 
|-
  +
| Development of individual parts of
| Problem-based learning (students learn by solving open-ended problems without a strictly-defined solution) || 1 || 1 || 1 || 1
 
  +
software product code || 1 || 1 || 1
 
|-
 
|-
| Project-based learning (students work on a project) || 1 || 1 || 1 || 1
+
| Homework and group projects || 1 || 1 || 1
 
|-
 
|-
  +
| Testing (written or computer based) || 1 || 1 || 1
| Business game (learn by playing a game that incorporates the principles of the material covered within the course). || 1 || 1 || 1 || 1
 
|-
+
|}
  +
== Formative Assessment and Course Activities ==
| Task-based learning || 1 || 1 || 1 || 1
 
  +
|}
 
  +
=== Ongoing performance assessment ===
  +
  +
==== Section 1 ====
 
{| class="wikitable"
 
{| class="wikitable"
  +
|+
|+ Activities within each section
 
 
|-
 
|-
  +
! Activity Type !! Content !! Is Graded?
! Learning Activities !! Section 1 !! Section 2 !! Section 3 !! Section 4
 
 
|-
 
|-
  +
| Question || What language construction allows us to write interfaces in Dart? || 1
| Lectures || 1 || 1 || 1 || 0
 
 
|-
 
|-
| Interactive Lectures || 1 || 1 || 1 || 0
+
| Question || What does const keyword mean in Dart? || 1
 
|-
 
|-
  +
| Question || How many threads does Dart application have by default? || 1
| Lab exercises || 1 || 1 || 1 || 0
 
 
|-
 
|-
  +
| Question || How do we write asynchronous code in Dart? What are 2 ways of writing it? || 1
| Cases studies || 1 || 1 || 1 || 0
 
 
|-
 
|-
  +
| Question || In what way Flutter supports Composition over Inheritance? || 1
| Individual Projects || 1 || 1 || 1 || 1
 
 
|-
 
|-
  +
| Question || What are the generators in Dart? What do yield, sync*, async* keywords mean? || 0
| Peer Review || 1 || 1 || 1 || 1
 
 
|-
 
|-
  +
| Question || What is a Stream in Dart? How many subscribers can it have? Which two main || 0
| Discussions || 1 || 1 || 1 || 1
 
 
|-
 
|-
| Presentations by students || 1 || 1 || 1 || 1
+
| Question || types of streams do we have? || 0
 
|-
 
|-
  +
| Question || What should we use if we want to make two operations in parallel? Do Futures || 0
| Written reports || 1 || 1 || 1 || 1
 
 
|-
 
|-
| Simulations and role-plays || 1 || 1 || 1 || 1
+
| Question || allow us to do so? || 0
 
|-
 
|-
  +
| Question || What is the difference between LocalKeys and GlobalKeys? || 0
| Experiments || 0 || 1 || 1 || 0
 
 
|-
 
|-
  +
| Question || What is a Widget in Flutter? What are the main types of it we have? || 0
| Group projects || 0 || 0 || 0 || 1
 
|}
 
== Formative Assessment and Course Activities ==
 
 
=== Ongoing performance assessment ===
 
 
==== Section 1 ====
 
{| class="wikitable"
 
|+
 
 
|-
 
|-
  +
| Question || Questions for exam preparation within this section || 0
! Activity Type !! Content !! Is Graded?
 
  +
|-
  +
| Question || What is the difference between var, final and const variables in Dart? || 0
  +
|-
  +
| Question || What is a Future? How can we work with the result value, encapsulated in it? || 0
 
|-
 
|-
  +
| Question || What is a Sliver? Why may one need to use it? || 0
| after lecture assignments || Define target audience and describe type of market for your product. || 1
 
 
|-
 
|-
  +
| Question || What is an InheritedWidget in Flutter? || 0
| after lecture assignments || Make 3 cusdev with potential/existing customers of your product. || 1
 
 
|-
 
|-
  +
| Question || Why and how do we use Keys in Flutter applications? || 0
| after lecture assignments || Develop your marketing strategy and present it in-class. || 1
 
 
|}
 
|}
 
==== Section 2 ====
 
==== Section 2 ====
Line 194: Line 198:
 
! Activity Type !! Content !! Is Graded?
 
! Activity Type !! Content !! Is Graded?
 
|-
 
|-
  +
| Question || What are the ways of implementing routing in Flutter application? || 1
| after lecture assignments || Write a marketing article about your product or technology in the informational style manner. || 1
 
 
|-
 
|-
  +
| Question || What is the difference between package and plugin? || 1
| after lecture assignments || Create a landing page for your product and connect it to Yandex Metrica or Google Analytics. || 1
 
 
|-
 
|-
  +
| Question || How Dart resolves project dependencies? || 1
| after lecture assignments || Create a semantic core for your product and determine the current positions on your landing page. Determine key marketing metrics, including conversion rate, on your landing page. || 1
 
  +
|-
  +
| Question || What are the requirements for package publishing? || 1
  +
|-
  +
| Question || What is SingleTickerProviderStateMixin? || 1
  +
|-
  +
| Question || What are the types of animations in Flutter? || 0
  +
|-
  +
| Question || What is an AnimationController? || 0
  +
|-
  +
| Question || What is Tween? || 0
  +
|-
  +
| Question || What are key concepts of BLoC architecture? || 0
  +
|-
  +
| Question || What are key concepts of Redux architecture? || 0
  +
|-
  +
| Question || Test questions for exam preparation within this section || 0
  +
|-
  +
| Question || What is the difference between DI and ServiceLocator? || 0
  +
|-
  +
| Question || What is the Provider library? || 0
  +
|-
  +
| Question || What is GetIt and Injectable? How are they related? || 0
  +
|-
  +
| Question || How dart dependencies can be provided? || 0
  +
|-
  +
| Question || What state management approaches do you know? || 0
 
|}
 
|}
 
==== Section 3 ====
 
==== Section 3 ====
Line 206: Line 236:
 
! Activity Type !! Content !! Is Graded?
 
! Activity Type !! Content !! Is Graded?
 
|-
 
|-
  +
| Question || What is a deeplink? || 1
| after lecture assignments || Create the sales funnel of your product and present it in-class. || 1
 
 
|-
 
|-
  +
| Question || How does Flutter communicate with native platforms? || 1
| after lecture assignments || Create the budget for your marketing and sales activities and approve it with management. || 1
 
 
|-
 
|-
  +
| Question || Can you insert native view inside Flutter widgets? || 1
| in-class exercise || “Sell me the pen” exercise. || 1
 
  +
|-
  +
| Question || What is MethodChannel and EventChannel? || 1
  +
|-
  +
| Question || In what thread messages between native side and Flutter are received? || 1
  +
|-
  +
| Question || What features for mobile applications from Firebase do you know? || 0
  +
|-
  +
| Question || What is the difference between Firebase Cloud Storage and Firebase Realtime || 0
  +
|-
  +
| Question || Database? || 0
  +
|-
  +
| Question || What is Crashlytics? || 0
  +
|-
  +
| Question || What are the three main steps of each test? || 0
  +
|-
  +
| Question || What are the types of tests in Flutter? How are they different from each other? || 0
  +
|-
  +
| Question || Test questions for exam preparation within this section || 0
  +
|-
  +
| Question || What command is used for building a Flutter application? || 0
  +
|-
  +
| Question || What types of builds do you know? What is the difference? || 0
  +
|-
  +
| Question || Why is hot reload possible? || 0
  +
|-
  +
| Question || What are golden tests? || 0
  +
|-
  +
| Question || What are the approaches for mocking functionality in Flutter? || 0
 
|}
 
|}
==== Section 4 ====
 
 
 
=== Final assessment ===
 
=== Final assessment ===
 
'''Section 1'''
 
'''Section 1'''
  +
# What is an abstract class in Dart?
# For the final assessment, students have to prepare a full project of marketing and sales promotion of their IT product and present it on the exam. The project should contain the next parts:
 
  +
# What is a mixin in Dart, how can we use it?
# The idea of your product/service.
 
  +
# What is a RenderObject? What responsibilities does it have?
# Define your market.
 
  +
# What is the difference between Stateless- and StatefulWidgets in Flutter?
# Analise what type of market.
 
  +
# What is a BuildContext in Flutter?
# Target segment, who should we talk to?
 
# What is your main message(s)?
 
# What should we do to achieve the addressable market?
 
# Brand promotion, knowledge, interest, coverage, sales etc.
 
# Media design.
 
# How should we say it? Creative strategy&content.
 
# Channel (media) strategy.
 
# How do we reach them? Evidence on a real case.
 
# Budget.
 
# Money for promotion.
 
# How to close deals. Evidence on a real case.
 
# Measurement.
 
# How we control the result. Evidence on a real case.
 
 
'''Section 2'''
 
'''Section 2'''
  +
# What is app state and ephemeral state?
 
  +
# What different approaches for persistence in Flutter do you know?
  +
# What is Riverpod and how is it different from Provider?
  +
# What is an EventLoop in Dart? How does it work with sync/async tasks?
  +
# What is a microtask in Dart? What is Isolate?
 
'''Section 3'''
 
'''Section 3'''
  +
# What are core requirements for using Firebase?
 
  +
# What types of objects are allowed to be passed through MessageChannel?
'''Section 4'''
 
  +
# What is BinaryMessenger?
 
  +
# How to handle path navigation in Flutter Web?
   
 
=== The retake exam ===
 
=== The retake exam ===
 
'''Section 1'''
 
'''Section 1'''
  +
# .3 The retake exam.
 
# For the retake, students have to implement a product and follow the guidelines of the course. There has to be a meeting before the retake itself to plan and agree on the product ideas, and to answer questions.
 
 
'''Section 2'''
 
'''Section 2'''
   
 
'''Section 3'''
 
'''Section 3'''
 
'''Section 4'''
 

Revision as of 00:17, 9 September 2022

Mobile Cross-Platform Flutter Developer

  • Course name: Mobile Cross-Platform Flutter Developer
  • Code discipline: R-01
  • Subject area:

Short Description

This course covers the following concepts: Basics of mobile development; Fundamentals of Dart programming language; Fundamentals of mobile development with Flutter; Advanced cross-platform development topics.

Prerequisites

Prerequisite subjects

Prerequisite topics

Course Topics

Course Sections and Topics
Section Topics within the section
Basics of Dart/Flutter development
  1. Key concepts and syntax of Dart programming language
  2. Working with REST API in a Dart/Flutter app
  3. Deep dive into rendering in Flutter (Widgets, Elements, RenderObjects)
  4. Scrollable lists and grids in Flutter
Advanced development
  1. Usage of Dart/Flutter packages and plugins.
  2. Popular packages and plugins from pub.dev that makes development simpler.
  3. Understanding of packages/plugins development and publication
  4. Persistence in Flutter, different approaches and libraries
  5. Dart asynchronous programming
  6. Flutter app architectures and state management approaches
  7. Complex animations
Extra topics
  1. Working with deep links & web URLs
  2. Different approaches for native platform interoperability
  3. Usage of Firebase tools and services
  4. Types of testing and how to provide high quality for an application
  5. Build artifacts for different platforms and deploy them

Intended Learning Outcomes (ILOs)

What is the main purpose of this course?

Flutter is a powerful multi-platform framework that allows one to create complex

ILOs defined at three levels

Level 1: What concepts should a student know/remember/explain?

By the end of the course, the students should be able to ...

  • By the end of the course, the students should be able to ...
  • Understand core concepts of Dart programming language
  • Understand asynchronous programming with Dart language
  • Understand core concepts of how Flutter framework works with UI
  • Understand core concepts of how Flutter applications communicate with hosting
  • platforms, such as iOS, Android, web, desktop
  • Apply different architecture patterns in Flutter app development
  • Know how to create production-ready applications using Flutter framework and
  • provide a great user experience with it
  • Learn a broad and robust understanding of mobile app development including
  • some basics of Android and iOS specifics
  • Create a portfolio-ready project which uses some advanced mobile app
  • development techniques such as client-server communications, complex animations,
  • unit- and UI-testing and so on

Level 2: What basic practical skills should a student be able to perform?

By the end of the course, the students should be able to ...

  • By the end of the course, the students should be able to ...
  • Write code using Dart programming language
  • Build business-logic with Dart programming language
  • Build applications’ UI with Flutter framework
  • Create complex animations using Flutter framework
  • Test applications with unit, widget and integration tests

Level 3: What complex comprehensive skills should a student be able to apply in real-life scenarios?

By the end of the course, the students should be able to ...

  • By the end of the course, the students should be able to ...
  • Combine asynchronous programming with multithreading using Dart programming
  • language
  • Work with platform channels and transmit data between native platform and Flutter
  • application
  • Build modular Flutter dependencies: packages and plugins
  • Work with Firebase toolchain: Authorization, Storage, Crashlytics etc
  • Build Flutter applications for different platforms and deploy them via CI/CD tools

Grading

Course grading range

Grade Range Description of performance
A. Excellent 85-100 -
B. Good 70-84 -
C. Satisfactory 55-69 -
D. Poor 0-54 -

Course activities and grading breakdown

Activity Type Percentage of the overall course grade
Labs/seminar classes 30
Interim performance assessment 40
Exams 30

Recommendations for students on how to succeed in the course

Resources, literature and reference materials

Open access resources

Closed access resources

Software and tools used within the course

Teaching Methodology: Methods, techniques, & activities

Activities and Teaching Methods

Activities within each section
Learning Activities Section 1 Section 2 Section 3
Development of individual parts of

software product code || 1 || 1 || 1

Homework and group projects 1 1 1
Testing (written or computer based) 1 1 1

Formative Assessment and Course Activities

Ongoing performance assessment

Section 1

Activity Type Content Is Graded?
Question What language construction allows us to write interfaces in Dart? 1
Question What does const keyword mean in Dart? 1
Question How many threads does Dart application have by default? 1
Question How do we write asynchronous code in Dart? What are 2 ways of writing it? 1
Question In what way Flutter supports Composition over Inheritance? 1
Question What are the generators in Dart? What do yield, sync*, async* keywords mean? 0
Question What is a Stream in Dart? How many subscribers can it have? Which two main 0
Question types of streams do we have? 0
Question What should we use if we want to make two operations in parallel? Do Futures 0
Question allow us to do so? 0
Question What is the difference between LocalKeys and GlobalKeys? 0
Question What is a Widget in Flutter? What are the main types of it we have? 0
Question Questions for exam preparation within this section 0
Question What is the difference between var, final and const variables in Dart? 0
Question What is a Future? How can we work with the result value, encapsulated in it? 0
Question What is a Sliver? Why may one need to use it? 0
Question What is an InheritedWidget in Flutter? 0
Question Why and how do we use Keys in Flutter applications? 0

Section 2

Activity Type Content Is Graded?
Question What are the ways of implementing routing in Flutter application? 1
Question What is the difference between package and plugin? 1
Question How Dart resolves project dependencies? 1
Question What are the requirements for package publishing? 1
Question What is SingleTickerProviderStateMixin? 1
Question What are the types of animations in Flutter? 0
Question What is an AnimationController? 0
Question What is Tween? 0
Question What are key concepts of BLoC architecture? 0
Question What are key concepts of Redux architecture? 0
Question Test questions for exam preparation within this section 0
Question What is the difference between DI and ServiceLocator? 0
Question What is the Provider library? 0
Question What is GetIt and Injectable? How are they related? 0
Question How dart dependencies can be provided? 0
Question What state management approaches do you know? 0

Section 3

Activity Type Content Is Graded?
Question What is a deeplink? 1
Question How does Flutter communicate with native platforms? 1
Question Can you insert native view inside Flutter widgets? 1
Question What is MethodChannel and EventChannel? 1
Question In what thread messages between native side and Flutter are received? 1
Question What features for mobile applications from Firebase do you know? 0
Question What is the difference between Firebase Cloud Storage and Firebase Realtime 0
Question Database? 0
Question What is Crashlytics? 0
Question What are the three main steps of each test? 0
Question What are the types of tests in Flutter? How are they different from each other? 0
Question Test questions for exam preparation within this section 0
Question What command is used for building a Flutter application? 0
Question What types of builds do you know? What is the difference? 0
Question Why is hot reload possible? 0
Question What are golden tests? 0
Question What are the approaches for mocking functionality in Flutter? 0

Final assessment

Section 1

  1. What is an abstract class in Dart?
  2. What is a mixin in Dart, how can we use it?
  3. What is a RenderObject? What responsibilities does it have?
  4. What is the difference between Stateless- and StatefulWidgets in Flutter?
  5. What is a BuildContext in Flutter?

Section 2

  1. What is app state and ephemeral state?
  2. What different approaches for persistence in Flutter do you know?
  3. What is Riverpod and how is it different from Provider?
  4. What is an EventLoop in Dart? How does it work with sync/async tasks?
  5. What is a microtask in Dart? What is Isolate?

Section 3

  1. What are core requirements for using Firebase?
  2. What types of objects are allowed to be passed through MessageChannel?
  3. What is BinaryMessenger?
  4. How to handle path navigation in Flutter Web?

The retake exam

Section 1

Section 2

Section 3