Fundamentals
Development Process
Code & OOP
Data & Systems
Collaboration & Tools
100

This discipline focuses on applying engineering principles to design, develop, and maintain software

What is Software Engineering?

100

The structured process used to plan, build, test, and maintain software

What is the SDLC? (software development life cycle)
100

The OOP concept that hides internal details of a class

What is Encapsulation?

100

A system used to manage databases

What is DBMS?

100

A system used to track changes in code

What is Version Control?

200

These describe what the system must do

What are Functional Requirements?

200

This Agile role removes obstacles for the team and helps manage the process

What is the Scrum Master?

200

The idea that a class should have only one reason to change

What is the Single Responsibility Principle?

200

The SQL command used to retrieve data

What is SELECT?

200

The Git command used to stage changes before committing

What is git add?

300

These describe how well a system performs (speed, reliability, security)

What are Non-Functional Requirements?

300

A short development cycle in Scrum used to deliver working features

What is a Sprint?

300

This OOP concept allows objects to take multiple forms

What is Polymorphism?

300

An interface that allows different software systems to communicate

What is an API?

300

A storage location for project files and history

What is a Repository?

400

This term describes shortcuts or poor design choices that make software harder to maintain later 

What is Technical Debt?

400

A workflow system that visualizes work tasks moving across stages

What is Kanban?

400

A design guideline meaning software components should have clearly separated responsibilities

What is Separation of Concerns?

400

A database column that uniquely identifies each record

What is a Primary Key?

400

The Git command used to upload local commits to a remote repository

What is git push?

500

Improving code structure without changing its behavior

What is Refactoring?

500

This document formally describes system requirements for development

What is a Software Requirements Specification? (SRS)

500

A design principle encouraging simplicity instead of unnecessary complexity

What is KISS (Keep It Simple, Stupid)?

500

This SQL operation combines rows from two or more tables

What is a JOIN?

500

A platform used to host Git repositories and collaborate with others

What is GitHub?