cs10 / bjc-r

The Beauty and Joy of Computing public resource repository.
https://beautyjoy.github.io/bjc-r
30 stars 100 forks source link

Lab 5: Lists I #426

Open lmock opened 10 years ago

lmock commented 10 years ago

Please comment below to leave us your lab reviews! Remember, please follow this format:

Your Name:

Overview of Lab Comments: i.e. Was this lab good or bad? Too fast? Too Slow? Does it need something new?

For specific issues: (you should 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.
LithiumH commented 10 years ago

Your Name: Haojun Li

Overview of Lab Comments: Well designed. The last section discusses variables, objects, and pointers. Might be too hard to understand for cs10 students at 3 weeks of class

For specific issues:

ghost commented 10 years ago

Your Name: Anjli Shah

Overview of Lab Comments: I think this lab was definitely good. It'll probably be helpful to introduce HOF's so early on. I think as a whole, the lab was a bit too wordy and as a result some explanations got a little cloudy, so I think some editing would help! Otherwise it seems challenging enough and thorough in explaining the main concepts.

For specific issues:

msilva926 commented 10 years ago

Your Name: Melanie Silva

Overview of Lab Comments: Lab was well put together and offered useful examples to explain points. Further elaboration and style editing can be done to better the lab.

For specific issues:

numfah23 commented 10 years ago

Your Name: Natnicha Vanitchanant

Overview of Lab Comments: Overall, the lab was well designed and focused on material that are very useful (especially HOFs). However, I felt like the lab can be improved by explaining the map, keep, and combine functions in more detail and providing more examples to practice with. Specifically, it would be nice to emphasize that Higher Order Functions are functions that take in other functions as inputs (put this at the top of page instead of after the example).

For specific issues:

For specific issues:

For specific issues:

rxia752 commented 10 years ago

Rowena Xia

Overview of Lab Comments: The lab is very thorough and does well in covering a lot of good practice with lists. Any issues are minor tweaks and stylistic issues rather than any major problems. The length of the lab feels appropriate and the amount of explanation is overall very good. I would say that it might be helpful to have a small section to review what map, keep, and combine are doing from a generic standpoint, just to clarify for students, since it can be confusing.

tinatu commented 10 years ago

Your Name: Tina Tu

Overview of Lab Comments: Overall this lab was good and seems fair in terms of difficulty of problems. This lab was a bit long though, and I feel like some students would take longer than 2 hours to finish this lab. I found that some problems could use more explanation or examples, and the fact that there wasn't any link to code throughout the lab was a bit inconvenient. I feel that I did find more (minor) issues throughout this lab that with lab 4 on abstraction and testing.

For specific issues:

For specific issues:

For specific issues:

amrutayel commented 10 years ago

Amruta Yelamanchili

Overview of Lab Comments: This lab was a really good introduction to lists. Something to help improve this lab might be going a little further into how the map, keep, and combine blocks actually work. The actual definitions of these blocks might be a little too high level, but I found last semester after explaining the process of how these blocks work in just normal terms, students understood them a lot better.

For specific issues:

cycomachead commented 10 years ago

Tag #64 We really have a lot to work on here. :)

william0cheung commented 10 years ago

William Cheung

Overview: Good lab, however, HOFs can be a bit intimidating, especially this early in the semester. Lists with map, keep, and combine take a lot of practice, and this lab accomplishes that. However, one needs to be closely reading the slides in order to understand it, and for this lab, the information is presented in a lengthy manner. Students may miss out on important details. This is a shorter lab, but very dense as well. Maybe split up some slides into multiple parts for greater clarity.

erikdahlquist commented 10 years ago

Erik Dahlquist

Overview of Lab: It's a solid lab that sticks to the themes of lists and HOFs pretty well. In general the exercises are quite do-able, well varied, and satisfying, though the difficulty variation results in some difficulty spikes that may prove frustrating. While the lab does a great job explaining lists and HOFS, the large amount of text later in the lab occasionally present may deter students from properly absorbing the rather important information. Length is manageable unless a difficult problem really stalls a student.

alexrfreeman commented 10 years ago

Alex Freeman

Overview of lab: I found this to be one of the most engaging labs when I was in the class, but it took me over 3 hours to complete. I have observed this to be the case for many of the students in lab, and I a few of the more time-consuming exercises should be cut out and perhaps moved to another lab.

nish2020 commented 10 years ago

Nishchala Singhal

Overview of Lab: Overall, this is a good comprehensive introduction to lists. The lab explains the concepts well; however it still may be difficult for students to understand due to the large amount of new information. Also, instead of jumping right into using 'map', 'keep', and 'combine', I think it would be a good idea to explain what each one does, how it works, etc. Additionally, sometimes the lab explains an important concept but does not emphasize it enough, and students could easily miss it or deem it insignificant. Breaking up the sections into more pages would help.

Specific Issues

strollinghome commented 10 years ago

Carlos Flores

Overview: There was a few points that we could stress more, which have the potential to prolong students understanding. Specifically HOF's; I don't think we stress enough or at all the importance of the domain and range of each. I don't think the words domain and range were mentioned at all in the lab which causes concern since we just talked about it in discussion. Students should be thinking of the types of input and outputs each block (hof) is dealing with.

Specific issues:

tcabs17 commented 9 years ago

Tori Cabot

Overview This lab is great, overall. It was clearly worded, if not a little lengthy and dense, but necessarily so. The examples are abundant and well thought out. I especially like the section on mutation and some trip-ups that students could encounter. At least a quick explanation of what the HOF blocks do individually is warranted considering students will not have worked that much, if at all, with HOFs already.

Specific Issues Page Link: https://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/lists/hof/transforming-each-item-of-a-list.html?topic=berkeley_bjc%2Flists%2Flists-I.topic&novideo=true&noreading=true&noassingment=true&course=cs10_fa14.html&step=2 Type: word choice Severity: minor Comments: Instead of "try this", the lab should frame the problems as exercises. When you label a problem with "try this" it sounds optional and even though those specific problems might not be crucial for the total understanding of the lab, students are bound to skip past anything "optional" without even reading what comes after the header.

Page Link: https://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/lists/hof/composing-higher-order-functions-to-solve-more-complicated-problems.html?topic=berkeley_bjc%2Flists%2Flists-I.topic&novideo=true&noreading=true&noassingment=true&course=cs10_fa14.html&step=5 Type: content Severity: minor Comments: On this slide, we give students the answer to the problem they were supposed to be trying to solve. If this is because they have not worked in HOFs that much then there should be a brief explanation of HOFs so that students can actually endeavor to figure it out for themselves.

mfujimoto commented 9 years ago

Your Name: Mason Fujimoto

Overview of Lab Comments: This seems like a good lab overall. I think it is great and necessary to devote a lab to just dealing with the basics of lists as they are extremely useful in snap. One complaint in this lab is the "try this" word choice used in the exercises. I think considering that this lab is pretty early, a student might get int he habit of skipping over these exercises especially if they can get pass the lab check off. I suggest keeping only key exercises and changing the language to show the necessity of the exercise.

For specific issues: Page Link: https://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/lists/hof/combining-all-the-items-of-a-list.html?topic=berkeley_bjc%2Flists%2Flists-I.topic&novideo=true&noreading=true&noassignment=true&course=cs10_fa14.html&step=4 Type of Issue: emphasis Severity: small Comments: I really like the last example of using average and combine. Throughout the semester I explained the true nature of the combine block using similar examples. I think it would be worthwhile to stress this point about combine seeing as higher order functions are only going to be built upon later in the course. Perhaps expanding on this point or including a quiz to make sure students grasp this is necessary.

adambrown13 commented 9 years ago

Your Name: Adam Brown

Overview of Lab Comments: The lab did a great job of giving a bunch of examples that would really helped the process of learning. The lists were all comprehensive and well thought out. I thought for HOFs, more individual time could be devoted to each one, rather than quickly introducing all of them at once.

For specific issues: Page Link: https://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/lists/mutation/mutate-vars.html?topic=berkeley_bjc%2Flists%2Flists-I.topic&novideo=true&noreading=true&noassingment=true&course=cs10_fa14.html&step=9 Type of Issue: Confusing final topic Severity: Low-Moderate It's a bit of a heavy final topic to drop on the very end. I do think it is important, but it has a lot of potential to throw off students, especially students who are really striving to understand everything in the lab

judyworkman commented 9 years ago

Judy Workman Lab #5 Review-Collecting Data into Lists Overview of Lab Comments: This lab really breaks down the concepts of a list, ensuring that students understand the basics as well as more complicated features. It includes a lot of great comparisons to things they have already learned so that they can make a clear connection to help better their understanding. There are lots of great examples and practice problems to solidify the concepts and challenge students too. Perhaps, the lab could include a breakdown of all the HOF’s saying what each of them does and how they are different. For specific issues: Page Link: https://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/lists/hof/transforming-each-item-of-a-list.html?topic=berkeley_bjc%2Flists%2Flists-I.topic&novideo=true&noreading=true&noassignment=true&course=cs10_fa14.html&step=2 Type of Issue: lack of clarity Severity: minor inconvenience Comments: I think it should explain using map to add an s to the end of each word instead of saying just “do this.” Page Link: https://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/lists/hof/choosing-some-items-from-a-list.html?topic=berkeley_bjc%2Flists%2Flists-I.topic&novideo=true&noreading=true&noassignment=true&course=cs10_fa14.html&step=3 Type of Issue: lack of clarity Severity: minor inconvenience Comments: I think the “keep” block should be explained in more depth, describing how it looks through each item in a list and checks if the boolean is True and filters through the list accordingly, returning a new list that is different from the original.

jeffz6 commented 9 years ago

Your Name: Jeffrey Zhang

Overview of Lab Comments: Solid lab, but I was not a fan of the "Try this" sections. It sounds like they are optional. They also need to have more example blocks. Other labs do a better job of presenting exercises to the students.

Page Link: https://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/lists/hof/composing-higher-order-functions-to-solve-more-complicated-problems.html?topic=berkeley_bjc%2Flists%2Flists-I.topic&novideo=true&noreading=true&noassingment=true&course=cs10_fa14.html&step=5 Type of Issue: clarity Severity: minor Comments: The hint to experiment with unicode could be more strongly worded so that students know what they're looking for

Page Link: https://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/lists/hof/more-on-composition-of-higher-order-functions.html?topic=berkeley_bjc%2Flists%2Flists-I.topic&novideo=true&noreading=true&noassingment=true&course=cs10_fa14.html&step=6 Type of Issue: giving away the answer Severity: moderate Comments: Why does it just give away the answer on the next part?

melvinhernandez commented 9 years ago

Melvin Hernandez

Overview of Lab Comments: The lab was a pretty good introduction to lists. I really liked the exercises used to explain different blocks that are useful for lists. However, I thought it could have done a better job at explaining high order functions. Map, keep, and combine could have been explained a lot more detailed and explained them in a simplistic way. As some of the other lab assistants have explained, the exercises at the bottom of some of the pages when saying "try this" gives the sense that they are not necessary, so try rephrasing and implementing the exercises a little more clear.

Page Link: https://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/lists/hof/choosing-some-items-from-a-list.html?topic=berkeley_bjc/lists/lists-I.topic&step=3&novideo=true&noreading=true&noassignment=true&course=cs10_fa14.html Type of issue: Content Severity: Minor Comments: Throughout the lab, the exercises at the bottom of the page seem optional. Change "try this."

gingerengel commented 9 years ago

Name: Ginger Engel Overview of Lab Comments: I think that this lab properly goes through all of the important elements of list manipulation. It did a good job of explaining how lists are structured in Snap! I like that it introduced the idea of using higher order functions to iterate over a list. The only thing that I noticed with this lab was the pace. I felt that there were a lot of examples and a lot of concepts. Overall good lab.

maknegana commented 9 years ago

Your Name:

Overview of Lab Comments:I found this lab to be a nice practical introduction to lists. I like how the lab focused on different ways to manipulate a list. This is especially helpful for future homeworks and projects. There is a nice balance between examples and excercises(I find that the other labs lack examples).

For specific issues: https://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/lists/hof/transforming-each-item-of-a-list.html?topic=berkeley_bjc%2Flists%2Flists-I.topic&novideo=true&noreading=true&noassingment=true&course=cs10_fa14.html&step=2 Type of Issue: Lack of Clarity Severity:minor inconvenience Comments: I think a better explanation of what a function is would help clarify what inputs map can take in. Right now, it seems like the description glosses over the concepts just to simply demonstrate how map can be used.

https://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/lists/mutation/mutate-vars.html?topic=berkeley_bjc%2Flists%2Flists-I.topic&novideo=true&noreading=true&noassingment=true&course=cs10_fa14.html&step=9 Type of Issue: Topic/Lack of Clarity Severity: Minor Comments: I think it'll be better in having a description of what variables are(bottom half of page) before you ask the students to run foo. I also think a more thorough explanation of variables is needed.

joelterry commented 9 years ago

Your Name: Joel Terry

Overview of Lab Comments: This is a good lab, although it might be a good idea to introduce HOFs separately from lists, since HOFs are pretty challenging.

For specific issues: Page Link: https://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/lists/hof/what-good-are-lists.html?topic=berkeley_bjc%2Flists%2Flists-I.topic&novideo=true&noreading=true&noassignment=true&course=cs10_fa14.html&step=1 Type of Issue: Triviality Severity: Minor Comments: I wonder how many students actually did the open-ended sentence activity, if any? If nobody's doing it maybe we should scrap it, as it isn't really crucial in teaching lists?

For specific issues: Page Link: https://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/lists/hof/choosing-some-items-from-a-list.html?topic=berkeley_bjc%2Flists%2Flists-I.topic&novideo=true&noreading=true&noassignment=true&course=cs10_fa14.html&step=3 Type of Issue: Style Severity: Extremely minimal Comments: At the bottom of the page, "kite" is a darker shade than the rest of the pink words.

MicBrain commented 9 years ago

Rafayel Mkrtchyan

Overview: I strongly believe that this lab is one of the most important labs for CS10, because ideas learned from this labs are used in the whole class. Moreover, there are lot of labs, which build their ideas on content from this lab. That is the reason that I think we should pay more attention on this lab and make sure that all students understand what is going on here. The ideas from this lab were challenging for a lot of students, but thoughtfully understanding the content helped them a lot during this semester.

For specific issues: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/lists/hof/when-you-really-have-to-loop.html?topic=berkeley_bjc%2Flists%2Flists-I.topic&novideo=true&noreading=true&noassingment=true&course=cs10_fa14.html&step=7 Issue: Clarity. Comments: I remember some students had problems with this question. The hardest part I believe was the part that says " Display a longish list using time instead of space on the screen by...". For a lot of students the keywords "space" and "time" was just unclear.