Welcome to OOSE!
Object-Oriented Software Engineering (or as we like to call it, OOSE) is a course about developing software that others can understand, maintain, and grow. The course goals include improving your ability to:
- Elegantly implement larger-scale software systems.
- Work effectively with a team of programmers.
- Think independently and innovatively.
- Communicate your ideas, designs, and implementations.
What do we do in OOSE?
You form groups of 5–6 students and work on a project of your choosing throughout the course. There are weekly "project-meeting" sessions for you to work on your project. A staff member advises your group, helping you along the way and reviewing your progress.
Before you dive into the project, you must complete several readings and homework. Through these, we discuss the principles discovered by software engineers over decades of practice, such as design patterns, refactoring techniques, and so forth. Moreover, we will help you to get started with the tools and technologies that you need to develop software. These are best learned by doing the homework (and employing them in your project).