Evaluation Overview

The program evaluation proceeds by considering the program student outcomes and creating one or more key performance indicators (KPIs) for each outcome.
Each KPI is assessed by one or more courses in the core sequence, which is required of all Computer Science majors. Note: Only computer science majors are assessed in these courses, so if students from other majors take one of the courses in our core sequence, their performance does not affect the assessment results. Student performance is broken down into the following categories:

Students who are categorized as Excelled or Mastered are considered to have satisfied the corresponding KPI for the purpose of assessment. We assess each KPI by keeping a historical record of the proportion of students who satisfy the KPI at each assessment cycle, typically no more than two years. The assessment for each KPI is then aggregate into an assessment for the associated student outcome. This aggregation is performed using an average that is weighted by the number of student assessments (or distinct observations).

Student Outcomes

The official list of student outcomes for the Department of Computer Science at the University of Wyoming can be found in the Course Catalog, and in the Department of Computer Science web pages. They are replicated here for convenience:

The program of study in Computer Sci­ence enables students to achieve, by the time of graduation:

  1. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
  2. Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
  3. Communicate effectively in a variety of professional contexts.
  4. Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
  5. Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.
  6. Apply computer science theory and software development fundamentals to produce computing-based solutions.

Key Performance Indicators

Each student outcome is assessed using one or more performance indicators, and each KPI is assessed in one or more core courses, as listed below.

  1. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
    • (1.1) Identify key components and algorithms necessary for a solution
    • (1.2) Analyze at two or more proposed solutions to a given problem and select the best solution for the given problem
  2. Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
    • (2.1) Identify constraints on the design problem
    • (2.2) Establish acceptance criteria for a solution
    • (2.3) Design the selected solution for a given problem
    • (2.4) Implement the designed solution for a given problem
    • (2.5) Evaluate the implemented solution
  3. Communicate effectively in a variety of professional contexts.
    • (3.1) Write technical reports
    • (3.2) Present technical material to technical peers
    • (3.3) Present technical material to non-technical visitors
  4. Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
    • (4.1) Recognize ethical issues involved in a professional setting
    • (4.2) Describe current issues in security
    • (4.3) Describe current issues in privacy
    • (4.4) Respect and honor ethics in writing assignments
  5. Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.
    • (5.1) Listen to other team members
    • (5.2) Actively discuss team projects, objectives, or challenges with other team members
    • (5.3) Fulfill team duties on time
    • (5.4) Share in the work of the team
    • (5.5) Research and gather information
  6. Apply computer science theory and software development fundamentals to produce computing-based solutions.
    • (6.1) Analyze the asymptotic cost of divide-and-conquer algorithms
    • (6.2) Analyze the asymptotic cost of recursive algorithms
    • (6.3) Analyze the asymptotic cost of basic graph algorithms
    • (6.4) Describe the impact of techniques such as caching and dynamic programming on the performance of algorithms
    • (6.5) Understand the difference between polynomial and exponential complexity

The KPIs are discussed and assessed (bold) in the following courses:

Outcome KPI Supporting and Assessing (Bold) Courses
(1) (1.1) 1030, 2030, 3011, 3020
  (1.2) 1030, 2030, 3011, 3020
(2) (2.1) 3011, 4950
  (2.2) 3011, 4950
  (2.3) 3011, 4955
  (2.4) 3011, 4955
  (2.5) 2030, 3020, 4955
(3) (3.1) 3050, 4950, 4955
  (3.2) 3050, 4950, 4955
  (3.3) 3050, 4950, 4955
(4) (4.1) 3050
  (4.2) 3050
  (4.3) 3050
  (4.4) 3050
(5) (5.1) 4950, 4955
  (5.2) 4950, 4955
  (5.3) 4950, 4955
  (5.4) 4950, 4955
  (5.5) 4950, 4955
(6) (6.1) 1030, 2030, 3020
  (6.2) 3015, 3020
  (6.3) 2030, 2300, 3020
  (6.4) 1030, 2030, 3020
  (6.5) 1030, 2030, 3015, 3020

The assessment plan is closely tied to the core courses in the program, since these courses must be taken by all of our students, regardless of their concentration. This can be seen in the following chart, which summarizes the assessment plan of all key performance indicators.

Core Course KPIs Outcomes
COSC 3011: Software Design (1.2), (2.3) (1), (2)
COSC 3020: Algorithms & Data Structures (1.1), (1.2), (6.1), (6.2), (6.3), (6.4), (6.5) (1), (6)
COSC 3050: Ethics (4.1), (4.2), (4.3), (4.4) (4)
COSC 4950: Senior Design I (2.1), (2.2) (2)
COSC 4955: Senior Design II (2.3), (2.4), (2.5), (5.1), (5.2), (5.3), (5.4), (5.5), (3.1), (3.2), (3.3) (2), (3), (5)

Evaluation Schedule Master Plan

We have devised a testing cycle that spreads data collection into two-year cycles. The undergraduate committee meets yearly to analyze the latest assessment data and offer suggestions for improvement. We are currently scheduling COSC 3020 yearly, because students continue to struggle, but it will convert into a two-year cycle in the future.

Core Course Assessed
COSC 3011: Software Design Every other year, starting 2020-21
COSC 3020: Algorithms & Data Structures Yearly (eventually every other year)
COSC 3050: Ethics Every other year, starting 2020-21
COSC 4950: Senior Design I Every other year, starting 2021-22
COSC 4955: Senior Design II Every other year, starting 2021-22