Skip to content
September 2026 qualifier: applications close Sun 27 Sep · Week 1 starts Fri 2 Oct
Qualifier Hub

IITM BS MAD 1 and MAD 2 Projects: Scope and Common Mistakes

By Editorial TeamLast reviewed

6 min readData Science
On this page

The MAD 1 and MAD 2 projects are the two project courses in the IITM BS Diploma in Programming. In MAD 1 you build a working web app with Flask and SQLite. In MAD 2 you build a more advanced app with a Vue.js frontend, token-based login and background jobs. Both are graded through vivas, so the app must work and you must be able to explain every part of it. Start early, and get the core features working before any extras.

The courses and projects

CourseCode and creditsPrerequisite or corequisite
Modern Application Development IBSCS2003, 4 creditsDBMS (BSCS2001) as corequisite
MAD I projectBSCS2003P, 2 creditsMAD I as corequisite
Modern Application Development IIBSCS2006, 4 creditsMAD I as prerequisite
MAD II projectBSCS2006P, 2 creditsMAD I project as prerequisite, MAD II as corequisite

So each project runs with its theory course or after it. MAD 1 also needs DBMS done or in the same term. The full diploma layout is in the Diploma in Programming post.

What the MAD 1 project covers

The MAD 1 project page lists HTML, CSS, JavaScript, Flask, API implementation and SQLite for storage. It asks for a working web app built from scratch, with secure login, sensible data handling and API use. The theory course runs from web basics, through models, views and controllers, to REST APIs, security, testing and deployment.

What the MAD 2 project covers

MAD 2 builds on MAD 1. The project page lists Vue.js with Vue Router and Vuex, token-based authentication, background tasks with Celery and Redis, caching, and security topics such as CORS. The theory course covers JavaScript, Vue, state management, API design, asynchronous jobs, webhooks and performance.

How the projects are graded, in short

  • Your app must first pass the app development check. Then your L1 viva is scheduled.
  • Each term has two L1 cut-offs. Below the lower one, you resubmit within a few days. Below it twice, you redo the project next term.
  • Between the two cut-offs, you answer some extra questions and get a D or E, which is a pass.
  • Above the higher cut-off, you go on to an L2 viva for a better grade.

Details are in how projects are graded.

Scope: what to build first

Read the project statement for your term before you write any code. Requirements can change, so an old statement or a senior's repository is not a guide to what you must build now.

  1. List every required feature from the statement. Tick them off as you finish.
  2. Design the database first: tables, keys and relationships. Draw it on paper.
  3. Build the core flow end to end, even if it looks plain. Login, the main create, read, update and delete actions, and the main pages.
  4. Only then add the optional features, styling and extras.
  5. Leave the last week for testing, cleanup and viva practice.

Common mistakes

MistakeWhy it hurtsWhat to do
Starting in the last three weeksNo time to fix bugs or resubmitStart in week 1 of the term
Building extras before core featuresThe app may fail the basic checkFinish required features first
Using tools the statement does not allowThe app may not be acceptedStick to the listed stack
No version controlOne bad change can break everythingUse git and commit after each feature
App only runs on your laptopSetup fails elsewhereKeep a requirements file and clear run steps
Copying code you cannot explainYou cannot defend it in the viva, and it may be plagiarismWrite it yourself and understand each line

Keep your repository private while the term is running, so no one can copy your work.

Preparing for the viva

  • Be ready to walk through your database design and why you chose it.
  • Know which route or function handles each feature, without searching.
  • Practise explaining one feature from the button click down to the database and back.
  • Make small changes to your own code at home without looking anything up. If you can do that, you understand it.

Deadlines, fees and checkpoints

The handbook says if you do not finish a project in the term you registered, you get an I grade and the fee carries to the next term. If it is still not done after that, you get a U and must pay again. A plagiarised project gets a U, may bring disciplinary action, and must be redone at full fee. The project fee is Rs 6,000 for students who joined from January 2026, and Rs 2,500 for earlier students, before any waiver. The honour code covers graded assignments too, so never share or copy answers.

Projects also count for your checkpoints. The handbook advises finishing milestone projects in the term before your milestone term, not in it. See diploma level checkpoints.

Common questions

Can I use React or Django instead of Vue or Flask?

The course pages name Flask for MAD 1 and Vue.js for MAD 2. Your term's project statement says what is allowed. If it does not say, ask on the course forum before you start.

Should I take MAD 1 and DBMS in the same term?

You can, since DBMS is a corequisite of MAD 1. Good database design makes the project easier, so keep up with DBMS weekly. Our DBMS and PDSA guide helps.

Can I show my MAD projects to employers?

Yes, after the term ends. A clean repository with a short readme and screenshots works well. See building a portfolio from your projects.

What pass grade can I expect if my viva goes badly?

If your L1 score falls between the two cut-offs, you still pass with a D or E. Below the lower cut-off you resubmit, so a weak viva is not always the end.

Official sources

All posts in Study tips and courses

Was this page helpful?

Share with your study group:WhatsAppTelegram