cs10 / bjc-r

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

7. Algorithmic Complexity (LA Review - Sp15) #519

Open lmock opened 9 years ago

lmock commented 9 years ago
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.
tcabs17 commented 9 years ago

Tori Cabot

I like the clarity of the lab as an introduction to run time. There is a lot of text but not a lot to break it up. I thought the self tests were good and to help with the amount of text we could add a couple more quizzes. I also liked the additional links to "earlier in the lab" and "two labs ago". It makes it easier for students to return to concepts that they might be shaky on. I did feel like the lab gives a lot away. Students could potentially just click through the lab without doing any thinking. The first three slides are also a little disjointed and lack transitions.

amy97 commented 9 years ago

Your Name: Amy Vatcha

Overview of Lab Comments:

mikomwang commented 9 years ago

Your Name: Michael Wang

Overview of Lab Comments: Though this lab was pretty clear in explaining run-time, I think including more examples of coding questions would prepare them more for test-related questions. For example, run-time on testing were mainly concerned with nested for loops, so it might be good to give them an introduction to that here. Also, there is a lot of reading, which I think could definitely use some balancing with images.

mfujimoto commented 9 years ago

Your Name: Mason Fujimoto

Overview of Lab Comments: I like this lab as it allows students to take a break from just solving problems to understand the processes they create in their solutions. I feel like these concepts are very important for understanding environments in later cs classes. I like how this lab also hints at how to make a slow program faster which may be necessary for some student's projects. My only complaint is that the evil hangman homework prompt is part of the lab when I feel it is unrelated.

--- For each specific Issue (Copy this section as many times as necessary) ---

jesslarson commented 9 years ago

Your Name: Jessica Larson

Overview of Lab Comments: I like this lab, I agree that the random homework page at the end was kinda weird.

--- For each specific Issue (Copy this section as many times as necessary) ---

lizapraprotnik commented 9 years ago

Liza Praprotnik

I think that this lab provides a great introduction to runtime. At the end of the lab, I would add a graph or chart comparing the runtimes discussed in the lab. I'd also add a few more examples of code for each runtime.

Page Link: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/projects/hangman/evil-hangman.html?topic=berkeley_bjc%2Fareas%2Falgorithm-complexity.topic&novideo&noreading&noassingment&course=cs10_sp15.html Type of Issue: image not showing Severity: minor Under the Tips and Thoughts section, the image is replaced by "Yeah, we don't have that image right there."

yifatamir commented 9 years ago

Yifat Amir

Overview of Lab Comments: I think that this lab is really interesting and eye-opening! It definitely demonstrates the creativity involved in problem-solving. Also the intro activities definitely make the content more approachable and concrete. The content is good, but it could use some more images since right now it's pretty plain. Symbolic images of run time could be very cool!

rwason commented 9 years ago

image

lmock commented 9 years ago

@rwason can you not upload images of your comments? we can't click on the links or mark them as completed when we go through all your comments if they're stuck as images. thanks!

juliaalcaraz commented 9 years ago

Your Name: Julia Alcaraz

Overview of Lab Comments: I like this lab because its different from all other labs. Instead of teaching the students about ways of coding it teaches them other important concepts. The reading for the lab is kind of a lot though, and I agree that it could use more pictures so that the students will be discouraged to skip through the content.

eurieoh commented 9 years ago

Your Name: Eurie Oh

Overview of Lab Comments: I think that this lab was a great way to introduce run-time. But I do agree with the others that maybe adding more visuals would help with reading the entire lab.

carolinekim commented 9 years ago

Your Name: Caroline Kim

Overview of Lab Comments: The topic of algorithmic complexity is not the easiest concepts to grasp. The lab however gives the students a detailed explanation (with examples) and the chances to try out different codes to identify the specific runtime of certain blocks. Even though more explanations of some of the runtimes could be added, the lab is successful in teaching the students the basic concepts of algorithmic complexity.

--- For each specific Issue (Copy this section as many times as necessary) ---

sayabe commented 9 years ago

Your Name: Satoko Ayabe

Overview of Lab Comments: I thought that the lab was really helpful for teaching algorithmic complexity to students (it can get really complicated). However, I think adding images/GIFs could help students understand better (just a suggestion). Also, I think that students won't be able to understand algorithmic complexity perfectly just by going through this lab once. I think it could be emphasized that this topic is complicated, and it's ok/ it is encouraged to ask your TAs a lot of questions during the following discussion section.

ArielleSpencer commented 9 years ago

Name: Arielle Spencer

Overview: Lots of big concepts but explained well and very thoroughly. The exercises are on the hard side but definitely do-able. Perhaps more specific examples or visuals would help a bit. I thought the lab was overall pretty good.

The only problem I found (the Adding 1 to 1000) has been already addressed above so I don't have any specific problems!

Omarb62 commented 9 years ago

Your Name: Omar Buenrostro

Overview of Lab Comments: Overall, I feel this lab serves as a good introduction to algorithm complexity. A majority of this lab was just reading which made the lab shorter in general, but the lack of problems may allow the information to just fly over a person's head. As a result, this lab felt like it was lacking interaction. Adding one or two more check-up questions somewhere in the lab might help the student become more engaged.

knmcgauley commented 9 years ago

Your Name: Katherine McGauley

Overview of Lab Comments: I found the page I left links for below a bit confusing (I think some simple changes could be made to update it and make it more clear), but overall, I thought this was a well-paced introduction to algorithmic complexity analysis. There are several pages of blocks of text, which I think could be brightened up with some pictures or quiz questions, but overall, I think the examples were helpful and well explained.

Hungukaroo commented 9 years ago

Elizabeth Steger

Overview: I think this is a great lab for understanding a bit more about the importance of efficient algorithms. It's also a great opportunity to see the consequences of handling large data. I found this lab a little bare on the pages, and although I know there aren't many scripts we need to show them, a break from the text could be more engaging. I do really like how the lab transitions to the homework, as algorithms are vital for Evil (Snow?)Hangman.

Page Link: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/algorithms/timing/do-you-have-time-to-add.html?topic=berkeley_bjc%2Fareas%2Falgorithm-complexity.topic&novideo&noreading&noassingment&course=cs10_sp15.html

Issue: Opportunity to make their lives easier Severity: Extremeley minor Comments: I think that telling them to continuously run the program by clicking on it makes sense because we want them to know not to put it in a repeat block, but I think it would be better to encourage them to link it with a key (when __ key pressed) just to make their lives easier. I suppose they could do it themselves, but they shouldn't think it's the incorrect way to do it, either. Also sometimes repeatedly clicking in snap! gets very frustrating.

Page Link: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/algorithms/timing/quadratic-time.html?topic=berkeley_bjc%2Fareas%2Falgorithm-complexity.topic&novideo&noreading&noassingment&course=cs10_sp15.html

Issue: Explanation could be better? Severity: Minor Comments: I think the best way to understand different run times is to visualize them with graphs. I think the textual descriptions are well done, but a nice big graph comparing the run-times and proving how quickly quadratic shoots up compared to constant would be great.

thomaslee4 commented 9 years ago

Your Name: Thomas Lee

Overview of Lab Comments: I think that is lab has a lot of room for improvement. From a content perspective, I think the lab should spend more time conveying the idea that runtime isn't based off of a stopwatch, but rather the number of steps a computer has to take in executing code. Most of the lab focused on students attempting to use Snap! to time runtime, when I think that students should be more focused on the number of steps that are run through in order to execute code. In terms of style, I thought that the lab was extremely text-heavy and could use some more interactive examples. Perhaps animations would be a good addition to help explain some of the runtime concepts, rather than just reading though several paragraph

Meghna15 commented 9 years ago

Your Name:Meghna Dasgupta

Overview of Lab Comments: The lab this week was fairly paced however it was a little text-heavy. I think some of the slides (defining the different runtimes) should use tables or bullet points to make it clearer. Also it may be useful to define runtime in the beginning of the lab as the number of steps the computer takes while performing a certain function. Another suggestion I had was that we can include a table with the different runtimes, examples of each etc. at the end of the lab to make it more concise.

anushasyed commented 9 years ago

Name: Anusha Syed

Overview: All the concepts are explained thoroughly and backed with some really helpful examples. Perhaps the concepts could be even easier to understand if there were more diagrams and more examples of each type of run time. The timer exercise with the Gauss/Non-Gauss count numbers I think was really helpful in understanding that linear time is less efficient than constant time, however I do agree there should be some type of visual to show that this is because more steps are being executed as the length of the list of numbers gets larger. In addition, to ensure that the students really understand complexity, I think there should be a few more quiz questions between the exercises.

michen-ml commented 9 years ago

Michelle Chen

Overview: The lab is pretty clear on the concept of run-time. It's a little text-heavy, and I think some of the concepts could be more direct instead of using a bunch of examples until finally getting to the point of run-time. I think in the future, some example problems such as "determine the run-time of this block" could be helpful for students to use the content learned in the lab in a practical setting. Otherwise, it's a well-placed lab and pretty easy to understand

william0cheung commented 9 years ago

William Cheung

Overview: This lab was effective in giving good examples of runtime. I like the quiz on the eighth page to check to see if the student is paying attention. Maybe implement a few more during the lengthy and wordy pages as well. Also this lab requires lots of reading and not much coding. Algorithmic complexity is an important concept but students at this time may not know why it is being introduced. Especially when introducing the Evil Hangman homework, this lab doesn't really lead up to it. All in all, this is a pretty well-organized and should be easy to follow.

Specific Issues: Page Link: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/algorithms/timing/constant-time.html?topic=berkeley_bjc%2Fareas%2Falgorithm-complexity.topic&novideo&noreading&noassingment&course=cs10_sp15.html Type: wordy Severity: aesthetics Comments: Lots of text, maybe screenshots would make this page look better.

Justin-Kim72 commented 9 years ago

Justin Kim

Overview of the Lab comments: The concept of runtime can be difficult to understand and even thought reading through this lab is really long, I feel like it is necessary in order to understand runtime better. I would of liked it if there was a lot of realistic situation questions. Also, it would be nice if there was also SNAP! code runtime questions, because that's what the midterms are going to test you on, so introducing the students to both realistic and SNAP! code runtime would be beneficial. It was a good lab.

nzoghb commented 9 years ago

Your Name: Nicolas Zoghb

Overview of Lab Comments: a not-so-challenging lab in terms of coding, it allows the student to take a break to just understand the concept being provided. Some pages were, however, a little on the dry side with too much text clogging up parts of the screen.

morganewing commented 9 years ago

Your Name: Morgan Ewing

Overview of Lab Comments: Overall, I think this lab is pretty conceptually challenging but a good introduction to algorithm runtimes. I think it’s helpful that the students are told to guess how long an algorithm will take or try it out for themselves before they are told what the runtime is. The only thing I would add to this lab is something at the end which provides and overview of all of the runtimes presented with tables like the quadratic runtime table.

Type of Issue: Incorrect image

Severity: minor inconvenience

Comments: Shows an image which says "Yeah, we don't have that image." so there is something else that is probably supposed to go there.

janicechui commented 9 years ago

Janice Chui

Concepts are easy to follow, but there could be more clarification in terms of the differences between each kind of running time.

presented with tables like the quadratic runtime table.

Page Link:http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/algorithms/timing/constant-time.html?topic=berkeley_bjc%2Fareas%2Falgorithm-complexity.topic&novideo&noreading&noassingment&course=cs10_sp15.html

Type of Issue: a little wordy

Severity: minor

Comments: Too much text for explaining the easiest type of running time. I feel like the proportion of explanation can focus more on the harder types like logarithmic and quadratic.

18epedersen commented 9 years ago

Your Name: Emily Pedersen

Overview of Lab Comments: This lab clearly demonstrates the difference between run-times. I like the example of gauss vs. non-gauss because I think it shows the different because a constant run time and a linear run time really well. However, I think this lab is a lot of explaining, and not enough doing. I lot of the tabs is just reading, and I think that students may just read without completely absorbing the information as if they were to with an applications problem.

JiazhenChen commented 9 years ago

Your Name: Jiazhen Chen

Overview of Lab Comments: I think this one is a pretty good and clear lab. It gives the students a clear demonstration and explanation about different running times. One thing that can be improved is that some important words or sentences could be highlighted (like use another color or larger font?). So that students can find the emphasis immediately. Also, I feel like it would be better if we have a conclusion page that contains and compares all the running time we've mentioned at the end of the lab. A table will be really nice and direct.

--- For each specific Issue (Copy this section as many times as necessary) ---

danielduazo commented 9 years ago

Your Name: Daniel Duazo

Overview of Lab Comments: I liked the anecdote with Gauss at the beginning of the lab. The "competition" to see which method is faster (Gauss's or manually adding) is a good introduction to run time

--- For each specific Issue (Copy this section as many times as necessary) ---

Rshahatit commented 9 years ago

Your Name: Rami Shahatit

Overview of Lab Comments: To this day I still have a hard time understanding run time. but i think this lab does a good job in explaining how there is a difference between the amount of time and run time of a program. I think after this lab they will be ready to determine the run time of programs.

--- For each specific Issue ---

siyingwang commented 9 years ago

Your Name: Siying Wang

Overview of Lab Comments: This lab has many readings without diagrams and pictures. It probably will be little bored for students to read all of these information. It is good at explaining the tun time of programs.

--- For each specific Issue (Copy this section as many times as necessary) ---

soham14 commented 9 years ago

Your Name: Soham Kudtarkar

Overview of Lab Comments: This lab was very informative! I found that there was a lot of reading that had to be done to understand the concepts, but the pace and content were manageable for the most part. Given that these are difficult concepts to wrap one's head around, I would suggest including more visuals and practical examples. Overall, it was a very well-written and instructive lab.

benlsmith commented 9 years ago

Your Name: Benjamin Smith

Overview of Lab Comments: I really liked the way that this lab was set up in a way that teaches students concepts of programming. Rather than telling them the ways that they code, this lab let students think in the mind of some one coding in order to complete the lab. My biggest problem was the wordiness of the lab. I know that most of the writing had to be there in order to bring across the concepts, however maybe adding some graphics would let students be less inclined to skip the wordier sections.

Page Link: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/algorithms/timing/constant-time.html?topic=berkeley_bjc%2Fareas%2Falgorithm-complexity.topic&novideo&noreading&noassingment&course=cs10_sp15.html      Type of Issue: wordy section       Severity: minor inconvenience       Comments: Although i know that this section is very important, it seems a bit boring to read and I almost skipped it after reading a sentence. Maybe some sort of graphic example could help here

parsaattari commented 9 years ago

Your Name: Parsa Attari Overview of Lab Comments: This lab was one of the only labs that I fully understood, when I took CS10, and was able to help the students also. This was because we had a presentation before it in which we used cups to show that it was faster to use logarithmic time. The thing that was different about this lab than the one I did last semester was that here we used charts to show the size difference increases. I think it was really helpful to have the charts but I believe more is necessary. Overall I believe that this lab is very well written and is pretty clear on its materials.

Page Link: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/algorithms/timing/constant-time.html?topic=berkeley_bjc%2Fareas%2Falgorithm-complexity.topic&novideo&noreading&noassingment&course=cs10_sp15.html

http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/algorithms/timing/do-you-have-time-to-add.html?topic=berkeley_bjc%2Fareas%2Falgorithm-complexity.topic&novideo&noreading&noassingment&course=cs10_sp15.html

Even though both these pages are very clear about the message they are trying to get across, I think some visuals, like the charts I mentioned above would make it a lot better, more interesting, and easier to understand.

KimiaG commented 9 years ago

Kimia Ghodoosian

Overview of Lab Comments: This lab contains a lot of information but it is well-represented. Even so, a lot of students were really pressed for time on this lab, mainly because of the "try this" questions. In general, it might be helpful, after introducing map, keep, and combine to include a visual reference of the ranges and domains of each of the HOFs included in the lab.

migugalde commented 9 years ago

Name: Miguel Ugalde

Overview of Lab: Algorithm complexity and run time, even for me now, is a complicated idea. I appreciate that the lab does not attempt to get too technical (mathematical) with this concept. I like the use of example to try to build an intuitive feel for algorithmic complexity. I think that the end of the lab gets a little too math heavy for some people. But I think having a partner explain kind of gets them through it. I think the mix of text to problems is good in this lab so that people do not jut skim through it.