Thomas Maszerowski
Adjunct Faculty
Currently Teaching
GCIS-124
Software Development and Problem Solving II
4 Credits
A second course that delves further into computational problem solving, now with a focus on an object-oriented perspective. There is a continued emphasis on basic software design, testing & verification, and incremental development. Key topics include theoretical abstractions such as classes, objects, encapsulation, inheritance, interfaces, polymorphism, software design comprising multiple classes with UML, data structures (e.g. lists, trees, sets, maps, and graphs), exception/error handling, I/O including files and networking, concurrency, and graphical user interfaces. Additional topics include basic software design principles (coupling, cohesion, information expert, open-closed principle, etc.), test driven development, design patterns, data integrity, and data security.
SWEN-262
Engineering of Software Subsystems
3 Credits
An introduction to the principles of the foundations of contemporary software design. Topics include software subsystem modeling, design patterns, design tradeoffs, and component-based software development, with a focus on application of these concepts to concrete design problems. The relationship between design and related process issues such as testing, estimation, and maintenance are also discussed.
SWEN-383
Software Design Principles and Patterns
3 Credits
Quality software designs and architectures reflect software engineering principles that represent best contemporary practice. This course focuses on explicating these fundamental principles, examining a set of design and architecture patterns that embody the principles, and applying patterns appropriate to a design problem in a given context. Restricted to IST majors only.
SWEN-562
Software Engineering Project II
3 Credits
This is the second course in a two-course, senior-level capstone project experience. Students submit one or more additional increments that build upon the solution submitted at the end of the first course. Students make major presentations for both customers as well as technical-oriented audiences, turn over a complete portfolio of project-related artifacts and offer an evaluation of the project and team experience.