Cook the fettuccine according to package directions. Meanwhile, in a large saucepan, bring 4 cups water to a boil; add asparagus. Cover and cook for 3 minutes. Drain and immediately place in ice water; drain and set aside. In a skillet, saute the ham, walnuts, onion, sage and pepper in oil until onion is tender. Add asparagus; cook and stir for 1 minute. Drain fettuccine; toss with ham mixture. Sprinkle with cheese.