OOSE and SDE

A course for teaching students how to build larger, more complicated software systems collaboratively, including end-to-end development.

This website serves as the “textbook” for:

These courses will help students design, test, and build larger end-to-end systems through a series of incremental learning objectives. By the end of the course, students should be able to design and implement a multilayer system with both front-end and back-end elements.

Technologies in this course:

  • Java programming language
  • Git for version control and collaboration
  • Gradle build tool
  • UML Class Diagrams
  • IntelliJ IDE, including refactoring and testing tools
  • JUnit 5 for unit and integration testing
  • Mockito for improving testing separation
  • SQL querying language, along with SQLite database tools
  • Java JDBC and Hibernate for connecting our applications to databases
  • Spring Boot for build a RESTful web backend

The contents of this website will remain free and open to the public. Other courses and professors are welcome to use any pages or materials linked on this website: please see the License information under About for more information.