Software Engineering Basics
Design & Architecture
Testing & Quality
Implementation & Principles
Agile, Databases & Git
100

This acronym represents the process that defines how software is planned, created, tested, and maintained.

What is SDLC (Software Development Life Cycle)?

100

This design pattern separates an application into Model, View, and Controller components.

What is MVC?

100

Acronym for the testing process life cycle.

What is STLC?

100

Create, Read, Update, Delete.

What is CRUD?

100

Values: people, software, customer, change.

What is the Agile Manifesto?

200

This SDLC activity focuses on gathering and analyzing user needs before design begins.

What is requirements engineering?

200

This design concept divides software into self-contained parts to improve readability and reusability.

What is modularity?

200

“Build it right” vs. “build the right thing.”

What are verification and validation?

200

“You Aren’t Gonna Need It.”

What is YAGNI?

200

Agile role that removes blockers.

Who is the Scrum Master?

300

These two types of requirements describe what a system does and how well it does it.

What are functional and non-functional requirements?

300

This architecture pattern organizes software into hierarchical layers such as presentation, business logic, and data.

What is the layered architecture pattern?

300

Tests a single function or module.

What is unit testing?

300

Divide tasks by functionality.

What is separation of concerns?

300

Time-boxed Agile work cycle.

What is a sprint?

400

This model represents relationships between the world, requirements, specification, program, and machine.

What is the WRSPM model?

400

While one architecture relies on two tiers of communication, the other uses many small, independent services communicating via APIs.

What are client-server and microservices architectures?

400

Can software ever be perfect?

What is no, software can’t be bug-free?

400

“Is-a” vs. “has-a.”

What are inheritance and composition?

400

Unique vs. linked database keys.

What are primary and foreign keys?

500

What chat is used for collaboration in this class?

What is Sway Chat?

500

Scalability, maintainability, loose coupling, and understandability are all traits of this kind of design.

What is a good software architecture design?

500

Improving code without changing behavior.

What is refactoring?

500

Long-term cost of quick fixes.

What is technical debt?

500

Version control vs. hosting service.

What are Git and GitHub?