Pullup & Pulldown resistors are used in logic circuits to ensure that a particular pin(or logic gate) is put at a well-defined state ie) at high & low respectively. If it’s not connected in a pullup or pulldown mode, the particular pin can be in a floating state and it can be read as either a high or a low, at any instant of time, in the absence of a signal. Refer to the image on how you would wire up in these modes.
The selection of these resistors is not that tricky for normal operations. The things to consider are the amount of current which can be sourced or sunk from a particular pin. A strong pullup means that the resistor value is small(Means larger current, more power dissipation/wastage) making the “pull” to the supply stronger. Nomenclature is reversed on that one. Strong means lower resistance and a weak pull-up means a larger resistance. The ideal chosen pullup resistance value is the one that takes the minimum current to maintain its high logic state. Usually, most people randomly choose a resistance in the 1k-10k ohm range and it works for most use cases. But ideally, you need to calculate it based on the minimum current required and minimum recognisable logic gate voltage. I will get to that in a future post. This becomes really critical in some use cases like high-speed I2C where the communication bus capacitance also starts playing a role in selection.