ALEX Classroom Resource

  

Software Engineering

  Classroom Resource Information  

Title:

Software Engineering

URL:

https://csfieldguide.org.nz/en/chapters/software-engineering/

Content Source:

Other
CS Field Guide
Type: Lesson/Unit Plan

Overview:

Software failures happen all the time. Sometimes it’s a little bug that makes a program difficult to use; other times an error might crash your entire computer. Some software failures are more spectacular than others.

In 1996, The ARIANE 5 rocket of the European Space Agency was launched for its first test flight: Countdown, ignition, flame and smoke, soaring rocket... then BANG! Lots of little pieces scattered through the South American rainforest. Investigators had to piece together what happened and finally tracked down this tiny, irrelevant bug. A piece of software onboard the rocket which was not even needed had reported a value that was too big to be stored. An error was stored instead, but other software interpreted the error as saying the rocket was 90 degrees off course. Thankfully, no one was on board but the failure still caused about $370 million of damage.

Software engineering is all about how we can create software despite this enormous size and complexity while hopefully get a working product in the end. It was first introduced as a topic of computer science in the 1960s during the so-called "software crisis" when people realized that the capability of hardware was increasing at incredible speeds while our ability to develop software is staying pretty much the same.

As the name software engineering suggests, we are taking ideas and processes from other engineering disciplines (such as building bridges or computer hardware) and applying them to software. Having a structured process in place for developing software turns out to be hugely important because it allows us to manage the size and complexity of software. As a result of advances in software engineering, there are many success stories of large and complex software products that work well and contain few bugs. For example, Google's huge projects (Google search, Gmail, etc.) are built by teams of thousands of engineers, yet they still manage to create software that does what it should.

Content Standard(s):
Digital Literacy and Computer Science
DLIT (2018)
Grade: 9-12
37) Evaluate the ability of models and simulations to test and support the refinement of hypotheses.

a. Create and utilize models and simulations to help formulate, test, and refine a hypothesis.

b. Form a model of a hypothesis, testing the hypothesis by the collection and analysis of data generated by simulations.

Examples: Science lab, robotics lab, manufacturing, space exploration.

c. Explore situations where a flawed model provided an incorrect answer.

Unpacked Content
Evidence Of Student Attainment:
Students will:
  • evaluate how models and simulations can be used to examine theories and test and support the refinement of hypotheses.
  • explain how predictions and inferences are affected by large and complex data sets, quality of inputs, and software and hardware used.
a.
  • create a model or simulation to formulate, test, and refine a hypothesis.
  • utilize a model or simulation to formulate, test, and refine a hypothesis.
b.
  • form a model of a hypothesis.
  • test a hypothesis by the collection and analysis of data generated by simulations.
c.
  • be given a flawed model and explore reasons that the outcomes are not as expected or intended.
Teacher Vocabulary:
  • model
  • simulations
  • hypotheses
  • phenomena
  • target system
Knowledge:
Students know:
  • how to explain the use of models and simulations to generate new knowledge and understanding related to the phenomena or target system that is being studied.
  • how to explain the ability of models and simulations to test and support the refinement of hypotheses related to phenomena under consideration.
a.
  • that modeling and simulations are way to extrapolate and interpolate unrest situation and scenarios to help formulate, test and refine hypotheses.
b.
  • how to form a hypothesis.
  • how to test a hypothesis.
  • how to create a model or simulation.
c.
  • that simulations or models can be created to test a hypothesis but not provide the information expected or intended.
  • that it is vital to verify the data being generated by a model or simulation.
Skills:
Students are able to:
  • use a diagram or program to represent a model to express key properties of a phenomena or target system.
  • research existing models and simulations and how they are used to test and refine hypotheses.
  • explain how existing models and simulations are used to test and support the refinement of hypotheses.
a.
  • create a model or simulation to formulate, test, and refine a hypothesis.
  • utilize a model or simulation to formulate, test, and refine a hypothesis.
b.
  • form a model of a hypothesis.
  • test the hypothesis by collecting and analyzing data from a simulation.
c.
  • examine a model or simulation to determine the correctness of the generated data.
  • examine a flawed model or simulation and identify areas in which it is providing incorrect data.
Understanding:
Students understand that:
  • a simulation is based on a model and enables observation of the system as key properties change.
  • the accuracy of models and simulations are limited by the level of detail and quality of information used and the software and hardware used.
  • models and simulations are an effective and cost efficient way to understand phenomena and test and refine hypotheses.
a.
  • models and simulations are way to extrapolate and interpolate unrest situation and scenarios to help formulate, test and refine hypotheses.
  • models and simulations can be the only cost- ot time-effective way to test a hypothesis.
b.
  • Models and simulations can save money, are safer, usually requires less time, and do not have the environmental impact that a full experiment or operational test may induce.
c.
  • while a process may operate without errors, that does not guarantee that the process is providing accurate data to meet your needs.
Digital Literacy and Computer Science
DLIT (2018)
Grade: 9-12
38) Systematically design and develop programs for broad audiences by incorporating feedback from users.
Examples: Games, utilities, mobile applications.

Unpacked Content
Evidence Of Student Attainment:
Students will:
  • design programs iteratively, with feedback from users.
  • develop programs iteratively, with feedback from users.
Knowledge:
Students know:
  • it is vital to seek feedback from others on programs and products.
  • feedback can help make a program or product better.
Skills:
Students are able to:
  • design and develop a program.
  • publish a program, seeking feedback.
  • make edits to a program based upon user feedback.
Understanding:
Students understand that:
  • when designing a program, it is important to receive input from your target audience to ensure your product meets their expectations or need.
Digital Literacy and Computer Science
DLIT (2018)
Grade: 9-12
40) Use an iterative design process, including learning from mistakes, to gain a better understanding of a problem domain.

Unpacked Content
Evidence Of Student Attainment:
Students will:
  • create, publish, seek feedback on, and revise artifacts.
Knowledge:
Students know:
  • that creating an artifact is an iterative process.
  • that feedback serves to make products better.
  • that mistakes are teaching tools that help determine how not to solve a problem.
Skills:
Students are able to:
  • create and publish.
  • process constructive feedback.
  • persevere through mistakes.
Understanding:
Students understand that:
  • creating an artifact is an iterative process.
  • feedback serves to make products better.
  • mistakes are teaching tools that help determine how not to solve a problem.
Tags: abstraction, analysis, debug, design, interface, iteration, Moores Law, problem solving, refine, software engineer, spiral model, subdivision, test
License Type: Attribution Non-Commercial Share Alike
For full descriptions of license types and a guide to usage, visit :
https://creativecommons.org/licenses
Accessibility
Comments
  This resource provided by:  
Author: Aimee Bates