Skip to main content Link Search Menu Expand Document (external link)

Home

Table of contents

  1. About
  2. Lecture hours
  3. Office Hours
  4. Resources
    1. Useful textbooks:
    2. Useful tools:
  5. Assignments and Projects

About

This course will provide an overview of the principles and foundations of modern software engineering techniques (primarily design based). Topics include software modelling, refactoring, design patterns and software architecture with a focus on application of these concepts to concrete software problems. Credit where its due, the course structure was designed by Dr. Raghu Reddy.

Lecture hours

The lectures will be in-person and will held on every Tuesday and Friday 2:00 PM to 3:30 PM in Room no: H-105 (Himalaya Block). The lecture materials (slides, lecture notes if any and links to supporting resources) can be accessed here.

Office Hours

Every Thursday 11:00 AM to 12:00 PM. Apart from this if more meetings or help is required, feel free to drop in an email to one of the teaching assistants

Resources

Useful textbooks:

  1. UML@classroom: An Introduction to Object-Oriented Modeling by Martina Seidl, Marion Scholz, Christian Huemer and Gerti Kappel
  2. M. Fowler. Refactoring: Improving the design of existing Code, 2000. Addison Wesley. ISBN 0-201-48567-2.
  3. Design Patterns Elements of Reusable Object Oriented Software by Enrich Gamma, Richard Helm, Ralph Johnson and John Vlissides
  4. Software Architecture in Practice (Third/Fourth edition) by Len Bass, Paul Clements and Rick Kazman, Addison-Wesley.

Useful tools:

  1. UML - There are plenty of UML tools available such as StarUML, MagicDraw, etc. As far as this course is concerned it would be more than enough to use an open source UML tools such as: Eclipse Papyrus UML or Gaphor. If you prefer text based modelling then PlantUML can be an excellent choice. Please don’t make use of any normal diagramming tools for this course.

  2. Java IDE - This course will involve development in Java. There are many IDEs for Java available. We suggest to either use Eclipse or Intellij IDEA Community edition.

Assignments and Projects

All the assignments, their grading policy will be posted here.


Copyright © 2024 Karthik Vaidhyanathan. Distributed by an MIT license.