Notes MCA 229

MCA 229 Flutter and Dart Notes for GGSIPU MCA Sem 3

MCA-229 Flutter and Dart Notes cover all 4 GGSIPU units in a 114-page printed book: 59 sections, 73 code examples, 12 figures and 88 solved exam questions (61 short-answer and 27 long-answer with answer plans). They follow the MCA scheme for the batch admitted 2025-26 onwards.

Written by Prateek Talwar, Founder, Unnati Educations · Reviewed by Ritik Rawat, B.Tech, Senior Full Stack Developer · Checked against the GGSIPU MCA Scheme of Examination and Detailed Syllabus (AC Sub Committee, 01 Aug 2025) · Updated 13 October 2026 · Editorial policy

Scheme: MCA scheme 2025-26 (USIC&T, affiliated institutes) | Applies to: batch admitted 2025-26 onwards | Verified against: MCA Scheme of Examination and Detailed Syllabus, 01 Aug 2025

MCA-229 Flutter and Dart at a glance: GGSIPU MCA Sem 3 credits, units and exam pattern

MCA-229 Flutter and Dart: official facts from the MCA scheme (A.S. 2025-26 onwards)
Code and titleMCA-229 Flutter and Dart
Course and semesterMCA, Semester 3
Category and creditsCore Elective - III (one of 11 options); 3 credits, 3 lecture hours a week
Marks100; pass mark 40 out of 100. Internal split not printed in the official PDF.
End-term patternQ1 compulsory, short answers on the whole syllabus, 12 marks; then one of two questions per unit, 12 marks each (12 + 48 = 60 marks)
Applies toBatch admitted 2025-26 onwards
Units and hours4 units: 12 + 10 + 10 + 12 = 44 hours
Paired labMCA-267 Lab based on Core Elective - III (Flutter and Dart Lab), 0-2, 1 credit
View complete table: MCA-229 Flutter and Dart: official facts from the MCA scheme (A.S. 2025-26 onwards)

This view preserves the original alignment. Scroll within it if needed to read the complete content.

MCA-229 Flutter and Dart: official facts from the MCA scheme (A.S. 2025-26 onwards)
Code and titleMCA-229 Flutter and Dart
Course and semesterMCA, Semester 3
Category and creditsCore Elective - III (one of 11 options); 3 credits, 3 lecture hours a week
Marks100; pass mark 40 out of 100. Internal split not printed in the official PDF.
End-term patternQ1 compulsory, short answers on the whole syllabus, 12 marks; then one of two questions per unit, 12 marks each (12 + 48 = 60 marks)
Applies toBatch admitted 2025-26 onwards
Units and hours4 units: 12 + 10 + 10 + 12 = 44 hours
Paired labMCA-267 Lab based on Core Elective - III (Flutter and Dart Lab), 0-2, 1 credit

Classes for an elective run only when at least 20 students choose it (scheme note 3), so confirm your institute's choice before ordering these GGSIPU MCA Sem 3 Flutter and Dart notes. Result and re-appear rules sit in Ordinance 11.

Verify these facts in the official MCA syllabus PDF (MCA-229: printed pages 135-137).

Compare it with other electives among the GGSIPU MCA Semester 3 papers.

MCA-229 Flutter and Dart Notes unit-wise: 73 code examples and 88 solved questions across 4 units

These MCA-229 Flutter and Dart IPU notes follow the official unit order. The official PDF numbers units without titles, so the headings use our notes' unit titles. Each unit ends with an exam corner and a revision sheet. Other MCA papers: GGSIPU MCA notes.

The "View Sample PDF" button at the top shows the cover, index and one page from each unit.

MCA-229 Unit 1: Introduction to Flutter and Dart

Unit 1 (pages 4 to 30) has two parts. Part A explains the Framework, Engine and Embedder layers, JIT versus AOT, SDK setup with flutter doctor, Hot Reload, themes, pubspec.yaml and project templates. Part B covers Dart variables, null safety, operators, loops, functions, classes, mixins and async code with Future and Stream. It has 15 sections, 13 code examples and 22 solved questions.

Quick look: a Dart closure that remembers its count (from page 21)

Function makeCounter() {
  int count = 0;
  return () => ++count;
}
var counter = makeCounter();
print(counter()); print(counter()); // 1  2
View preformatted content

This view preserves the original alignment. Scroll within it if needed to read the complete content.

Function makeCounter() {
  int count = 0;
  return () => ++count;
}
var counter = makeCounter();
print(counter()); print(counter()); // 1  2

The returned function keeps count alive, so the second call prints 2.

MCA-229 Unit 2: Widgets and User Inputs

Unit 2 (pages 31 to 58) builds screens from the widget tree outwards: Scaffold, AppBar, SafeArea, Container, buttons, Row and Column, images, BoxDecoration and a validated admission form. Part B handles TextEditingController, input formatters and a MethodChannel with Dart, Kotlin and Swift sides. It has 11 sections, 22 code examples and 22 solved questions.

Quick look: MediaQuery vs OrientationBuilder (from page 47)
PointMediaQueryOrientationBuilder
MeasuresWhole screenParent's available space
Also givesSize, padding, text scaleOrientation only
Used asCall inside buildWidget with a builder

Quick look: MediaQuery vs OrientationBuilder (from page 47)

Point
Measures
MediaQuery
Whole screen
OrientationBuilder
Parent's available space
Point
Also gives
MediaQuery
Size, padding, text scale
OrientationBuilder
Orientation only
Point
Used as
MediaQuery
Call inside build
OrientationBuilder
Widget with a builder

MCA-229 Unit 3: Animation, Navigation and Interactivity

Unit 3 (pages 59 to 84) has the most sections of any unit. Part A separates implicit widgets like AnimatedContainer from explicit AnimationController, CurveTween and staggered intervals. Part B covers Navigator, named routes, Hero, bottom bars, tabs and Drawer; Part C adds gestures, drag and drop and swipe-to-delete. It has 18 sections, 17 code examples and 22 solved questions.

Quick look: animation curves (from page 65)
CurveEffect
Curves.linearConstant speed
Curves.easeInStarts slow
Curves.bounceOutBounces at the end
Curves.elasticOutOvershoots, springs back

Quick look: animation curves (from page 65)

Curve
Curves.linear
Effect
Constant speed
Curve
Curves.easeIn
Effect
Starts slow
Curve
Curves.bounceOut
Effect
Bounces at the end
Curve
Curves.elasticOut
Effect
Overshoots, springs back

MCA-229 Unit 4: Layouts, Services and Local Persistence

Unit 4 (pages 85 to 114) is the longest unit. Part A builds scrolling screens with Card, ListView, GridView, Stack and slivers. Part B connects to data through futures, streams, FutureBuilder, HTTP and JSON, XML and HTML parsing. Part C saves data with files, SharedPreferences, locales and Cloud Firestore. It has 15 sections, 21 code examples and 22 solved questions.

Quick look: SharedPreferences operations (from page 105)
OperationMethod
Get instanceSharedPreferences.getInstance()
SavesetInt, setBool, setString
ReadgetInt, getString (null if missing)
Removeremove, clear

Quick look: SharedPreferences operations (from page 105)

Operation
Get instance
Method
SharedPreferences.getInstance()
Operation
Save
Method
setInt, setBool, setString
Operation
Read
Method
getInt, getString (null if missing)
Operation
Remove
Method
remove, clear

MCA-229 exam corner: 61 short-answer and 27 long-answer solved questions by unit

Solved questions in the MCA-229 notes by unit
UnitShort-answerLong-answer with planCode examples
Unit 114813
Unit 215722
Unit 316617
Unit 416621
Total612773

Solved questions in the MCA-229 notes by unit

Unit
Unit 1
Short-answer
14
Long-answer with plan
8
Code examples
13
Unit
Unit 2
Short-answer
15
Long-answer with plan
7
Code examples
22
Unit
Unit 3
Short-answer
16
Long-answer with plan
6
Code examples
17
Unit
Unit 4
Short-answer
16
Long-answer with plan
6
Code examples
21
Unit
Total
Short-answer
61
Long-answer with plan
27
Code examples
73

Short answers suit the 12-mark Q1; long answers match the 12-mark unit questions.

The MCA-229 notes solve 61 short-answer and 27 long-answer questions across 4 units, plus 73 code examples.

One question per unit, with answer pointers:

  1. Unit 1: Differentiate final and const. Pointer: final is fixed once at run time; const is a compile-time constant, so DateTime.now() works only with final.
  2. Unit 2: Margin vs padding in Container. Pointer: margin is outside the border; padding sits between border and child.
  3. Unit 3: GestureDetector vs InkWell. Pointer: the first gives no visual feedback; InkWell shows a ripple and needs a Material ancestor.
  4. Unit 4 (long): How does a Flutter app send HTTP requests and handle JSON, XML and HTML? Pointer: methods table, permission, GET and POST code, a fromJson model, then the xml and html packages.

More practice sits in the MCA-229 important questions.

Who writes and checks the MCA-229 Flutter notes?

  • Prateek Talwar, author: Founder, Unnati Educations; Associate Company Secretary (ACS), ICSI, membership no. 58704, since 15 May 2019; B.Com, University of Delhi (School of Open Learning), 2012. Author profile
  • Ritik Rawat, reviewer of the Dart and Flutter code: Senior Full Stack Developer, Unnati Educations; B.Tech.

The notes map to the four units approved by the USIC&T Board of Studies on 28 July 2025, for the 2025-26 batch onwards. The 2026-27 edition is written as plain Flutter and Dart notes in English and includes Dart 3 records, the Impeller renderer and PopScope. Updated 13 October 2026 under our editorial policy.

The same team prepares GGSIPU important questions for every course it covers.

How to write MCA-229 answers: code-backed short answers and twelve-mark widget and service answers

MCA-229 answers score when theory and code sit together. A Q1 short answer needs a one-line definition plus one concrete name: "SafeArea keeps content clear of the notch and status bar" beats a vague line about screens.

For a 12-mark unit question, follow the answer plan printed after every long question: definition, a figure or table, working code, then a comparison table. The notes' tips agree: draw Figure 1.1 (Framework, Engine, Embedder) in any architecture answer.

Worked example: "Explain AnimationController, Tween and CurveTween. How are staggered animations created?"

  1. Define an explicit animation and draw Figure 3.1: values 0.0 to 1.0, through a Tween, to the widget.
  2. Controller rules: vsync: this with SingleTickerProviderStateMixin, create in initState(), release in dispose().
  3. Methods: forward(), reverse(), repeat(), stop().
  4. Chain CurveTween with .drive() and name two curves.
  5. Staggering: one controller drives many tweens, each with its own Interval. Add the timeline table: opacity to 0.75 s, width to 1.5 s, height to 2.25 s, colour to 3 s.

Slips the notes flag

  • No dispose() on controllers.
  • setState() after an await without checking mounted.
  • A missing INTERNET permission.

Write a service answer as one flow: http.get(), status check, jsonDecode(), Model.fromJson(), then FutureBuilder with loading, error and data states.

Q1 draws on all four units, so read the revision sheet at the end of each unit before the exam. It keeps one line per topic, for example: Hot Reload (r) keeps state, Hot Restart (R) resets it and reruns main().

Practise this format on GGSIPU MCA important questions.

MCA-229 and the GGSIPU MCA Sem 3 papers it connects to

Paired lab: MCA-267 Flutter and Dart Lab (1 credit), listed in the GGSIPU MCA syllabus. These notes are the theory book, not an MCA-267 practical record. Its outcomes map to the theory units:

  • Dart primitives (CO1): Unit 1.
  • Native platform code (CO2) and interactive widgets (CO3): Units 2 and 3.
  • Animated solutions (CO4): Unit 3, Part A.
  • Service-based apps (CO5): Unit 4.

Other Semester 3 papers: core MCA-201 Design and Analysis of Algorithms and MCA-203 Artificial Intelligence and Machine Learning; Core Elective - II (MCA-205 to MCA-225); Open Elective - II (MCA-249 to MCA-255).

Also: labs MCA-261, MCA-263 and MCA-265, MCA-269 Minor Project - III, and NUES papers MCA-271 and MCA-273. MCA-112 from Semester 2 is a useful base for Unit 2.

StatefulWidget lifecycle in Flutter: excerpt from page 34 of the MCA-229 notes

Excerpt from page 34

The counter app

A StatefulWidget is written as two classes. CounterPage extends StatefulWidget and only overrides createState(). The second class, _CounterPageState, holds the mutable data (int count = 0;) and the build() method.

When the floating action button is pressed, increment() wraps count++ inside setState(). That call marks the widget dirty, Flutter runs build() again, and the new count appears on screen without any manual redraw. Its build() returns a Scaffold with an AppBar, a centred count and a FloatingActionButton.

void increment() {
  setState(() { count++; });  // marks widget dirty -> rebuild
}
View preformatted content

This view preserves the original alignment. Scroll within it if needed to read the complete content.

void increment() {
  setState(() { count++; });  // marks widget dirty -> rebuild
}

Lifecycle of a StatefulWidget

Figure 2.1 in the notes shows the main methods in the order Flutter calls them: createState(), initState(), didChangeDependencies(), build(), then setState() or didUpdateWidget() as many times as needed, and finally dispose() when the State leaves the tree for good.

When each State method runs and what it is for (page 34)
MethodWhen calledUse
createState()Once, when the widget enters the treeCreates the State object
initState()Once, after the State is createdSet up variables, controllers, API calls and listeners
didChangeDependencies()After initState(), and when an inherited value such as Theme or MediaQuery changesRead inherited data
build()Many times: after init, after setState(), on parent rebuildReturn the widget tree; keep it fast
didUpdateWidget()When the parent rebuilds with new configurationCompare old and new widget values
setState()Called by you when data changesSchedules a rebuild

When each State method runs and what it is for (page 34)

Method
createState()
When called
Once, when the widget enters the tree
Use
Creates the State object
Method
initState()
When called
Once, after the State is created
Use
Set up variables, controllers, API calls and listeners
Method
didChangeDependencies()
When called
After initState(), and when an inherited value such as Theme or MediaQuery changes
Use
Read inherited data
Method
build()
When called
Many times: after init, after setState(), on parent rebuild
Use
Return the widget tree; keep it fast
Method
didUpdateWidget()
When called
When the parent rebuilds with new configuration
Use
Compare old and new widget values
Method
setState()
When called
Called by you when data changes
Use
Schedules a rebuild

The practical rule: heavy work belongs in initState(), never in build(), because build() can run dozens of times a second during an animation. Anything you start in initState(), such as a controller, a timer or a stream subscription, should be released when the State is removed, or the app slowly leaks memory.

Do the MCA-229 notes cover the full GGSIPU syllabus?

Yes. Every topic in the four official MCA-229 units has a matching section. The scheme's "BottomMapBar" and "ListTitle" are covered as BottomAppBar and ListTile.

Official MCA-229 topics mapped to the notes
Official unitOfficial topicsWhere in the notesStatus
Unit IFlutter Framework, Hot Reload and themes, packages, project templates; Dart variables, operators, flow control, functions, classes, asynchronous programmingSections 1-15, pages 5-27Covered
Unit IIStateless and stateful widgets, widget tree, common widgets, images and icons, decorators, form widgets, orientation; text inputs, text limits, platform native codeSections 1-11, pages 32-55Covered
Unit IIIAnimatedContainer, AnimatedCrossfade, AnimatedOpacity, AnimationController, staggered animations, CurveTween; Navigator, named routes, Hero, bottom bars, TabBar, Drawer; gestures, Draggable, InkWell, DismissibleSections 1-18, pages 60-81Covered (BottomMapBar as BottomAppBar, page 72)
Unit IVCard, ListView, GridView, Stack, Slivers; Future, streams, JSON, XML, HTML, HTTP; files, key-value pairs, locales, Firebase and Cloud FirestoreSections 1-15, pages 86-111Covered (ListTitle as ListTile, page 87)

Official MCA-229 topics mapped to the notes

Official unit
Unit I
Official topics
Flutter Framework, Hot Reload and themes, packages, project templates; Dart variables, operators, flow control, functions, classes, asynchronous programming
Where in the notes
Sections 1-15, pages 5-27
Status
Covered
Official unit
Unit II
Official topics
Stateless and stateful widgets, widget tree, common widgets, images and icons, decorators, form widgets, orientation; text inputs, text limits, platform native code
Where in the notes
Sections 1-11, pages 32-55
Status
Covered
Official unit
Unit III
Official topics
AnimatedContainer, AnimatedCrossfade, AnimatedOpacity, AnimationController, staggered animations, CurveTween; Navigator, named routes, Hero, bottom bars, TabBar, Drawer; gestures, Draggable, InkWell, Dismissible
Where in the notes
Sections 1-18, pages 60-81
Status
Covered (BottomMapBar as BottomAppBar, page 72)
Official unit
Unit IV
Official topics
Card, ListView, GridView, Stack, Slivers; Future, streams, JSON, XML, HTML, HTTP; files, key-value pairs, locales, Firebase and Cloud Firestore
Where in the notes
Sections 1-15, pages 86-111
Status
Covered (ListTitle as ListTile, page 87)

Source: MCA Scheme of Examination and Detailed Syllabus, A.S. 2025-26 onwards.

Every course in GGSIPU notes is mapped to its official PDF the same way.

MCA-229 Flutter notes FAQs

How do I get the full MCA-229 notes?

Order them on WhatsApp at 9899436384. The full MCA-229 notes come only as a printed book; they are not available as a PDF. Delivery takes 5 to 7 days at most, depending on your location. Before ordering, check the cover, index and one page from each unit through the "View Sample PDF" button at the top of this page.

Is MCA-229 compulsory in GGSIPU MCA Semester 3?

No. MCA-229 is one of 11 options in Core Elective - III, and each student picks one. Under the scheme, an elective needs at least 20 students for classes to run; with fewer, it may still be offered, but students complete it through a MOOC on SWAYAM or a similar platform with prior approval, and still sit the institute's evaluation.

What is the passing mark for MCA-229?

MCA-229 is marked out of 100, and the end-term paper carries 60 of those marks (12 for Q1 plus four unit questions of 12). The MCA scheme of examination states pass marks as 40%, which is 40 out of 100. For end-term minimums, re-appear and other result rules, the scheme refers to GGSIPU Ordinance 11 on ipu.ac.in.

Which MCA-229 unit has the most code examples?

Unit 2, Widgets and User Inputs, with 22 code examples. It includes an admission form with validation, orientation handling, text-limit formatters and a battery-level platform channel written three ways: Dart, Kotlin for Android and Swift for iOS. Unit 4 follows closely with 21 examples, mostly on HTTP calls, JSON parsing, file storage and Cloud Firestore.

Is there a lab paper linked to MCA-229?

Yes. The scheme pairs Core Elective - III with MCA-267, a 1-credit lab, and lists Flutter and Dart Lab under it. Its five course outcomes run from Dart primitives to service-based apps, matching Units 1 to 4 of MCA-229. These notes are the theory book only; they do not include a practical record for MCA-267.

Do the MCA-229 notes cover Firebase and Cloud Firestore?

Yes, in Unit 4 on pages 108 to 111. The section explains Firebase as a backend service, the setup steps ending in Firebase.initializeApp(), and the collection, document and field model shown in Figure 4.4. It then writes add, get, update and delete calls, and finishes with a real-time student list built from snapshots() and StreamBuilder.

Get the full MCA-229 Flutter and Dart Notes on WhatsApp

Pages and solved questions per unit in the printed MCA-229 book
PartPagesSolved questions
Cover and index1-3 (3)-
Unit 14-30 (27)22
Unit 231-58 (28)22
Unit 359-84 (26)22
Unit 485-114 (30)22

Pages and solved questions per unit in the printed MCA-229 book

Part
Cover and index
Pages
1-3 (3)
Solved questions
-
Part
Unit 1
Pages
4-30 (27)
Solved questions
22
Part
Unit 2
Pages
31-58 (28)
Solved questions
22
Part
Unit 3
Pages
59-84 (26)
Solved questions
22
Part
Unit 4
Pages
85-114 (30)
Solved questions
22

Format: printed book in English, 114 pages with 73 code examples; not available as a PDF. Order on WhatsApp, where we confirm your delivery address. Delivery: within 5 to 7 days at most; the exact time may vary with your location.

Order the MCA-229 printed notes book on WhatsApp (4 units, 114 pages)

Unnati Educations is an independent education provider based in Vikaspuri, Delhi. We are not affiliated with, authorised by, or endorsed by Guru Gobind Singh Indraprastha University (GGSIPU). 'GGSIPU' and 'IPU' are used only to describe the syllabus our notes follow. For official information, visit ipu.ac.in.

Ready for the full notes?

Discuss coverage and delivery with our team.