bjc-r
bjc-r copied to clipboard
14. Practice with HOFs and Functions as Data (LA Review - Sp15)
Your Name:
Overview of Lab Comments: i.e. Was this lab good or bad? Too fast? Too Slow? Does it need something new?
--- For each specific Issue (Copy this section as many times as necessary) ---
- [ ] Page Link:
Type of Issue: i.e. (code) bug, grammar, typo, lack of clarity, etc
Severity: i.e. "prevents students from continuing", "minor inconvenience", etc
Comments: Description of the problem, what can be done to fix it, etc.
- [ ] Page Link:
Type of Issue: i.e. (code) bug, grammar, typo, lack of clarity, etc
Severity: i.e. "prevents students from continuing", "minor inconvenience", etc
Comments: Description of the problem, what can be done to fix it, etc.
Name: Justin Kim Overview of the Lab comments: I really like this lab, because I remember that this took me a while, but it helped to further my knowledge of the HOF Functions. The exercises were explained well and it seemed like that many of the students with the explanation will be able to understand what exercises are supposed to accomplish. I feel like that the warm up problems should be done recursively considering it would be good practice for the students. Other than that, the lab looks ready to be tackled by some diligent students.
Page Link: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/HOFs/functions-as-data/using-call-and-run.html?topic=berkeley_bjc%2Fhofs%2Fhofs-practice.topic&course=cs10_sp15.html&noassignment&noreading&novideo
Type of Issue: Explanation Severity: Minor Comments: I feel like that the explanation for the ringified was not said very clearly. I remember that if not in this lab, but maybe another lab, that I had to ask a TA about the ringified and how to approach the problem, and he had to help me with some serious debugging. I think it's important to highlight the ringified idea and what it exactly will do to a predicate, reporter, or command.
Anusha Syed
I think this lab is a great overview on how HOFs can be used for so many different things. I think all the exercises are explained really well and all the diagrams are also extremely helpful. Each exercise is interesting and challenging, so overall this lab is great!
Page Link: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/HOFs/functions-as-data/hofs-practice-warmup.html?topic=berkeley_bjc%2Fhofs%2Fhofs-practice.topic&course=cs10_sp15.html&novideo&noreading&noassignment Type of Issue: directions Severity: minor Comments: For these first exercises, it should be stressed that they be done recursively, as they are very difficult to do with HOFs and since the entire lab is about HOFs, it might be confusing if not specified that these exclusively should be done using recursion instead.
Emily Pedersen
I think this lab does a great job of preparing students for the In-lab snap final. I especially found building the blocks for is x a factorion and pandigital useful practice. However, I felt that the Call and Run page was a bit random. I like how the concept was introduced, but in the rest of the course we never really use the call or run blocks.
Page link: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/HOFs/functions-as-data/using-call-and-run.html?topic=berkeley_bjc%2Fhofs%2Fhofs-practice.topic&novideo&noreading&noassingment&course=cs10_sp15.html Type of Issue: lack of clarity Severity: minor Comments: This page felt a bit underdeveloped and not fully explained. From my memory last semester, we never revisited the call and run blocks. I think we should either cut this page or provide more hands-on examples for students to experiment with.
Your Name: Amy Vatcha
Overview of Lab Comments: In my opinion, this is one of the most useful labs in CS10 as it has the student make plenty of blocks right after learning a specific concept. This direct application of theory helps students grasp concepts better without overwhelming the students with a lot of tasks at the end of lab.
- [ ] Page Link: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/HOFs/functions-as-data/functions-as-data.html?topic=berkeley_bjc%2Fhofs%2Fhofs-practice.topic&novideo&noreading&noassingment&course=cs10_sp15.html Type of Issue: Lack of clarity Severity: Minor Inconvenience Comments: Since this page begins by introducing HOFs as functions that take blocks as inputs etc, it should logically be the first page of the lab since it refreshes the concept of HOFs to the student and reinforces it as an alternative to iteration or recursion.
- [ ] Page Link: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/HOFs/functions-as-data/generalizing-list-all.html?topic=berkeley_bjc%2Fhofs%2Fhofs-practice.topic&novideo&noreading&noassingment&course=cs10_sp15.html Type of Issue: Lack of clarity Severity: Minor Inconvenience Comments: Abstraction is introduced at the bottom of the page. Maybe a quick link to the corresponding abstraction reading or slides from lecture or an example in a previous lab would draw a helpful parallel.
Your Name: Julia Alcaraz
Overview of Lab Comments: I found this lab to be very helpful, when I first did this lab I remember it helped clarify my thoughts on Higher Order Functions and I was able to understand them better. The lab really clarifies the purpose of Higher Order Functions and provides essential practice.
- [ ] Page Link: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/HOFs/functions-as-data/using-call-and-run.html?topic=berkeley_bjc%2Fhofs%2Fhofs-practice.topic&novideo&noreading&noassingment&course=cs10_sp15.html Type of Issue: lack of clarity Severity: minor inconvenience Comments: The part where run is introduced does not explain how it implements the command inputted. The part above that explains call blocks explains that the function is applied with the inputs provided. In my opinion an explanation similar to this would be helpful to include for run functions as well.
Your Name: Eurie Oh
Overview of Lab Comments: This lab was simple and had clear examples that allowed students to understand the point of the call, run, and compose blocks. Personally, I found it very helpful in understanding HOF's beyond just map, keep, and combine. I thought the the tree example and the "is pandigital" and "is a factorion" example were really useful in showing the motivation behind using HOF's.
Your Name: Meghna Chatterjee
Overview of Lab Comments: This lab is extremely helpful in solidifying understanding of HOFs and learning of ways to use them besides map, keep, and combine. I think perhaps having this lab before the internet lab might make more sense, as it is the last Snap! related lab. It is a bit distracting with the Internet lab and then Scratch and then another shift to Python.
Tori Cabot
I enjoyed this lab when I took the class. The warm up should be pretty straight forward and is definitely helpful for breaking down harder problems further on in the lab. In general, the explanations are concise and helpful. It seems to be one of the shorter labs as far as length but the concepts will definitely be challenging.
- [ ] Page Link: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/HOFs/functions-as-data/using-call-and-run.html?topic=berkeley_bjc%2Fhofs%2Fhofs-practice.topic&novideo&noreading&noassingment&course=cs10_sp15.html Type of Issue: clarity Severity: moderate Comments: We should add more comments into the graphic of the "homemade HOF" on this page. The block itself is quite long and could be confusing and/or overwhelming to look at.
- [ ] Page Link: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/HOFs/functions-as-data/hofs-practice-warmup.html?topic=berkeley_bjc%2Fhofs%2Fhofs-practice.topic&novideo&noreading&noassingment&course=cs10_sp15.html Type of Issue: clarity Severity: moderate Comments: We should split the blocks in the HOFs tab in the SNAP! starter file according to what slide they are in on the lab just for clarity's sake. Also, some comments inside of the SNAP! file might be visually helpful for all of these blocks. Right now, the HOFs sprite looks overwhelming.
- [ ] Page Link: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/HOFs/functions-as-data/compose-over-list.html?topic=berkeley_bjc%2Fhofs%2Fhofs-practice.topic&novideo&noreading&noassingment&course=cs10_sp15.html Type of Issue: necessity Severity: minor Comments: The compose section on the last slide of the lab seems to be tacked onto the end without a lot of explanation for practical applications beyond simple math problems. Either there should be a quick, structured exercise with compose or perhaps it can be taken out.
Your Name: Meghna Dasgupta
Overview of Lab Comments: I think this is a heavy Lab which makes it tough for students to finish it in two hours. It offers a complete review of HOFs which is helpful for students but introduces them to new concepts like call, run and compose as well as a result of which it covers a lot of material in a short span of time.
- [ ] Page Link: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/HOFs/functions-as-data/compose-over-list.html?topic=berkeley_bjc%2Fhofs%2Fhofs-practice.topic&novideo&noreading&noassingment&course=cs10_sp15.html Type of Issue: Difficulty Severity: Minor Comments: Personally, I found this portion of the lab pretty difficult and it seems like it has been forced into this lab as it does not really fit with the rest of the concepts covered in the previous part of the lab. It would help if the compose function was explained a little more in detail.
Your Name: Sean Sullivan
Overview of the Lab Comments: Overall it was a good lab, it should definitely be noted that it can be tricky to some students, and is not necessarily a huge topic on tests but students should be familiar with the subject. Lab should easily be done in 2 hours if you ask me, but to get familiar and comfortable with the new tools, students might need extra time.
Your Name: Satoko Ayabe
Overview of Lab Comments: I think this lab is very good for introducing HOFs to students. Making the students make the list of factorions, and the list of pandigitals, and making them define a HOF is really effective in my opinion. I also saw that this semester, there's a page dedicated to how the grey ring works (http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/HOFs/functions-as-data/using-call-and-run.html?topic=berkeley_bjc%2Fhofs%2Fhofs-practice.topic&novideo&noreading&noassingment&course=cs10_sp15.html). I don't think this was there last year (?), and I thought this really helps later on in the lab when students have to test out their minimum and compose blocks
- [ ] Page Link: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/HOFs/functions-as-data/compose-over-list.html?topic=berkeley_bjc%2Fhofs%2Fhofs-practice.topic&novideo&noreading&noassingment&course=cs10_sp15.html Type of Issue: i.e. lack of clarity Severity: i.e. minor inconvenience Comments: I remember the compose question from last semester, and I remembered that it didn't work because the grey ring had to be removed for some of the blocks. I think this could be a reminder/hint for students. I just remember that I spent forever and struggled a lot on this specific question, so it's just a suggestion.
Your Name: Jesse Luo
Overview of Lab Comments: I think this does a good job of helping understand how functions can be used as data and also object oriented programming by showing how you can simplify things into classes so that they can be reused. I think this helps with abstraction and a general approach of learning how to simplify things. One part that confused me last year was the ringification part, I think there could be more about that. I felt that by the end it's understandable but at first it can be a bit intimidating and could possibly turn off people from going through the lab carefully.
Your Name: Daniel Duazo
Overview of Lab Comments: This lab does a really good job explaining how higher order functions work. It can get confusing for some since it is a lot of information to digest, but with practice, assistance, and further explanation, I think all the students should be able to understand this lab. The warmup at the beginning of the lab is also a good benchmark to make sure the students are up to level (as if they can't solve the blocks, they should speak with a TA after class). In terms of length, I think it is an appropriate pace for a 2 hour lab. I feel like many students will have questions for the lab assistants during this lab because it involves a lot of conceptual thinking to understand what's going on.
Yifat Amir
Overview of Lab Comments: I think this lab is very fun and even empowering! I think it walks the student through the steps thoroughly and in proper sequence. Not too much constructive feedback to give, honestly.
- [ ] Page Link: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/HOFs/functions-as-data/hofs-practice-warmup.html?topic=berkeley_bjc%2Fhofs%2Fhofs-practice.topic&novideo&noreading&noassingment&course=cs10_sp15.html Type of Issue: typo Severity: distracting Comments: in the first line, "HOFs" should be changed to "HOF" (x2)
- [ ] Page Link: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/HOFs/functions-as-data/using-call-and-run.html?topic=berkeley_bjc%2Fhofs%2Fhofs-practice.topic&novideo&noreading&noassingment&course=cs10_sp15.html Type of Issue: lack of clarity Severity: minor inconvenience Comments: The sentence "We can even use call on variables and list items!" could be more clearly written so as to directly relate to the examples given afterwards.
- [ ] Page Link: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/HOFs/functions-as-data/compose-over-list.html?topic=berkeley_bjc%2Fhofs%2Fhofs-practice.topic&novideo&noreading&noassingment&course=cs10_sp15.html Type of Issue: lack of clarity Severity: minor inconvenience Comments: "edit the compose block" at the bottom of the page could be reworded to be clearer.
Your Name: Liza Praprotnik
Overview of Lab Comments: I think this lab is a great way of combining much of what students have learned in lab so far. The warmup section is a good review and introduction to the lab. The explanations on how to use higher-order functions in Snap are also clear and easy to understand. However, the practice problems are pretty challenging and so the lab overall might be a little too long to finish in lab.
- [ ] Page Link: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/HOFs/functions-as-data/using-call-and-run.html?topic=berkeley_bjc%2Fhofs%2Fhofs-practice.topic&novideo&noreading&noassingment&course=cs10_sp15.html Type of Issue: clarity Severity: moderate Comments: This page is a little confusing because it's not very clear on when to use call and run blocks and when to not. In my semester, I don't remember ever using call and run after this lab. I think the page should give more examples on when call and run are useful.
Your Name: Maya Angelica Hernandez
Overview of Lab Comments: One of my favorite labs taking CS10 and still enjoyable to do today. Excellent preparation for the in lab final. The call and run stuff is pretty strange at first, after taking more CS classes it's intentions are clearer so I'm not sure if the explanations for these are clear because I know more now or because they are written clearly. I do remember being intimidated by them when first taking the class though. Also, good to warn students that it may take a while for their functions such as is pandigital to run and to wait patiently for it to finish running.
--- For each specific Issue (Copy this section as many times as necessary) ---
- [ ] Page Link: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/HOFs/functions-as-data/generalizing-list-all.html?topic=berkeley_bjc%2Fhofs%2Fhofs-practice.topic&novideo&noreading&noassingment&course=cs10_sp15.html Type of Issue: lack of clarity Severity: Why is the lambda symbol next to pred when we open the list all block? After taking 61a this makes more sense but seeing it here for the first time is a bit strange.
Your Name:
Overview of Lab Comments:
I liked this lab in general. I think an interesting task to add to the lab would be for students to recreate the HOF's they are already familiar with such as "keep", "map", and "combine". Using the new information on how to create their own HOF's blocks with HOF's they already intuitively understand the function of could go a long way towards aiding comprehension.
--- For each specific Issue (Copy this section as many times as necessary) ---
- [ ] Page Link: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/HOFs/functions-as-data/using-call-and-run.html?topic=berkeley_bjc%2Fhofs%2Fhofs-practice.topic&novideo&noreading&noassingment&course=cs10_sp15.html Type of Issue: lack of clarity.
Severity: Possible hurdle
Comments: This is the only part of the lab in which there is an example where students can see the "HOF" part of the function as a variable inside the function itself. It is a little confusing as it lacks the grey border that is visible on the outside which is aesthetically confusing. I think the other examples could also benefit from giving some skeleton code where the HOF portion of the code is represented this way, as I personally had to go back to this page to remember what the HOF variables actually look like inside the HOF blocks themselves.
Your Name: Mason Fujimoto
Overview of Lab Comments: I thought this was a good lab even though it is difficult. Using functions as data introduces lots of new syntax and new ways of thinking. I felt as though the difficulty comes in trying to think of new ways to solve problems (e.g. no recursion or loops). Hopefully this is something that is talked about in lecture and discussion section as it can be difficult to work through on your own (though not impossible). I think that if this lab proves to be excessively long, the minimize exercise could be removed.
--- For each specific Issue (Copy this section as many times as necessary) ---
- [ ] Page Link: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/HOFs/functions-as-data/generalizing-list-all.html?topic=berkeley_bjc%2Fhofs%2Fhofs-practice.topic&novideo&noreading&noassingment&course=cs10_sp15.html
Type of Issue: clarity
Severity: minor
Comments: The generalized keep in range function has the hint "Hint: when writing the block below, call will be quite useful." I thought the most straight forward solution (see below) does not involve a call. Perhaps I am misreading the question. If not I think this hint should be removed as it is confusing.
Jesse Moore
Overview of Lab Comments: Very helpful lab for students using CS10 as a gateway into other programming classes. I recognized a lot of very important concepts that will be covered in-depth in CS61a. While I personally have no problem with the heavy emphasis on math in this lab, I fear that some students may intimidated by it and fail to complete the lab punctually and without an excess of stress. Furthermore, certain blocks were introduced in this lab that were not really explained in depth like the gray ring.
http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/HOFs/functions-as-data/using-call-and-run.html?topic=berkeley_bjc%2Fhofs%2Fhofs-practice.topic&novideo&noreading&noassingment&course=cs10_sp15.html type of issue: lack of clarity severity: minor comments: For the execution of the call block, I think that it would be helpful to clarify the importance of the order in which values are entered into the block. For a function that is not commutative, this could lead to some problems. While the example implies that it is simply entered from left to right, it should be explicitly stated.
http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/HOFs/functions-as-data/minimize-function.html?topic=berkeley_bjc%2Fhofs%2Fhofs-practice.topic&novideo&noreading&noassingment&course=cs10_sp15.html type of issue: lack of clarity issue: tricky math comments: Having taken classes on numerical analysis, finding the minimum of a function can be very difficult analytically and I think that a hint should be given on how to start the process. For me at least, my mind when immediately to loops for the solution instead of HOFS. Perhaps a hint that will help them think about the solution using HOFS.
Arielle Spencer
Overview: This lab is helpful but hard, especially conceptually difficult! Great preparation for later classes and good relating the concepts to other uses (i.e. calculus and engineering). There's a lot to do, it took me a while, but overall should be good.
Specific problems: Multiple pages lack of clarity The grey ring is used without being well explained and I know it gave me a ton of problems when I did this lab as a student.
http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/HOFs/functions-as-data/using-call-and-run.html?topic=berkeley_bjc%2Fhofs%2Fhofs-practice.topic&novideo&noreading&noassingment&course=cs10_sp15.html lack of clarity The call and run blocks are explained but it's hard to transfer that into how and when to use them.
multiple pages difficulty may of the blocks students are asked to make are conceptually very hard and it might be helpful and less intimidating if there was a little more explanation or hints about how to think of the problem or how to start, particularly because this is a pretty math intensive lab and those students not comfortable with higher math might be discouraged by that.
Your Name: Omar Buenrostro
Overview of Lab Comments: This lab does a great job at introducing the concept of using functions as data. Although considering functions as data is a new and definitely tricky thought for some people, the power HOF's create with abstraction is an invaluable new idea with many possible applications. Forcing students to solve problems with HOF's instead of recursion or iteration is difficult, but rewarding when one realizes how much less lines of code you wrote if you had rather used recursion or loops. The call and run blocks were definitely confusing and the concept of ringifying and unringifiying functions went right over my head several times, so a better explanation placing a reminder about the grey ring on the last page of the lab might be useful. Overall, this lab feels like it ran at a good pace.
Your Name: Jessica Larson
Overview of Lab Comments: This lab was fine, not one of my favorites, as I think HOFs unnecessarily complicate things.
--- For each specific Issue (Copy this section as many times as necessary) ---
- [ ] Page Link: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/HOFs/functions-as-data/functions-as-data.html?topic=berkeley_bjc%2Fhofs%2Fhofs-practice.topic&novideo&noreading&noassingment&course=cs10_sp15.html Type of Issue: missing information Severity: minor inconvenience Comments: It is easier to right click and "ringify" rather than searching for the block. This takes time, and is one of the most annoying things about snap!
Your Name: Rishabh Wason
Overview of Lab Comments: I feel like this lab is an effective lab but it has a lot of information for the students to absorb. It teaches the material well but I think that the information is very dense and could possibly be broken down.
Page Link: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/HOFs/functions-as-data/functions-as-data.html?topic=berkeley_bjc%2Fhofs%2Fhofs-practice.topic&novideo&noreading&noassingment&course=cs10_sp15.html Type: clarity Severity: minor Comments: When I first personally learned about the grey border as ringify it was very confusing. I feel like the text could be worded better for clarity.
Your name: Miguel Ugalde
Overview of Lab Comments: I particularly enjoyed this lab. I think the most pleasant labs are the ones that have a lot of pictures of the codes, step by step. I noticed with this lab, more so than others, makes an effort to very slowly move from one example to another. This is an important concept for the next cs class and something they just jump right into. One that maybe is a concern is the amount of math in this lab but that is something that each individual student can get further help with since some people are at different points.
Caroline Kim
Overview of Lab Comments: The pros of the lab are that there are a lot of practices and visualized explanations of the concepts throughout the lab. As the topic is a little difficult, the lab lists the different steps that the students need to take to solve a bigger problems, but does not give the answers away. It seems nice that there are a lot of opportunities for the students to practice the concepts and learn through experimenting.
--- For each specific Issue (Copy this section as many times as necessary) ---
- [ ] Page Link: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/HOFs/functions-as-data/using-call-and-run.html?topic=berkeley_bjc%2Fhofs%2Fhofs-practice.topic&novideo&noreading&noassingment&course=cs10_sp15.html Type of Issue: Lack of clarity Severity: Minor inconvenience Comments: For better understanding, it would be nice to describe what "call functions-as-data with ..." and "call item 2 of list of functions with ..." returns or does. The first example on this page (call () - () with inputs (5)(2) means the same things as (5)-(2)) clarifies the idea, and so doing this with the other two would be helpful.
Elizabeth Steger
Overview: This is such an important lab for getting students' knowledge of HOFs to really click. I really think the step-by-step instructions for the exercises are nice, as well as the way this lab is separated out in sprites in the starter-file and the comments work well. Although I don't think the lab should be overwhelming, it does sometimes seem like the mass amount of functions to fill out confuses students, but at the same time I think with some focus and time this lab is easy to understand.
Page Link: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/HOFs/functions-as-data/generalizing-list-all.html?topic=berkeley_bjc%2Fhofs%2Fhofs-practice.topic&novideo&noreading&noassingment&course=cs10_sp15.html Issue: Slightly Confusing Severity: Minor Comments: I think it would be nice to tell the students to head back to the HOFs sprite to find the layout of the blocks being discussed, otherwise they might be confused as to where to go to see these blocks or try to implement the "list all numbers with property: " block from scratch or taking it from the sidebar (which is definitely okay, but not ideal since we have it cleanly put out for them like the rest of the exercises).
Page Link: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/HOFs/functions-as-data/minimize-function.html?topic=berkeley_bjc%2Fhofs%2Fhofs-practice.topic&novideo&noreading&noassingment&course=cs10_sp15.html Issue: Another example could be helpful Severity: Minor Comments: I think this task is a little daunting at first because the example given is good for checking functionality but not great at explaining what we want the block to do. I think another simpler example would be really useful (such as just a mod 7 function over 1 - 10 or something).
Your Name: Morgan Ewing
Overview of Lab Comments: I think this is a very challenging lab but I think it helps the students learn a lot about HOFs, functions as data, and abstraction. I think that most of the blocks will take students a lot of time to code but they should still be manageable with assistance. The information presented on the Functions as Data page may be pretty confusing when first introduced but I think the practice examples and problems make it clearer. The last two pages are the most challenging, in my opinion, and I think there should be more hints on how to build the blocks on these pages.
- [ ] Page Link: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/HOFs/functions-as-data/using-call-and-run.html?topic=berkeley_bjc%2Fhofs%2Fhofs-practice.topic&novideo&noreading&noassingment&course=cs10_sp15.html Type of Issue: lack of clarity Severity: minor inconvenience Comments: Creating your own function which draws a tree does not seem to be the most important part of this lab so I think there should be a note which tells students not to spend too much time on it in order to make sure they finish the lab.
Your Name: Soham Kudtarkar
Overview of Lab Comments: I recall this lab being very fun to reason out when I was taking the course! I find the rigorousness of this lab to be slightly less than that of some of the other labs, but I still found this lab to be useful for practice with HOFs. There were some parts of this lab that seemed a bit disjointed in terms of organization, as explained in the issues below. Except for this organizational issue, I found this lab to be effectively instructive and fun to do.
- [ ] Page Link: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/HOFs/functions-as-data/factorions.html?topic=berkeley_bjc%2Fhofs%2Fhofs-practice.topic&novideo&noreading&noassingment&course=cs10_sp15.html Type of Issue: lack of clarity Severity: i.e. minor inconvenience Comments: The factorion and pandigital problems are essentially checksums that the student has to find, but the word "checksum" is not mentioned anywhere in the lab. I would have been easier for me to conceptualize the problem had I known that a checksum was the final result that I was looking for.
- [ ] Page Link: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/HOFs/functions-as-data/pandigital-numbers.html?topic=berkeley_bjc%2Fhofs%2Fhofs-practice.topic&novideo&noreading&noassingment&course=cs10_sp15.html Type of Issue: organization Severity: i.e. minor inconvenience Comments: The pandigital problem is much like the factorion problem, but it is given two pages after the factorion problem. It would make more sense to give these similar problems in sequence rather than use them to sandwich another concept.
Your Name: Anjli Shah
Overview of Lab Comments: Overall I thought this was a great lab to practice more with HOFs. I really liked how their was a warm-up at the start that encouraged students to try problems in different ways. This was one of my favorite labs when I took CS10 and I think it does a wonderful job about transitioning and introducing Functions As Data.
Page Link: http://bjc.berkeley.edu/bjc-r/cur/programming/HOFs/functions-as-data/using-call-and-run.html?topic=berkeley_bjc%2Fhofs%2Fhofs-practice.topic&course=cs10_sp15.html&novideo&noreading&noassignment Type of Issue: Lack of clarity Severity: i.e. Minor Inconvenience Comments: It may be clearer to tell the student that the list of functions list refers to the list created on the previous page. This way they can go back and check, for example, what item 2 of the list actually is and check their understanding.
Page Link: http://bjc.berkeley.edu/bjc-r/cur/programming/HOFs/functions-as-data/pandigital-numbers.html?topic=berkeley_bjc%2Fhofs%2Fhofs-practice.topic&course=cs10_sp15.html&novideo&noreading&noassignment Type of Issue: Organizational Severity: Minor Inconvenience Comments: It may make more sense to put the pandigital section before the Functions as Data section or put the latter last so that all the normal HOF problems are together. This way when we generalize the list all numbers between block we haven't jumped from one section to another back to the first and then back to the other.
Additional Comments! Sorry! Elizabeth Steger
Page Link: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/HOFs/functions-as-data/factorions.html?topic=berkeley_bjc%2Fhofs%2Fhofs-practice.topic&novideo&noreading&noassingment&course=cs10_sp15.html Issue: Worries students Severity: Minor to Moderate Comments: I noticed today in lab, practically every student was worried about why the list all factorions block 1 to 150 took so long. I earlier thought this might just be a problem on my home computer, but it takes about a full minute or more on the lab computers as well. I think a brief warning that if the block takes a long time it is likely not their fault (or even a suggestion to start smaller to make sure it works (1 to 5 should report [1, 2])) would be very helpful.