Cook the penne according to the package directions, making sure the water is well salted.
In a large skillet, heat the butter and olive oil until the butter is melted.
Add the garlic to the skillet, cooking until fragrant. Stir in the asparagus, cooking for about 30 seconds.
Stir in the prosciutto, allowing to cook until it starts to turn a little darker.
Add the chicken broth, making sure to scrape the bottom of the pan.
When the pasta is finished cooking, drain but reserve about 1/2 cup of the pasta water. Toss the pasta and about 1/4 cup of the pasta water in with the other ingredients in the skillet. Make sure that the pasta looks shiny and well coated, but there is no liquid in the bottom of the pan. If it seems dry, add a little more pasta water.
Remove from the heat and toss in the Parmesan.
If you would prefer to substitute salmon for the prosciutto, simply cook two fillets of salmon your favorite way (I like to do mine in the oven), then flake into the skillet and stir carefully right before you add the cheese!