← All MCA papers

MCA-229

Flutter and Dart

Cross-platform mobile apps from one codebase — the Dart language, the widget tree, animation and navigation, layouts, streams and local storage.

Semester
Semester 3
Credits
3
Scheme
3 lectures a week
Contact hours
44 across four units
Category
Core Elective - III

What the paper is

Flutter and Dart is the most practical elective in the list and the one that produces something you can show. It teaches a language and a framework together, and the framework has one governing idea: everything is a widget, arranged in a tree, rebuilt when state changes.

Getting stateless versus stateful widgets clear in Unit II is the hinge of the whole paper. Every later topic — animation, navigation, gesture handling, building a list from a stream — is an answer to the question of what should trigger a rebuild and what should not.

Units I and IV carry twelve hours each: the language at one end, and at the other the layout widgets, service interaction with futures and streams, JSON and HTTP, local persistence and Firebase. That last unit is where the app stops being a demo.

What to concentrate on

  • Be able to explain the widget tree and the difference between a stateless and a stateful widget with `setState` in one clear answer. It is the most asked question and it underpins everything else.
  • Know the common layout widgets — Scaffold, AppBar, Container, Row, Column, ListView, GridView, Stack — well enough to sketch a described screen. Layout questions are given as a picture or a description.
  • For Unit IV, `Future` versus `Stream`, and `FutureBuilder` versus `StreamBuilder`, is the distinction most likely to be examined. Have one small example of each ready.

Syllabus, unit by unit

Summarised from the approved scheme. Hours are the contact hours the scheme allots, which is a fair guide to where the marks sit.

Unit I · Flutter and the Dart language

12 hours
  • The Flutter framework and how Flutter and Dart work together; installing the SDK
  • Hot reload and themes, importing external packages, project templates, organising files and folders
  • Dart: declaring and referencing variables, operators, flow control statements
  • Functions and classes; implementing asynchronous programming

Unit II · Widgets and user input

10 hours
  • Stateless and stateful widgets, the widget tree
  • Common widgets: Scaffold, AppBar, SafeArea, Container, Text, buttons, Column and Row
  • Images and icons, decorators, form widgets, checking orientation
  • Collecting text input, setting text limits, writing platform-native code

Unit III · Animation, navigation and interactivity

10 hours
  • AnimatedContainer, AnimatedCrossfade, AnimatedOpacity, AnimationController, staggered animations, CurveTween
  • Navigation: the Navigator, named routes, the Hero widget
  • BottomNavigationBar, TabBar, TabBarView, Drawer
  • Interactivity: GestureDetector, Draggable and DragTarget, InkWell and InkResponse, the Dismissible widget

Unit IV · Layouts, services and persistence

12 hours
  • Scrolling lists: the Card widget, ListView and ListTile, GridView, Stack, customising CustomScrollView with slivers
  • Service interaction: working with Future objects and streams, building widgets from them
  • Handling JSON, XML and HTML; sending HTTP requests
  • Local persistence: reading and writing files, key-value pairs, supporting multiple locales
  • Introduction to Firebase and Cloud Firestore

How it is examined

  • Question 1 is compulsory, covers the whole syllabus, and is made of objective or short-answer questions. It carries 12 marks.
  • The rest of the paper is four units matching the four above. Each unit sets two questions and you attempt one, so there are four more answers at 12 marks each.
  • Examiners are asked to map every question to a course outcome using Bloom's taxonomy, which is why questions are phrased as “apply”, “analyse” or “evaluate” rather than only “explain”.

The pass mark is 40 out of 100 in every paper.

Learning objectives

  • Understanding the lifecycle of mobile app development
  • Creating cross-platform mobile apps rapidly
  • Building a full-fledged mobile app

Assumed beforehand

  • Programming skill
  • Basic understanding of mobile applications

Paired in the scheme with MCA-267 Lab based on Core Elective III.

Books it is taught from

  1. TB1Marco L. Napoli, “Beginning Flutter: A Hands-on Guide to App Development”, John Wiley & Sons, 1st edition, 2020
  2. TB2D. Kopec, “Dart for Absolute Beginners”, Apress, 1st edition, 2014
  3. TB3Fu Cheng, “Flutter Recipes”, Apress, 1st edition, 2019

Notes for MCA-229

Lecture notes, question papers and assignments filed against MCA-229 are in the library. Everything there has been checked by a moderator before it appears, and an account is free — new ones are approved by hand, which is what keeps the shelf clean.

Units, objectives, contact hours and book lists summarise the MCA scheme of examination approved by the Board of Studies of USIC&T on 28 July 2025 and by the AC sub-committee on 1 August 2025, effective from the 2025‑2026 academic year. The introduction and revision notes above are written for NoteVault and are not part of that document. Check the university's own copy before relying on any of this for an exam.