MAD Study Hub

Home / Exam patterns / MAD1

Modern Application Development I: exam pattern and behaviour

Computed from every MAD1 paper on the practice site (132 papers, 2933 questions), with the topic weights, question types and how much repeats.

What a paper looks like

ExamPapersYearsTypical marksTypical no. of questionsShare of questionsShare of marksPapers with a comprehension block
Quiz 1
weeks 1-4
432022-20265016MCQ 81% / MSQ 18% / SA 1%MCQ 82% / MSQ 17% / SA 1%74%
Quiz 2
weeks 5-8
392022-20265016MCQ 69% / MSQ 29% / SA 2%MCQ 67% / MSQ 32% / SA 2%51%
End Term
all 12 weeks
502022-202610032MCQ 76% / MSQ 22% / SA 1%MCQ 75% / MSQ 24% / SA 2%88%

Some uploads on the source site merge two parallel sets, which is why a few papers show double marks. MCQ = one right option, MSQ = one or more right options (strict marking), SA = type the number.

Which weeks the papers lean on

Week topicQuiz 1Quiz 2End Term
1. How the web works: clients, servers, URLs and HTTP100%100%100%
2. HTML and CSS: building and styling pages100%87%100%
3. Views: Jinja2 templates, Bootstrap and forms100%100%100%
4. Models: databases, SQL, ER diagrams and SQLAlchemy84%100%100%
5. Controllers: Flask routes and business logic88%100%100%
6. APIs and REST: OpenAPI and Flask-RESTful58%100%100%
7. Backend systems: indexing, search, caching and logging100%100%100%
8. The frontend: JavaScript, the DOM and fetch26%60%71%
9. Security: authentication, sessions, tokens and attacks16%73%87%
10. Testing web applications with pytest7%13%100%
11. HTML5, accessibility, encoding and beyond HTML65%60%60%
12. Deployment: Git, WSGI, servers and the cloud12%0%76%

Share of papers whose concept summary mentions the week's topic (keyword match, so treat it as a guide, not a count of questions).

How much repeats

ExamPapersExam datesQuestion slotsDifferent questionsCopies of each (average)Different questions seen on 2+ exam dates
Quiz 143116971813.93 (2%)
Quiz 239106301603.91 (1%)
End Term501216064673.433 (7%)

Read this carefully. Within one exam date the parallel sets are drawn from the same pool, so each different question appears on several papers (the 'copies' column). Across different dates, questions with identical wording or identical figure files are rare. Matching here is exact, so a re-typed or re-cropped version counts as different; the real overlap in question type is much higher than this table can see. The takeaway: old papers teach you the types and stories that come back with new numbers, they are not a list of answers to memorise.

Questions that came back on a later exam date (exact match)

Exam dates it appeared onQuestion (text-based ones)
4Consider the following flask app. Given that `test_request_context()` allows text to be printed on the terminal, which of the following statements is/are correct? ```pythopen
4Consider the following graph that represents the variation in bandwidth of a network for an entire day (24 hours). Three users were connected to the network at three diffopen
3Consider the following models Library and Book corresponding to tables library and book in SQLite database. ```python class Library(db.Model): id = db.Column(db.Integer()open
3Consider the following flask resource created using flask_restful. ```python from flask import Flask, request from flask_restful import Api, Resource, reqparse app = Flasopen
3Consider a function func, and a set of test cases given below. Filename: test_file.py ```python import pytest def func(x,y): out = x**2+y**2 return out class Test_class0(open
3Consider the following function to be tested and test functions given in the Python code snippet below. test_file.py ```python import pytest def square(x): sum = 0 for coopen
3Consider the following python code snippet "app.py", the HTML files, "base.html" and "home.html" residing in "templates" folder. app.py ```python from flask import Flask,open
2THIS IS QUESTION PAPER FOR THE SUBJECT "DIPLOMA LEVEL: MODERN APPLICATION DEVELOPMENT 1" ARE YOU SURE YOU HAVE TO WRITE EXAM FOR THIS SUBJECT? CROSS CHECK YOUR HALL TICKEopen
2Consider the following flask application. app.py ```python from flask import Flask, request app = Flask(__name__) @app.route('/calculate') def calculate(): a = request.aropen
2The directory listing of a folder and the content of each of its files are given below. **Directory Listing:** ``` my_dir-| |-- base.html |-- home.html |-- index.html ```open

What an MAD1 paper is like

MAD1 tests whether you can read a small web application and say what it does. Typical stems from the papers (paraphrased):

Where the marks are

From matching the real questions (with the code in the screenshots transcribed) to the weeks:

Watch out - real exam trap

How to prepare

What the papers show

Order of attack: weeks 1 to 5 first (they are worth the most marks in every exam), then weeks 6, 7 and 10, then the rest. For each week do the lesson, its quiz, and the real questions page, saying the output before you open the answer. Run the transcribed code on your own computer when you are unsure: Flask 3, Jinja2 and SQLite are enough for almost every question.