This page provides a number of resources with information on the tools that you will use in the course, and some technologies that you will need to become familiar with. Feel free to use this page throughout the semester to help locate resources for the different technologies we will be using.


Product Ideation

Product creation and all the aspects that it entails is an entire career. It is important that you get a foundation understanding and here are a few areas you should explore:

Problem Statement

Defining what it is you are trying to solve by use of a Problem Statement

Vision Document

High-level scope and purpose is defined in a Vision Document

Ethical Theory

You will require some background in matters relating to ethical theories that have been developed over the course of human history. Here are some resources to get you started:

Virtue Ethics

Consequential Ethics

Utilitaranism

Deontological Ethics


Artificial Intelligence

Much has been written about Artificial Intelligence (AI) for the purposes of this course you need not become and AI expert but knowing the basics of what AI is and how it plays a role in modern software systems will be helpful to frame several of our discussions.

Software-based AI

Data Analysis

Machine Learning

Deep Learning


Codes of Ethics

Several disciplines have developed their own "standards of behavior". Some are very closely related to Software disciplines others only in principle. Here are a few such codes:


Regulatory information

Part of good software development requires compliance to governing regulations that are applicable in many different domains. Here are some such examples: