Put a covered stock pot of water on to boil over high heat.
Meanwhile, over low heat melt the butter in a heavy bottomed saucepan.
While butter is melting, measure out and combine the flour, salt, pepper, paprika, and dry mustard in a small dish or bowl. When butter has melted, add the flour mixture to the butter and use a whisk to combine to make your roux.
Continue whisking and slowly add the milk, whisking to combine all the ingredients. Turn up the heat slightly (don't go higher than medium-low) and whisking often, thicken the mixture. You may see occasional bubbles, and that's ok, but you do not want it to boil, just to thicken. When thickened, remove from heat and add the shredded cheese, using the whisk to combine until melted and homogenous.
Drain the macaroni (do not rinse, the starch helps the cheese stick to the noodles) and place in a large bowl. Pour cheese sauce over the macaroni and stir to coat well. Serve while hot.
Notes
Nutritional information is based off of using whole milk. You can lower the caloric value by using a lower fat milk.