roommate: an associate who shares a room with you
causal agent: any entity that produces an effect or is responsible for events or results
programming: creating a sequence of instructions to enable the computer to do something