Courses Taught

Indraprastha Institute of Information Technology Delhi (IIITD), India

Period: Winter 2018 & Winter 2019

Course: Systems Analysis, Design and Requirements Engineering (CSE 581)

Description: System Analysis, Design and Requirements Engineering course deals with planning the development of software systems through analyzing, understanding, specifying and designing the different components of the software system and how they work together. Software development teams usually solve business problems by analyzing the requirements and designing systems by applying analysis and design techniques. This course deals with the concepts, skills, taxonomies, techniques, theories, and cognitive perspectives essential for the same. Students would understand various theories of software engineering and apply them in analyzing and designing software systems. Requirements derived will be used to develop abstraction of user-centred designs at the conceptual level with a focus on human psychological (cognitive) aspects.

Period: Monsoon 2019

Course: Software Production, Evolution and Maintenance (CSE 5xx)

Description: Most of the software products developed today are a collection of closely coupled software applications that fulfil multiple users needs at once. The software product line paradigm is a useful approach while developing multiple software products that share common functional and quality requirements. It facilitates efficient development, production, and mass customization of software-intensive systems and software products by using a set of software subsystems and interfaces that form a common structure. However, the development and the delivery of the software product is only a part of the story. Software teams should work hard to continuously improve the software applications based on the changing requirements as well as preserve them from a failure of decline. While the former is called software evolution, the latter is called software maintenance. This course will guide students to develop and maintain large scale software products by providing theoretical and practical aspects of the software product line paradigm as well as software evolution and maintenance.

The University of Oulu, Finland

Period: Fall 2014 – 2018

Courses (assisted):

  • Open Source Software Development
  • Embedded Software Development
  • Software Production and Maintenance

Period: Spring 2015 – 2018

Courses (assisted):

  • Software System Development and Maintenance
  • Software Engineering Research Methodologies
  • Software Quality and Testing
YTIET, University of Mumbai, India

Period: Semester 1 (2010)


  • Basics of Software Engineering
  • Artificial Intelligence and Soft Computing

Period: Semester 2 (2010-2011)


  • Basics of Computer Programming (JAVA and C++)
  • Database Management Systems
This website is conceptualised and developed by Shweta Nichani Mohanani