CS6.302 - Software System Development

Software Engineering Research Center, IIIT Hyderabad

Monsoon 2025

  |    About  |    Lecture/Lab/Office Hours   |    Course Policy   |    Lectures   |    Lab   |    Exams   |    Staff  |   

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:    [go 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.

    DeliverablesWeightage
    Assignment (4)15%
    Lab Activities (14)15%
    Practice and Class Activity (5)10%
    QUIZ (2)10%
    MID (1)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.

    RubricInput(15%)Logic(60%)Output(15%)Submission(10%)
    Exceptional (100%)All inputs are working as per the requirementsLogic is accurate and as per the requirements defined in the questionAll outputs are returned as per the requirementsScript submissions are correct and as per requirements
    Acceptable (70%)Inputs are partially working as per the requirementsLogic is almost correct and as per the requirements defined in the questionOutputs are partially returned as per the requirementsScript submissions is partially correct and as per requirements
    Beginning (30%)At least one input is working as per the requirementsLogic is partially correct and as per the requirements defined in the questionAt least one output is returned as per the requirementAtleast one part of the script submission is correct and as per requirements
    No Response (0%)None of the inputs are working as per the requirementsLogic is incorrect and not as per the requirements defined in the questionNone of the outputs are returned as per the requirementsScript submissions is incorrect and not as per requirements

  Lecture Schedule & Content   [go 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] [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 [Notes][Slides]
9 02-Sep-25 (Tuesday) JavaScript Session 2 [Notes][Slides]
10 04-Sep-25 (Thursday) JavaScript Session 3 [Notes][Slides]
11 16-Sep-25 (Tuesday) ReatJS and MERN Stack [Notes][Slides]
12 19-Sep-25 (Friday) System Design - Session 1 [Notes][Slides]
13 26-Sep-25 (Friday) SHELL - Session 1 [Notes][Slides]
14 26-Sep-25 (Friday) @ 3PM-5PM System Design - Session 2 [Notes][Slides]
15 30-Sep-25 (Tuesday) SHELL - Session 2 [Notes][Slides]
16 03-Oct-25 (Friday) Python Introduction [Notes][Slides]
17 07-Oct-25 (Tuesday) Python - Session 1 [Notes][Slides]
18 10-Oct-25 (Friday) Python - Session 2 [Notes][Slides]
19 14-Oct-25 (Tuesday) Python - Session 3 [Notes][Slides]
20 17-Oct-25 (Friday) Python - Session 4 [Notes][Slides]
21 24-Oct-25 (Friday) Python - Session 5 [Notes][Slides]
22 28-Oct-25 (Tuesday) Python - Session 6 [Notes][Slides]
23 31-Oct-25 (Friday) Python - Session 7 [Notes][Slides]
24 07-Nov-25 (Friday) Python - Session 8 [Notes][Slides]
25 11-Nov-25 (Tuesday) Python - Session 9 [Notes][Slides]
26 14-Nov-25 (Friday) Python - Session 10 [Notes][Slides]
27/td> 18-Nov-25 (Tuesday) Retrospection [Notes][Slides]

 Lab Schedule & Content   [go to top]

Lab No.ScheduleTopicNotes
017-Aug-2025 (Friday)Git Session[Slides][Activity]
0214-Aug-2025 (Thurday) @ 2PM-3PMSQL Session[Slides][Activity]
0321-Aug-2025 (Thurday) @ 2PM-3PMNoSQL Session[Slides][Activity] [Example]
0428-Aug-2025 (Thurday) @ 2PM-3PMDOM[Slides][Activity]
0504-Sept-2025 (Friday) @ 2PM-5PMRESTFUL API[Slides][Activity]
0609-Sept-2025 (Tuesday) @ 8:30AM-9:55AM (H205)MERN App - Session 1[Slides][Activity]
0712-Sept-2025 (Friday) @ 8:30AM-9:55AM (H205)MERN App - Session 2[Slides][Activity]
0820-Sept-2025 (Saturday) @ 2PM-5PM MERN App - Session 3[Slides][Activity]
093-Oct-2025 (Friday) @ 2PM-5PMSystem Design & Project Review Session[Slides][Activity]
109-Oct-2025 (Thursday) @ 2PM-3PMSHELL Session 1[Slides][Activity]
1110-Oct-2025 (Friday) @ 2PM-5PMPython Session 1[Slides][Activity]
1217-Oct-2025 (Friday) @ 2PM-5PMPython Session 2[Slides][Activity]
1324-Oct-2025 (Friday) @ 2PM-5PMPython Session 3[Slides][Activity]
147-Nov-2025 (Friday) @ 2PM-5PMFASTAPI-Session 1[Slides][Activity]
1514-Nov-2025 (Friday) @ 2PM-5PMFASTAPI-Session 2[Slides][Activity]

  Exams   [go to top]

S.NoExam TypeAnnouncementSubmission DueMaterial
1Assignment - SQL, NoSQL 15-Aug-2025 5-Sept-2025[Paper]
2Assignment - Web 6-Sept-202527-Sept-2025[Paper][Key]
3Assignment - SHELL 28-Sept-202519-Oct-2025[Paper][Key]
4Assignment - Python20-Oct-202510-Nov-2025[Paper][Key]
5SQL Practice 5-Aug-202510-Aug-2025[Paper]
6HTML & CSS Practice 15-Aug-202521-Aug-2025[Paper][Key]
7QUIZ 1 29-Aug-2025 2:30 PM29-Aug-2025 3:30 PM[Paper][Key]
8QUIZ 231-Oct-2025 2:30 PM31-Oct-2025 3:30 PM[Paper][Key]
9MID Exam TBATBA[Paper][Key]
10Final Project 1-Sept-20252-Dec-2025[Paper][Key]
11Class Activity - Profile Page 26-Aug-202526-Aug-2025[Submission]
12Class Activity - JavaScript 16-Sept-202516-Sept-2025[Paper][Key]
13Class Activity - SHELL 10-Oct-202510-Oct-2025[Paper][Key]
14Class Activity - Python 14-Nov-202514-Nov-2025[Paper][Key]

Staff:   [go to top]

Instructors: Dr. Abhishek Singh, Dr. Sai Anirudh Karre
Teaching Assistants: Chirag Dhamija, Tejas Cavale, Divyansh Pandey, Aaditya Vardhan Narain, Kunal Kamalkishire Bhosikar, Chandrasekar S, Ashwani Raj, Hiya Bhatt

Important Links: Monsoon 2025 Almanac | Spring 2025 Lecture Timetable | Spring 2025 Lab Timetable | Courses Portal


[go to top]

Course site hosted by github.io
Course Policy credits to Dr. Raghu Reddy & Dr. Karthik Vaidhyanathan
Software Engineering Research Center,IIIT Hyderabad