While pasta is cooking, heat oil in a large skillet over low to medium heat, and sauté garlic for three minutes.
Add asparagus, oregano, and sage. Cook, stirring, for seven to nine minutes, or until asparagus reaches the desired level of softness (the more you cook it, the softer it will get).
Stir in ham.
When pasta is done, drain it, and put into a serving bowl.
Pour asparagus mixture onto penne and stir to mix thoroughly.
Serve immediately, topping with Parmesan cheese, salt, and pepper.