Applications Open now for September 2024 Batch | Applications Close: Sep 15, 2024 | Exam: Oct 27, 2024

Applications Open now for September 2024 Batch | Applications Close: Sep 15, 2024 | Exam: Oct 27, 2024

Degree Level Course

Software Engineering

To prepare students to develop the essential skills required to become effective software engineers by introducing them to fundamental concepts in developing software, and essential practices employed by software developers, such as requirement gathering, creating software conceptual designs, software comprehension, debugging, testing and deployment.

by Dr. Sridhar Iyer , Dr. Prajish Prasad

Course ID: BSCS3001

Course Credits: 4

Course Type: Core Option I

Pre-requisites: None

Course structure & Assessments

12 weeks of coursework, weekly online assignments, 2 in-person invigilated quizzes, 1 in-person invigilated end term exam. For details of standard course structure and assessments, visit Academics page.

WEEK 1 Deconstructing the software development process
WEEK 2 Identify different types of software requirements (functional, non-functional)
WEEK 3 Software Conceptual Design
WEEK 4 Software Usability
WEEK 5 Software Design - Modeling and Architecture
WEEK 6 Software Design - Quality and Evaluation
WEEK 7 Software Development - Program Comprehension
WEEK 8 Software Development - Program Debugging
WEEK 9 Software - Code Reviewing and Documentation
WEEK 10 Software Testing
WEEK 11 Software Deployment and Monitoring
WEEK 12 Conclusion and other Aspects: Communication, Productivity and Organizations
+ Show all weeks

Prescribed Books

The following are the suggested books for the course:

Software Engineering: A Precise Approach – Dr. Pankaj Jalote

Cooperative Software Development – Dr. Amy Ko

Engineering Software as a Service: An Agile Approach Using Cloud Computing – Armando Fox, David Patterson

About the Instructors

Dr. Sridhar Iyer
Professor, Department of Computer Science and Engineering & Inter-disciplinary Program in Educational Technology, IIT Bombay

Sridhar Iyer is a Professor in the Department of Computer Science & Engg, and the Head of the Interdisciplinary Programme on Educational Technology, at IIT Bombay. He is also the Head of the Centre for Distance Engineering Education and the Principal Investigator of the National Programme on Technology Enhanced Learning at IIT Bombay.

...  more

His current research interests are in the field of Educational Technology. This includes: Technology enhanced learning environments for thinking skills, Pedagogies for effective use of educational technologies, Development of ICT tools for educational applications, and Computer Science education research.

Some development projects that that he has conceptualized and led are: Project OSCAR, a repository of ~450 Interactive Visualizations for topics at the school and higher education levels, and Computer Masti, a series of books for teaching-learning of Computers in schools. These products have seen more than 100K downloads from 120 countries. In 2016, Computer Masti was acquired by a company and the books are now being used in ~1000 schools in India.

Prior to Educational Technology, he has worked in wireless networking protocols and mobile applications. Sridhar Iyer received his BTech, MTech and PhD from the Dept of Computer Science & Engg at IIT Bombay.


Dr. Prajish Prasad
Assistant Professor, Computer Science, FLAME University

Prajish Prasad is an Assistant Professor in the Department of Computing and Data Sciences at FLAME University, Pune.. He completed his PhD from the Interdisciplinary Programme in Educational Technology at IIT Bombay. His bachelor and master degrees are in Computer Science. He is a computing education researcher, and specializes in designing technology-enhanced learning environments for topics in computer science. Prior to joining his PhD, he worked as a software developer in an EdTech startup, and as an engineering instructor, teaching courses for computer science undergraduates.