1/19
Vocabulary flashcards based on Lesson 1: Introduction of Modern Software Engineering, covering core definitions, historical milestones, paradigm shifts, and practical activity designs.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
Software
it is a system of learning, experimentation, and complexity management.
Scientific Thinking
An approach in software engineering based on observation, experimentation, and evidence-based decisions.
Engineering Discipline
A practice characterized by structured design, reliability, safety, and continuous improvement in software development.
Treating changes as experiments
when adding a new feature, observe the effect on performance or user behavior.
Controlling variables
fix test data, hardware environment, or random seeds when benchmarking.
Fast, reliable feedback
automated testing, continuous integration, and monitoring in production.
Software Engineering (Ford, 2022)
The application of an empirical, scientific approach to finding efficient, economic solutions to practical problems in software.
Empiricism
A key aspect of software engineering that bases design and decisions on experiments and data rather than opinions.
Efficiency
A key aspect of software engineering focused on producing solutions that optimize resources and time.
Economy
A key aspect of software engineering focused on reducing unnecessary cost, effort, or complexity.
Practicality
A key aspect of software engineering focused on solving real-world problems that matter.
Build → Measure → Learn
The key principle for making real progress through experimentation using the steps: Hypothesize, Test in small increments, Measure outcomes, and Decide.
Software Crisis
A period in the 1960s when software projects were frequently late, over budget, and error-prone, prompting the birth of software engineering.
1960s
A period in which the software crisis emerged, leading to significant changes in software development practices.
Margaret Hamilton
The MIT Apollo Program lead who coined the term "software engineering" and developed fault-tolerant systems for NASA's lunar missions.
1968 NATO Conference
The conference that hosted the first formal discussion of software engineering as a discipline, marking the transition from "programming as art" to "programming as engineering."
Old Paradigm of Software Engineering
A development approach defined by big upfront design (waterfall model), rigid requirements, long delivery cycles, and late failure discovery, operating under a "predict & control" mindset.
New Paradigm of Software Engineering
An adaptive development approach defined by empirical iteration, feedback, complexity management, and continuous delivery, operating under an "experiment & learn" mindset.
ElectricityCalculator Class
A Java class designed with the attribute units (int) and methods computeBill() and checkUsage(double bill), using the formula Bill=units×rate where rate is 12.5 pesos per unit.
GradeCalculator Class
A Java class designed with attributes prelim (double), midterm (double), and finals (double), computing final grades via FinalGrade=(prelim×0.30)+(midterm×0.30)+(finals×0.40).