RunestoneInteractive / fopp

Foundations of Python Programming
https://runestone.academy/runestone/static/fopp/index.html
38 stars 120 forks source link

pp2_10_1 may be too complicated for chapter 2 #110

Closed bnmnetp closed 1 year ago

bnmnetp commented 6 years ago

Describe the bug In the early going of the semester a lot of students (and professors) are having a really hard time getting this right. Its pretty long and complicated for so early in the semester.

I added a showeval of a somewhat simpler problem, which I apologize for pushing directly to master @presnick and @laumurph . If you hate it we can always make a new PR to change it.

I think having the showeval first will probably alleviate some of the pressure on this one, but I also wondered if this was moved here from a much later chapter.

pearcej commented 1 year ago

I agree that pp2_10_1 is too complicated. With 11 Parsons' puzzle pieces to organize, there are a very, very large number of possible orderings. In fact I came here because I am using the fopp-PIE text, and I wondered if pp2_10_1 was also in chapter 2 of fopp.

I do think that Activity: 2.10.7 ShowEval helps some, but not completely. What additionally concerns me about this Parsons' problem is that what actually happened is that when the functions were defined way up in Activity: 2.10.5 ActiveCode (ac2_10_4) those function identifiers were added to the globals list which is, of course, not something one would want to say in chapter 2 of a book for novice programmers.

Hence, I think such a complicated example would benefit from the addition of two things before it:

  1. Text that describes what happens when a function object is "looked up" because as it is students have to guess, and it might be when it is first scanned or just before it is actually used, but that is not explained.
  2. A much smaller Parson's problem example that has far fewer steps.

I would love to hear your thoughts, @presnick and @laumurph.