In a stockpot, bring 4 quarts of water to a boil. Cook fettuccine in the boiling water according to package directions or until it is tender but still firm to the bite. (Cook fresh pasta at the end of step 3.)
Meanwhile, in a large skillet, melt butter over moderate heat. Add ham and saute until lightly browned, about 2 to 3 minutes. Stir in flour until well mixed. Gradually stir in milk until well blended. Bring the sauce to a boil, stirring constantly.
Reduce the heat to low; stir in cream. Heat the sauce until just hot, but not boiling, about 1 minute. Stir cheese into sauce until smooth. Season the sauce with salt and pepper.
Drain the pasta thoroughly and transfer it to a serving dish. Top the fettuccine with the ham sauce and additional Parmesan cheese, if desired, and toss gently. Serve immediately.