4 Learning Outcomes

CONTENT

A cartoon image of a grey Gryphon. It is holding a pointer stick and pointing to something to its right.

  • Major Learning Outcomes
  • Minor Learning Outcomes
  • Foundational Learning Outcomes
  • How To Use Learning Outcomes


In the last chapter, we learned a little bit about the software design process, and in particular, which stages of the software design process we’ll focus on in CIS3750 (i.e. planning, analysis, and design).

Major Learning Outcomes

In this chapter, we formalize what we are going to learn by identifying the five major learning outcomes of the course. These learning outcomes are simple statements that describe skills that you should be able to demonstrate mastery of by the end of the course. As such, they have a way of popping up on assignments, reports, labs, and final exams.

The major learning outcomes are identified more or less in the order in which we will approach them during the course. This is further described in the next chapter when we review the general timeline of the course.

Minor Learning Outcomes

To assist you with checking in on what you’ve learned, your course slides and this manual will also include additional learning outcomes. You should think of these as minor learning outcomes that will help you build the necessary skills to achieve the major learning outcomes of the course.

For example, our first major learning outcome of the course is to “collect & critically evaluate client needs to develop software requirements that are specific, measurable, and categorized.” While this seems straightforward enough, it captures the following minor learning outcomes that span the first three to four weeks of class:

  • identify the qualities of good software
  • understand the software design process
  • distinguish between requirements and instructions
  • write user stories that describe one thing the user does with the system
  • identify and write requirements that are specific and measurable
  • categorize requirements that are specific and measurable
  • categorize requirements based on their importance to the system
  • prioritize requirements
  • identify and evaluate dependencies that might exist in a set of requirements

In most cases, you will probably be able to read the minor learning outcome and get a sense of how it connects to the major learning outcome. However, some of the minor learning outcomes are associated with foundational skills.

Foundational Learning Outcomes

Foundational skills are those that are not specific to a discipline. This includes but is not limited to:

  • knowledge translation & transfer skills,
  • recognize biases skills,
  • problem identification & solution ideation skills,
  • teamwork skills,
  • communication skills,
  • and leadership skills.

Since we will spend the semester working with a community partner, it becomes especially important to work on our foundational skills as well as our discipline-specific skills.

The Foundational learning outcomes for CIS3750 include:

  1. Effectively communicate my ideas to my team and to people outside of my discipline
  2. Effectively translate, transfer, and mobilize knowledge so that it can be meaningfully used by the intended recipient
  3. Clearly identify a problem and its root causes
  4. Critically evaluate all available information, including knowledge gleaned from lived experience and non-academic settings
  5. Work in a team to develop and critique potential solutions for a given problem, and to select the best solution for the problem
  6. Recognize our personal and discipline-specific biases that might impact our ability to solve a problem
  7. Reflect on the process, knowledge, and outcomes
  8. Lead when necessary
  9. Remain open to other ways of understanding the world

Note, all the major and minor learning outcomes are described on the following pages. Major learning outcomes are identified with a number, while minor learning outcomes are identified with a letter.

A graphic for major learning outcome 1, and its 8 minor learning outcomes. Major learning outcome 1: Collect & critically evaluate client needs to develop software requirements that are specific, measurable, and categorized. Minor learning outcomes include: 1A) identify the qualities of good software, 1B) understand the software design process, 1C) distinguish between instructions and requirements, 1D) write user stories that describes one thing the user does, 1E) identify and write requirements that are specific and measurable, 1F) categorize requirements based on their importance to the client, user, and system, 1G) prioritize requirements to facilitate planning, and 1H) identify and evaluate dependencies that might exist in a set of requirements
Major learning outcome 1, and its 8 minor learning outcomes. Major learning outcome 1: Collect & critically evaluate client needs to develop software requirements that are specific, measurable, and categorized. Minor learning outcomes include: 1A) identify the qualities of good software, 1B) understand the software design process, 1C) distinguish between instructions and requirements, 1D) write user stories that describes one thing the user does, 1E) identify and write requirements that are specific and measurable, 1F) categorize requirements based on their importance to the client, user, and system, 1G) prioritize requirements to facilitate planning, and 1H) identify and evaluate dependencies that might exist in a set of requirements.
A graphic for major learning outcome 2, and its 5 minor learning outcomes. Major learning outcome 2: Estimate a timeline for software development by identifying dependencies in, establishing a prioritized list of, and estimating production time for the software requirements. Minor learning outcomes include: 2A) identify assumptions associated with estimating the time it will take one developer to implement a single requirement, 2B) build a timeline that respects the categorization, prioritization, and logical flow of the requirements, 2C) break a requirement into a set of tasks - each with their own time estimate, 2D) implement and interpret a burndown chart, and 2E) evaluate team velocity and the amount of work possible given the team size.
Major learning outcome 2, and its 5 minor learning outcomes. Major learning outcome 2: Estimate a timeline for software development by identifying dependencies in, establishing a prioritized list of, and estimating production time for the software requirements. Minor learning outcomes include: 2A) identify assumptions associated with estimating the time it will take one developer to implement a single requirement, 2B) build a timeline that respects the categorization, prioritization, and logical flow of the requirements, 2C) break a requirement into a set of tasks – each with their own time estimate, 2D) implement and interpret a burndown chart, and 2E) evaluate team velocity and the amount of work possible given the team size.
A graphic for major learning outcome 3, and its 8 minor learning outcomes. Major learning outcome 3: Improve system design by collecting and synthesizing client feedback provided during prototyping sessions. Minor learning outcomes include: 3A) identify the actors involved in a use case, 3B) draft use cases that model the interaction between actors in a system, 3C) identify and draft alternative use case flows that end with the system in a stable state, 3D) identify the differences between, and examples of low-fidelity and high-fidelity prototypes, 3E) develop and implement a paper prototype, 3F) run a paper prototyping session, 3G) develop a post-mortem report that synthesizes the findings of a prototyping session, and 3H) develop and implement a wire framing session.
Major learning outcome 3, and it’s 8 minor learning outcomes. Major learning outcome 3: Improve system design by collecting and synthesizing client feedback provided during prototyping sessions. Minor learning outcomes include: 3A) identify the actors involved in a use case, 3B) draft use cases that model the interaction between actors in a system, 3C) identify and draft alternative use case flows that end with the system in a stable state, 3D) identify the differences between, and examples of low-fidelity and high-fidelity prototypes, 3E) develop and implement a paper prototype, 3F) run a paper prototyping session, 3G) develop a post-mortem report that synthesizes the findings of a prototyping session, and 3H) develop and implement a wireframing session.
A graphic for major learning outcome 4, and its 4 minor learning outcomes. Major learning outcome 4: Create design diagrams to succinctly communicate software requirements to teammates and clients. Minor learning outcomes include: 4A) demonstrate the differences between static and dynamic UML diagrams, 4B) develop a class diagram, 4C) develop a sequence diagram, and 4D) run a class responsibility collaboration session, and use this to inform the development of the class and sequence diagrams.
Major learning outcome 4, and its 4 minor learning outcomes. Major learning outcome 4: Create design diagrams to succinctly communicate software requirements to teammates and clients. Minor learning outcomes include: 4A) demonstrate the differences between static and dynamic UML diagrams, 4B) develop a class diagram, 4C) develop a sequence diagram, and 4D) run a class responsibility collaboration session, and use this to inform the development of the class and sequence diagrams.
A graphic for major learning outcome 5, and its 3 minor learning outcomes. Major learning outcome 5: Implement and test a system solution that addresses the clients needs. Minor learning outcomes include: 5A) understand the difference between white, grey, and black box testing, 5B) implement a prototype solution for the client, and 5C) synthesize client feedback and use this to improve system design.
Major learning outcome 5, and its 3 minor learning outcomes. Major learning outcome 5: Implement and test a system solution that addresses the clients needs. Minor learning outcomes include: 5A) understand the difference between white, grey, and black box testing, 5B) implement a prototype solution for the client, and 5C) synthesize client feedback and use this to improve system design.

How To Use Learning Outcomes

Learning outcomes are a good way to gauge our progress through the course. For this reason, we will revisit them several times during the semester. They will also reappear throughout this manual as a way of checking in on what we’ve learned.

How do we use them to check in on what we’ve learned? If you are honest with yourself, learning outcomes can help you highlight skills that you are struggling with.

For example, if you can honestly state “I can…” followed by any of the learning objectives, you’re probably on the right track. However, if some of that statement doesn’t make sense, causes you unease, or is complete gibberish to you – then that is a good sign that you probably have more work to do to master the skills associated with the learning outcome.

License

Community-Engaged Systems Analysis & Software Design Copyright © 2024 by Daniel Gillis and Nicolas Durish. All Rights Reserved.

Share This Book