Top/public/assessment/2018-2019/Outcomes/2
For evaluators
Catalog
Courses
Course coords
Courses offered
Personnel
ABET assessment
Library resources

Curricular issues
Course portfolios
Student transcripts
Dept. meetings
Assessment
    Data & results
    Responsibilities
    Forms
Videos

Site map / help

Outcome 2 for 2018-2019

Outcome 2 is: Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program's discipline.

The following abilities support outcome 2

  • 2a: Data structures. Effective software development requires a good understanding of a variety of data structures, including not just an abstract view but also a physical view that enables the software developer to understand the inner workings of tools and to create his or her own data structures where needed.

    Students are expected to be competent in implementing and using a variety of data structures.

  • 2b: Procedural abstraction. Procedural abstraction is the process of breaking a computational problem down into small, sensible and well-specified subproblems.

    Students are expected to master procedural abstraction for both problem analysis and software synthesis.

  • 2c: Software testing. Software testing consists of the dynamic verification that a program provides expected behaviors on a finite set of test cases, suitably selected from the usually infinite execution domain.

  • 2d: Object-oriented programming and abstract data types. An Abstract Data Type (ADT) is a mathematical model for data types. ADTs enable defining the behavior of a data type from the perspective of users of data — range of values, valid operations on the data, and behavior of these operations. A generic data type is an ADT, class, or interface parameterized over types. ADTs helps to decouple the use of an ADT from its underlying implementation.

    Object-oriented programming (OOP) is a natural extension of ADTs. OOP adds to ADTs the following features: class, inheritance, class hierarchy, polymorphism, composition, and interfaces.