In this class, we present a broad overview of the field of medical software. You will learn from Yale professors and a series of industry experts who connect the course concepts to their real world applications. We begin by discussing medical device regulatory structures, data privacy and cybersecurity regulations, and key support technologies such quality management systems and risk management. We then take a detailed look at the medical software life cycle, starting with identifying user needs, mapping these to system requirements and then the process of software design, coding, testing and validation. We continue by exploring issues related to the use of machine learning techniques in medical applications from both a software engineering and a regulatory perspective. We conclude with a discussion of the business and management issues in this area focusing on the impact on digital health on modern healthcare and issues related to starting new ventures. This is a class aimed at either third- or fourth-year undergraduates in computer science, biomedical engineering, and related fields, and to junior software engineers currently either working in, or interested in moving to, the medical device industry.