IITM BS Modern Application Development I (BSCS2003): Syllabus and Tips
By Editorial TeamLast reviewed
5 min readData ScienceOn this page
Modern Application Development I (BSCS2003), or MAD I, is a 4 credit diploma level course in the IITM BS in Data Science. It is part of the Diploma in Programming. It has no prerequisite, but Database Management Systems (BSCS2001) is a corequisite, so you take DBMS before MAD I or in the same term. The course teaches you to design and build a web application, and to tell the frontend, backend and database apart.
| Code | Credits | Level | Prerequisites |
|---|---|---|---|
| BSCS2003 | 4 | Diploma | None (DBMS as corequisite) |
The course page lists two instructors: Thejesh G N, Software Consultant with the IITM BS Degree, and Prof. Nitin Chandrachoodan of the Department of Electrical Engineering, IIT Madras.
What you learn
MAD I and MAD II share one idea: they build a single case study that grows as the courses go on.
- Weeks 1 to 3: the web and what users see. Basic web terms, pages written in HTML and CSS, and the presentation layer, called the view.
- Weeks 4 to 6: data and logic. Models and an introduction to databases, controllers that hold the business logic, then APIs and REST APIs.
- Weeks 7 to 9: building the full app. Backend systems, the application frontend, and application security.
- Weeks 10 to 12: finishing properly. Testing web applications, how HTML has changed and what comes after it, and deploying an application.
The course page says you will learn to create such an application with Python and MySQL. The separate MAD I project page names Flask and SQLite. Follow your term's material for which tools to use.
How it is assessed
The course page lists the standard pattern: 12 weeks of coursework, weekly online assignments, 2 in-person invigilated quizzes and 1 in-person invigilated end term exam. The hands-on app is a separate 2 credit course, the MAD I project (BSCS2003P), which has MAD I as its corequisite.
Where it counts
- Diploma in Programming. MAD I is one of the 6 theory courses. See the Diploma in Programming.
- Gateway to MAD II. MAD II (BSCS2006) lists MAD I as its prerequisite.
- Electronic Systems students. The ES handbook lists MAD I (CS2003, 4 credits) as an open elective and as part of the ES Minor in Application Development. See ES minors.
- Degree level. The Application Development Lab (BSCS4010) needs the Diploma in Programming, which includes MAD I.
Mismatch between sources. The DS course page lists DBMS as a corequisite and no prerequisite. The ES handbook's table lists DBMS (CS2001) as a prerequisite of MAD I, with no corequisite. DS students should follow the course page and the registration portal. ES students should confirm with support.
Who finds it hard
If you have never built a website, the first weeks bring many new words at once: request, response, route, template, endpoint. The harder part is keeping the layers straight. When a page shows wrong data, the bug could be in the HTML, the controller or the query. Watching lectures without running an app yourself makes this much harder.
How to prepare
- Learn how a web request works. Before week 1, understand what happens when you type a URL: the browser sends a request, the server runs some code, and a page comes back.
- Build a tiny app as you go. One page with a form, one table in a database, one list page. Add to it each week. Weeks 4 to 6 make much more sense when you see your own model, view and controller.
- Keep up with DBMS. Your queries and table design come from there. Weak DBMS makes the MAD I project harder.
- Use git from day one. Commit after each small working change so you can go back when something breaks.
- Test with a second browser or device. It catches problems with sessions and forms early.
What to take before or after
Take DBMS before or with MAD I. Run the MAD I project in the same term, since the theory and the project support each other. After that, Modern Application Development II (BSCS2006) moves the frontend to Vue and adds background jobs. For project scope and common mistakes, read MAD 1 and MAD 2 projects.
Common questions
Can I take MAD I without the MAD I project?
The theory course does not list the project as a requirement. But the Diploma in Programming needs both, and the project lists MAD I as its corequisite. Taking them together lets you use each week's lectures in your app.
Do I need to know JavaScript for MAD I?
The MAD I course page does not list JavaScript as a prerequisite. The MAD I project page does name HTML, CSS and JavaScript among its technologies. MAD II then starts with two weeks of JavaScript.
Is MAD I offered every term?
Yes. The DS handbook says all diploma level courses are offered every term. The project course is registered separately, so check the registration page for both.
28 MAD 1 handwritten and PDF notes by students
Official sources
Read next
- IITM BS Business Data Management (BSMS2001): Syllabus and Tips
- IITM BS Machine Learning Practice (BSCS2008): Syllabus and Tips
- IITM BS Machine Learning Techniques (BSCS2007): Syllabus and Tips
- IITM BS Modern Application Development II (BSCS2006): Syllabus and Tips
- IITM BS BSCS2002: Programming, Data Structures and Algorithms using Python
- IITM BS Database Management Systems (BSCS2001): Syllabus and Tips