About

Software System Development is a graduate-level course that equips students with a comprehensive understanding of the principles, tools, and practices involved in designing and building modern software systems. Emphasizing a systems-oriented perspective, the course explores foundational and contemporary topics including Operating Systems, Computer Networks, Software Engineering methodologies, and Database Systems (both relational and NoSQL).

Students will gain practical experience with industry-relevant tools and technologies such as Bash scripting, SQL, NoSQL databases, HTML, CSS, JavaScript, front-end frameworks, RESTful APIs, Python, and Flask. The course focuses on building scalable, maintainable, and secure software systems while fostering an appreciation for system integration, version control, development workflows, and deployment strategies.

Designed for students with a fundamental background in programming, this course bridges theory and practice, preparing them to contribute effectively to complex software development projects in both research and industry settings.

Lecture/Lab Hours

The lectures will be in-person and will be conducted by the Instructor. The lab sessions will be in-person and will be conducted by the Teaching Assistants. The lecture material (slides, lectures notes, Suppl Material) can be accessed from this website. The lecture and lab hours are mentioned below:

  • Lecture 🏛️: 8:30 AM to 9:55 AM - Tuesdays and Fridays - Lecture Hall: H-205 - 29 Classes
  • Lab/Tutorial 💻: 2:00 PM to 3:00 PM @ SH1 & 2:00 PM to 5:00 PM - Friday - Lecture Hall: SH1 - 14 Sessions

Office Hours

There are no specific instructor office hours. Instructor is available to meet all the students for 15 minutes before every class to address any queries or concerns. You can also directly write to instructor at saianirudh.karre[at]iiit.ac.in to get your queries addressed. TA office hours can be found here.

Course Policy ↑ Back to top

Teaching and Learning Methodology

This course is designed in such a manner to help learners get the essence of principles behind good software system development. Learners will be taught concepts by making them work on real-life problems. This will promote deeper engagement, deeper understanding and resembles the true career situation. Overall Course Notes can be found here

Academic Honesty

If A helps B in a Task X → B doesn't get opportunity to do task X, B doesn't learn the skill to do task X, B gets spoilt-dependent-unfit for jobs requiring skills of task X. You may think it is okay to do it only once and not repeat it, But when a task is done once it gets wired into the brain as being "okay" and unless there is a strong reason it will repeat. If you want to help, help to learn!

Zero Tolerance on Plagiarism

This course requires student to submit assignments, participate in in-class activities, give mid and final exams, work with groups on projects and so on. Any forms of cheating or plagiarism will result in a score of "0" for projects, assignments or exams. Egregious cases will result in a grade of "F" for the course.

Absentee Policy

You are expected to attend and participate in all lectures and lab sessions (graded or ungraded). However, if any quiz/activity is held during the lecture session that you are absent, you will be given a '0' for the same. There will be NO make up classes/quizzes/activities. These rules are not meant to be demeaning or penalizing. They are stated to establish a clear understanding of the course expectations for student participation and demeanor in the classroom. These rules are meant to help/motivate students to learn.

Miscellaneous Instructions

Given the subject is based on building software systems, ensure you have a laptop with decent configuration. Please make every effort to participate in the in-class discussions, interact with the instructor during class, interact with the TAs during the labs. You are expected to attend the class with your personal machine.

Use of AI Tools

Students are free to use different AI tools like ChatGPT, Co-pilot, etc. for the course assignments/activities. However, please do mention what tools and how they have been used in the submission report. Please note that these tools can mislead or provide wrong solutions. Its important to know the concept before using the tools. Tools are at the end-of-the day enablers. Today it will be ChatGPT tomorrow it will be something else but the concepts needs to be clear to leverage the different tools. Bottomline, feel free to use different tools but use them wisely!

Submission Deadlines

Considering this course has more than 100+ enrolled students, there will be NO extensions! for any graded task. It is your responsibility to submit an assignment or a lab activity on a prescribed deadline. Please do not wait until last minute to submit your submission. We will not entertain last minute huddle issues due to moodle. The instructors and TAs shall provide considerable amount of time for all your assignments and lab activities with a grace time for submission. Please ensure that you follow the respective submission guidelines while you submit for assignments and lab activities. If you couldn't submit any graded task due to health issues/attending a game/attending a conference/personal issue - please work with academic office for exemption.

Grading Policy

Once a grade for certain course deliverable (labs, assignments, quiz, exam, etc.) is released, the students may request a re-evaluation (with appropriate reasons) of the grade up to a week after the grade has been posted. After that, the student may not discuss prior grades with the instructor (even if the instructors or TAs are at fault). There will be no makeup activity/lab under any circumstances unless prior permission is granted from Academic Office. Late submissions will not be entertained unless there is a genuine health reason. Appropriate medical documentation will be needed in such cases - please work with academic office for exemption.

Grading Distribution

The course instructor reserves the right to make minor modifications to the above distribution based on the progress of the courses. Below is the overall grade distribution.

Deliverables Weightage
Assignment (4) 15%
Lab Activities (14) 15%
Practice and Class Activity (5) 10%
QUIZ (2) 10%
MID (1) - Team Hackathon 10%
Final Exam (Team Project) 40%
Evaluation Rubric

All evaluations as part of this course follow below evaluation rubric. TAs will follow below guidelines for evaluating assignments and lab activities for this course.

Rubric Input (15%) Logic (60%) Output (15%) Submission (10%)
Exceptional (100%) All inputs are working as per the requirements Logic is accurate and as per the requirements defined in the question All outputs are returned as per the requirements Script submissions are correct and as per requirements
Acceptable (70%) Inputs are partially working as per the requirements Logic is almost correct and as per the requirements defined in the question Outputs are partially returned as per the requirements Script submissions is partially correct and as per requirements
Beginning (30%) At least one input is working as per the requirements Logic is partially correct and as per the requirements defined in the question At least one output is returned as per the requirement At least one part of the script submission is correct and as per requirements
No Response (0%) None of the inputs are working as per the requirements Logic is incorrect and not as per the requirements defined in the question None of the outputs are returned as per the requirements Script submissions is incorrect and not as per requirements

Lecture Schedule & Content ↑ Back to top

S.No Schedule Lecture Content Material
1 01-Aug-25 (Friday) Course Intro - Software Systems Slides | Notes
2 05-Aug-25 (Tuesday) Relational Data Slides | Notes
3 08-Aug-25 (Friday) Unstructured Data - Session 1 Slides | Notes
4 12-Aug-25 (Tuesday) Unstructured Data - Session 2
Cancelled - Rain ⛈️
Notes | Scripts
5 19-Aug-25 (Tuesday) Unstructured Data - Session 2 Practice | Notes
6 22-Aug-25 (Friday) Web - HTML Web-Slides | HTML-Slides
Notes | Scripts
7 26-Aug-25 (Tuesday) Web - CSS Notes | Scripts
8 29-Aug-25 (Friday) JavaScript - Session 1 Scripts | Slides
9 02-Sep-25 (Tuesday) JavaScript Session 2 Scripts | Notes
10 04-Sep-25 (Thursday) JavaScript Session 3
Cancelled - Instructor Sick 🤒
[Scripts][Notes]
11 9-Sep-25 (Tuesday) JavaScript Session 3 Notes | Scripts
12 12-Sep-25 (Friday) React JS Slide | Notes | Scripts
13 26-Sep-25 (Friday) SE Practices Slides
14 26-Sep-25 (Friday) @ 2PM-5PM System Design Slides
15 30-Sep-25 (Tuesday) Python Session 1 Slides
16 03-Oct-25 (Friday) Python Session 2 Slides | Scripts
17-27 Oct-Nov 2025 Python Sessions 3-10, Shell Sessions, Retrospection [Notes][Slides] - Sessions 17-27

Lab Schedule & Content ↑ Back to top

Lab No. Schedule Topic Notes
01 7-Aug-2025 (Friday) Git Session Slides | Activity
02 14-Aug-2025 (Thursday) @ 2PM-3PM SQL Session Slides | Activity
03 21-Aug-2025 (Thursday) @ 2PM-3PM NoSQL Session Slides | Activity | Example
04 28-Aug-2025 (Thursday) @ 2PM-3PM DOM Slides & Activity
05 04-Sept-2025 (Friday) @ 2PM-5PM JS Session Slides & Activity
06 18-Sept-2025 (Thursday) @ 2PM-3PM Browser Events Slides | Activity
07 16-Sept-2025 (Friday) @ 8:30AM-9:55AM (H205) MERN Session - NodeJS Slides | Boiler Code
08 19-Sept-2025 (Friday) @ 8:30AM-9:55AM (H205) MERN App - Session 2 Boiler Code
09 20-Sept-2025 (Saturday) @ 2PM-5PM MERN App - Session 3 Slides | Activity
10-17 Oct-Nov 2025 MID Evaluation, Python Sessions, FASTAPI, Shell [Slides][Activity] - Labs 10-17

Exams ↑ Back to top

S.No Exam Type Announcement Submission Due Material
1 Assignment - SQL, NoSQL 15-Aug-2025 5-Sept-2025 Paper
2 Assignment - Web 6-Sept-2025 5-Oct-2025 Paper
3-4 Assignment - Python Parts 1 & 2 09-Oct & 21-Oct-2025 20-Oct & 10-Nov-2025 [Paper][Key]
5 SQL Practice 5-Aug-2025 10-Aug-2025 Paper
6 QUIZ 1 29-Aug-2025 2:30 PM 29-Aug-2025 3:30 PM Paper & Key
7 QUIZ 2 31-Oct-2025 2:30 PM 31-Oct-2025 3:30 PM [Paper][Key]
8 MID Exam 26-Sept-2025 10:00 PM 28-Sept-2025 10:00 PM Paper
9 Final Project 1-Sept-2025 2-Dec-2025 [Paper][Key]
10-12 Class Activities Various dates Same day Profile Page Submission | [Other Activities]

Staff ↑ Back to top

Teaching Assistants

  • Chirag Dhamija
  • Tejas Cavale
  • Divyansh Pandey
  • Aaditya Vardhan Narain
  • Kunal Kamalkishire Bhosikar
  • Chandrasekar S
  • Ashwani Raj
  • Hiya Bhatt