Whether you need a solid foundation in the principles of software construction, the theory behind API design, or a strong understanding of privacy practices, ISR has something for you.
Some of our most popular courses include:
- 17-214 Principles of Software Construction
- 17-356 Software Engineering for Startups
- 17-437 Web Application Development
- 17-537 Artificial Intelligence Methods for Social Good
Software Engineering Minor
Effectively building modern software systems at scale requires not just programming skills, but also engineering skills. These skills include the ability to interact effectively with customers to gather the requirements for a system in a precise way; to develop a design that resolves competing quality attributes; to make tradeoffs among schedule, cost, features, and quality to maximize value to stakeholders; to work effectively with other engineers; and to assure the quality of the delivered software system. We hear regularly from industry that these skills are crucial to them, and that they are interested in students with a strong software engineering background.
Security & Privacy Concentration
The Security & Privacy concentration is designed to expose students to the key facets of and concerns about computer security and privacy that drive practice, research, and legislation. On completing the curriculum, students will be well prepared to continue developing their interests in security or privacy through graduate study; to take jobs in security or privacy that will provide further training in applicable areas; and to be informed participants in public and other processes that shape how organizations and society develop to meet new challenges related to computer security or privacy.
Software Engineering Concentration
In order to build modern software systems at scale, deep knowledge of and proficiency in programming alone is no longer sufficient. The Software Engineering concentration is designed to impart skills and techniques that bridge the gap between traditional computer science coursework and real-world practice. Upon completion of the curriculum, students will be capable of working with customers to gather the right requirements; developing a design that resolves competing quality attributes; making trade-offs between schedule, cost, features, and quality to maximize value to stakeholders; working effectively with fellow engineers; and assuring the quality of any software system they design.