Ben Eater has created an excellent 8-bit computer that is true to the essential architecture of modern computers, yet is simple enough to fit on a few breadboards. It uses DIP-switches and push buttons as inputs, and LEDs and 7-segment displays as (debug) outputs. Even step-wise execution by stepping the computer clock is possible, such that every part of the computer can be observed as it functions and the internal state and memory can be modified by switches.
There are many explanations of pull-up or pull-down resistors that gloss a bit too much over the details, keeping you in doubt about how they really work, especially in conjunction with microcontrollers.
To improve our understanding, we will use a simplified schematic that models a microcontroller input-pin connected to a switch and a pull-up resistor. Then we calculate the voltages on the input-pin resulting from a closed or open switch.