Thanks for taking the time to suggest improvements to the final Challenge problem in Lesson 2 of the SAS® Programming 2 course!
Question 2 reads: "How many rows are in the singlestate table?"
I personally feel that adding a PROC FREQ step to the solutions to question 2 is inefficient. The PROC FREQ output itself doesn't provide an easy answer to the question, and if you're using the row count reported in the log for PROC FREQ, it's the same as that reported in the log after the DATA step finished processing - so it's just as easy, and more efficient, to grab it from the DATA step log.
Question 3 reads: "In the multistate table, in which two states does the Hovenweep NM value appear for ParkName?"
And I really like your suggested addition for the question #3 solution. Using PROC PRINT with a WHERE clause is a nice programmatic approach and avoids having to page through the data in the viewer while searching visually for the answer.
Have fun with the rest of the course!
Mark