CSE 335 Object-Oriented Software Design (3 cr)
Catalog Course Description
Objected-oriented design methodologies and design patterns. Objected-oriented
programming using inheritance and polymorphism.
Software design using Unified Modeling Language. Ethics and professionalism.
Course Outcomes
(Letters refer to program outcomes; caps indicate greater emphasis.)
- Students will learn methods to structure computer programs using
object-oriented methodologies. (a, C, I)
- Students will gain experience using object-oriented methods include
inheritance and polymorphism. (a, C, I)
- Students will learn how to apply design patterns to the solution of
programming problems. (a, B, C, I, j, K)
- Students learn about ethics and effective communication.(e)
- Students learn about professional programming tools and methodologies (i)
- Students will gain experience developing software in a team. (d)
Program Outcomes covered in CSE 335
- (a)
- An ability to apply knowledge of computing and mathematics appropriate
to the discipline
- (b)
- An ability to analyze a problem, and identify and define the computing
requirements appropriate to its solution
- (c)
- An ability to design, implement, and evaluate a computer-based system,
process, component, or program to meet desired needs
- (d)
- An ability to function effectively on teams to accomplish a common goal
- (e)
- An understanding of professional, ethical, legal, security and social
issues and responsibilities
- (i)
- An ability to use current techniques, skills, and tools necessary for
computing practice
- (j)
- An ability to apply mathematical foundations, algorithmic principles,
and computer science theory in the modeling and design of computer-based
systems in a way that demonstrates comprehension of the tradeoffs involved
in design choices
- (k)
- An ability to apply design and development principles in the construction
of software systems of varying complexity
Assessment
Assessment of how well outcomes are being achieved will be done by applying a rubric
to a random sample of at least 25% of the students who have completed the work being
used for assessment. Assessment tools are examinations and programming projects.
For each outcome being assessed, each student in the sample will be judged to
(a) exceed, (b) meet, or (c) fail to meet an objective standard designed to assess
this outcome.
Unless otherwise specified the thresholds used are: meet (70%), exceed (85%).
We will say that this offering of the course achieved the particular outcome
if and only if 70% or more of the students sampled were assessed to be in categories (b) or (c).
- Course outcome I, II, III, IV, and V assessed by
- specific programming work and specific exam questions.
- Course outcome VI is not assessed
Topics
- Object-oriented design.
- Class inheritance and polymorphism.
- Design patterns.
- Unified Modeling Language.
- Collaborative software development.
- Professionalism and ethics in software development and programming.
Textbook
- Object-Oriented Modeling and Design with UML (Second Edition) by Blaha
and Rumbaugh, Pearson/Prentice-Hall, 2005.
- Design Patterns: Elements of Reusable Object-oriented Software by
Gamma, Helm, Johnson, and Vlissides, Addison Wesley, 1995.
Grading
- Examinations
- Programming Projects