everything.study
CSE 30532

Object-Oriented Software Engineering

(3 Credit Hours) · Undergraduate

Object-Oriented Software Engineering is an introductory course for the Software Engineering track in the Computer Science department at the University of Notre Dame. In this course, we will practice using a variety of programming tools and techniques to build student understanding of multiple phases of the software development lifecycle, including requirements, design, implementation, testing, and maintenance. Additionally, we will look at different programming frameworks and paradigms related to version control, polymorphism, front-end development, back-end development, and data persistence. This course focuses primarily on the usage of object-oriented programming paradigms and patterns, but we will also explore design patterns, functional programming, and event-driven programming. Learning Objectives At the conclusion of this course, students will: ● Have developed proficiency in an object-oriented programming language ● Be able to use build tools in their development workflow ● Have strong familiarity with git version control, as well as best practices for using git when working with groups of students ● Be able to build automated testing suites for their software project that can find, diagnose, and prevent bugs ● Understand software design principles of modularity, functional independence, abstraction, and information hiding, and be able to qualitatively assess designs with respect to be principles ● Be familiar with a number of object-oriented design patterns, including Dependency Injection, Singleton, Builder, Factor, Abstract Factory, Adaptor, Bridge, Decorator, Observer, Strategy, Command, and Visitor patterns. ● Understand and be able to use high-order functions such as filter, sort, map, etc. and utilize functional programming basics ● Use SQLite relational databases for application persistence ● Build local GUI applications in at least one GUI framework ● Build RESTful web applications in at least one web framework

Sources