cs10 / bjc-r

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

12. Tic Tac Toe (LA Review - Sp15) #525

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

Your Name: Satoko Ayabe

Overview of Lab Comments: I think that this is quite a challenging and time consuming lab, and so we should encourage people to work in groups if possible. Other than that, I think the lab breaks down the game-making process by having a lot of screen shots (of the scripts, of the list) and a lot of questions throughout.

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

mfujimoto commented 9 years ago

Your Name: Mason Fujimoto

Overview of Lab Comments: I feel that this is a great lab in general. The prospect of solving tic-tac-toe can seem overwhelming, but the lab walks you through the process so that you understand every step of the way. It is a great exercise in abstraction (in that we work on each part individually) and mirrors the workflow of projects in cs61a. I think its great to have this lab while students are working on their midterm projects as portrays a method of solving complex problems. One way to possibly add to this lab would be to show a breakdown of the final code through the lens of abstraction. I feel that in homework three it was possible to have no functional abstraction (i.e. everything in one big block) and be successful, but in this lab we could directly address the benefits of creating abstraction barriers.

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

Justin-Kim72 commented 9 years ago

Name: Justin Kim

Overview of the Lab Comments: The concept of the making the Tic Tac Toe in SNAP! can be kind of confusing, so providing as much detail as you can is very important. The lab does an excellent job of going through each of the components of Tic Tac Toe to get to the final result. The links work just fine for me in this lab. I also think that having a final summary breakdown of each code at the end and how it will contribute to the game can be beneficial.

susanshen96 commented 9 years ago

Your Name: Susan Shen

Overview of Lab Comments: I think coding Tic-Tac-Toe is an excellent way for students to truly understand the niceties of lists, and how they can be used to visualize certain scenarios that one would normally not associate with lists. It’s really important to get this mentality in further CS classes, when you have to think of some real-life scenario not as itself, but as a list, or dictionary, or so forth. This lab may prove difficult to get through in one lab period, but if the students really understand what’s going on, the lab would prove very useful.

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

thorsoch commented 9 years ago

Your Name: Charles Thorson

Overview of Lab Comments: This lab is very entertaining, as the students get to implement an AI for a game. Of course, it can become a bit confusing with the wordy explanations and round about means the lab guides the students through, but still it is a great experience when you finally complete an implementation of a game that you can play. It is probably critical that we encourage the student's to ask questions in this lab because some people may head in astray directions from misinterpretation of instrucitons.

keehansullivan commented 9 years ago

Your Name: Sean Sullivan

Overview of Lab Comments: Definitely one of the harder labs, I would definitely let the students know its okay not to finish this lab in class to not discourage them. One of the more computational labs that requires a decent amount of critical thinking, great for developing skills in computer science! Personally I thought the lab was well written, however the coding was very complicated but necessary to complete the lab.

megancarey commented 9 years ago

Megan Carey

Overview of Lab Comments: This lab was more challenging than most, in my opinion. I found myself referring back to my old files for this lab from last semester. I think that it's a fun application of the ideas of HOFs, but it might require more explanation by assistants.

bitofbreeze commented 9 years ago

Your Name: Florin-James Langer

Overview of Lab Comments: Very good introduction that tells the users exactly what they're dealing with. I like the lab; it seems a lot like c61a projects, and is good at showing the importance of helper functions.

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

nzoghb commented 9 years ago

Your Name: Nicolas Zoghb

Overview of Lab Comments: One of the few labs that requires the student to use a multitudes of techniques learned since the beginning of the semester. I found it challenging and rewarding, although confusing at times. Definitely a good introduction to code composition and organization.

ilinabg commented 9 years ago

Your Name: Ilina Bhaya-Grossman

Overview of Lab Comments: I really like this lab even though it is a little challenging. I think it's a really good step by step procedure that walks students through how to approach really large and complex problems. However, I think that sometimes it is unclear what the helper methods they are making are doing and even though it all comes together really nicely in the end I think it would help the students if it was more clear the role the helper functions play before they code them in Snap! (There are some points where I feel like the lab is just telling the student to write random functions and there is little to no explanation as to why until later) Otherwise I really enjoyed this lab and I think that the students will as well.

papratt commented 9 years ago

Your Name: Paige Pratt

Overview of Lab Comments: This is definitely a long and confusing lab. When I did it in CS10 it took me a long time. The small steps help a lot but I think it would be good to mention at the beginning that they will do it in small steps since introducing the final product at the beginning can be confusing since they might try to figure it out before noticing there will be small steps. Also maybe make it clear that students don't have to complete the full lab since most probably won't finish but can still answer the lab questions.

carolinekim commented 9 years ago

Your Name: Caroline Kim

Overview of Lab Comments: The lab definitely seems a little challenging, so instructing students to work with partners should be helpful. Overall, the descriptions on how to make the different blocks and what each block does are clear and seems to better the students' understanding. It would just be more helpful if the students get an overview of how the different blocks come together to create the Tic Tac Toe game at the end.

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

18epedersen commented 9 years ago

Your Name: Emily Pedersen

Overview of Lab Comments: I think the idea of making a tic-tac-toe game is fun, however this lab is confusing. I think that there are too many parts and it is unclear how to implement some of the smaller parts. For example, I think you should introduce substitute letter before you introduce find triples. I also think that this lab is too long and students might feel overwhelmed by all the material and helper blocks that are introduced.

xmhjch commented 9 years ago

Your Name: Jiachen Hu

Overview of Lab Comments: I think this is a very interesting and challenging lab. The topic itself is interesting, since it solves a real life problem, and games are usually more intriguing than simple lists implementation. This is a very good lab for combining all the information they've learnt so far. However the workload is a lot and the students may have a hard time combining concepts of lists and hofs. Since they are having a reading quiz before the lab and don't have a large amount of time, they should definitely be encouraged to work in groups. Despite all the difficulties, I do think it would be an interesting idea if they can use recursion in this lab as well. They've been practicing with recursion for weeks now and the combination of recursion, lists and HOFs would be really ...challenging, but helpful as well.

KamikazeTomato commented 9 years ago

Your Name: Henry Chung

Overview of Lab Comments: Overall, I feel as if this lab is admirable in reaffirming concepts of HOF's in the context of a lab project-like scenario. However, I feel as if for the most part while the lab goes to great lengths to explain to the student why they are engaged in making a specific block or helper block to work towards the final goals of dictating moves of the computer, it feels almost disingenuous considering the student never really comes up with the approach to the problem him/herself. It feels more like the lab is telling students "figure out how to do this, because of this" and the student is led along through the various steps of the lab with only a vague understanding of how they reached the final destination.

I realize that making students figure out the "how to approach all of these problems" would be absurd considering how difficult the lab is even with this guidance, but that is why I almost feel like it would be beneficial for this to be a simpler lab where the students figure out the "how" on their own (When I say "how" I'm talking about logic in the vein of figuring out stuff like the checking for a win condition before checking if the opponent has a win condition next turn, before choosing the next best block or pivot.)

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

benlsmith commented 9 years ago

Your Name: Benjamin Smith

Overview of Lab Comments: This lab is really good for helping students further understand the lengths that coding can go through. It doesn't let the student necessarily come up with their own ideas of ways to make the computer move in a way that makes it a more challenging opponent, but helps guide students through the ways that they should think in order to use HOFs. It helps them learn the thought process that they should have for working on things like their upcoming projects. Although this lab is very helpful and helps students learn how to think, it was very difficult. Maybe giving some solutions for some of the easier rules would be helpful so that the students have more time to think of the ways to code the harder ones. The lab took awhile to complete and im not sure very many will finish in their lab section.

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

anushasyed commented 9 years ago

Your Name: Anusha Syed

Overview of Lab Comments: I think this lab is really, really difficult to understand the way it is laid out. There are several functions that you must build, but the directions don't effectively show how these functions relate to the overall implementation of tic tac toe. Thus, when in the last part students are asked to fill in the ttt, it is really hard to visualize where to start when you just have a bunch of random blocks built. So rather than explicitly saying what functions to build (i.e. find triples), I think it would help if students were rather nudged at what types of functions to build implicitly by giving hints. However, I think this lab is awesome in that it shows how HOFs can be extremely useful!

JiazhenChen commented 9 years ago

Your Name: Jiazhen Chen

Overview of Lab Comments: It's a pretty long and time cosuming lab. I like the way of breaking down the big problem into several details. But the overall layout maybe a bit confusing. Students maybe confuse why we want to make certain blocks and wonder when and where should we make a new block. Without the instructions given, they may still won't be able to smash down other problems by themselves. My suggestion is to explain the problem and the thinking process in a tree structure. (I personally find it really helpful.) It's more straightfoward and combines all the part together so that the student can view it as a whole instead of on seperate pages.

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

eurieoh commented 9 years ago

Your name: Eurie Oh Overview of Lab Comments: I thought that this lab was pretty interesting. It takes a lot of what the students have already learned and makes them apply this knowledge. I feel like breaking down the game into making certain blocks helps them understand how to approach and solve this problem of making a tic-tac-toe game. The only problem is that this lab can get pretty time consuming.

soham14 commented 9 years ago

Your Name: Soham Kudtarkar

Overview of Lab Comments: I recall this lab being very helpful to me when I took CS 10! I found the pace of the lab to be pretty manageable and found no outstanding errors with it. The only potential problem that I could see with this lab revolved around the fact that the higher order functions became increasingly complex as the lab progressed, especially with the level of abstraction. For instance, when I did the lab, I found that my ttt block had a helper block inside a helper block inside a helper block. Other than this, I found this lab to be insightful.

frankyguerrero commented 9 years ago

Your Name: Rocio Guerrero

Overview of Lab Comments: The lab was challenging, but the instructions were very clear and straightforward. It's nice that it builds up from simple to more complex blocks then finishes off into a large project. I remember doing this in CS 10 and it felt great accomplishing it in the end. I think this will really prepare them mentally for their big midterm project.

cynthiaha commented 9 years ago

Your Name: Cynthia Ha

Overview of Lab Comments: The Tic Tac Toe is definitely one of the most challenging labs compared to the other ones. However, it is very useful in reinforcing the use of HOFs and students will definitely have a much better understanding of HOFs if they finish the lab. Overall, there seems to be a lot of text and code in the lab, which may be a bit overwhelming for some students. Some optional hints or additional guidance may be helpful.

seunghalee commented 9 years ago

Your Name: Seungha Lee

Overview of Lab Comments: I personally enjoyed this lab. Taking a simple game like tic tac toe and applying HOFs really challenged me to think critically. Because of the lengthy texts in this lab, it does take patience to read through it carefully, but it breaks down each component pretty well.

MaazUddin11 commented 9 years ago

Your Name: Maaz Uddin

Overview of Lab Comments: When I tried doing this lab last semester, I found it really difficult. Mainly because I wasn't entirely comfortable with working with lists to the extent which this lab required. But doing it now, it seems MUCH easier, but there are still some parts that still perplexed me. Overall, I think this is a key lab in CS10. And I think the students should take their time on this and work in groups to get the most out of it.

jesslarson commented 9 years ago

Your Name: Jessica Larson

Overview of Lab Comments: I really liked this lab. However, last semester I didn't realize there was a starter file, and made the entirety of tic tac toe on the first page. It would be really helpful if starter files could be consolidated to the first page of every lab.

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

msilva926 commented 9 years ago

Your Name: Melanie Silva

Overview of Lab Comments: Challenging lab that sometimes takes a while to understand.

Laralinmcc commented 9 years ago

Lara McConnaughey Overview of Lab Comments: This lab is a great way of introducing how games can be represented in Snap and in Computer Science. I think a great addition to the lab is instead of just telling students what the strategy for winning tic-tac-toe is there should be an activity in the beginning where students play tic-tac-toe and are then asked questions on how they play to coax the strategy of placement of pieces out of them. I think this would be better than just telling the students the algorithm because then they have the thought process of how to design an algorithm or a strategy to win a game. It is also fine to leave the strategy in the lab so students can read over it later.

--- 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: I like this lab a lot. Although I think it was more fun this time doing a second time. I think it will be helpfully difficult on the students.

--- For each specific Issue ---

Stantlers commented 9 years ago

Your Name: Stanley Ho Overview of Lab: I like the clarity of the lab. I remember last year, my partner and I were very confused on where to start. However, this time, the lab seems to be clearer. I also like how there are important questions asked to make sure the person knows whats going on.

morganewing commented 9 years ago

Name: Morgan Ewing

Overview: When I did this lab, I found it very challenging but I think it is a good way to show how higher order functions can be applied in computer science. It may also give students an idea of how to add these strategies and features to their own projects. Overall, I think that the lab walks through the making of the tic-tac-toe features clearly, even though it may seem overwhelming to students.

Page Link: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/lists/hof/ttt/05-winning-square.html?topic=berkeley_bjc%2Flists%2Ftic-tac-toe.topic&novideo&noreading&noassingment&course=cs10_sp15.html        Type of Issue: small error        Severity: minor        Comments: The "appearance" block takes in a letter as the first input but the description says it takes in a word.

amy97 commented 9 years ago

Your Name: Amy Vatcha

Overview of Lab Comments: In my opinion, this is the most challenging lab since it ties together a lot of concepts and it is very easy to get lost in all the different helper blocks if the student doesn't understand the function of each one. Long lab but very rewarding

chnicoloso commented 9 years ago

Your Name: Christian Lista-Nicoloso

Overview of Lab Comments: I think this lab is VERY challenging. I still remember de headaches that I got from doing this lab when I took the class. I never even finished it. I was vey frustrated with it. Now I realize that it is a good lab in the sense that it encompasses a lot of concepts and techniques but I think the lab in general could use some more abstraction. I like the questions that the lab asks you to ensure that you are following along.

robrodz commented 9 years ago

Your Name: Robert Rodriguez

Overview of Lab Comments: The lab was great. I think it does a great job at first introducing the concept and thinking behind approaching the tic tac toe strategy before it goes into actually programming it. I also think the lab does a great job overall at breaking down the problem and clearly identifying what the goals and next steps are.

Page Link: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/lists/hof/ttt/09-improving.html?topic=berkeley_bjc%2Flists%2Ftic-tac-toe.topic&novideo&noreading&noassingment&course=cs10_sp15.html       Type of Issue: Lack of clarity       Severity: Minor inconvenience       Comments: "Wouldn't it be better to find a fork in which X has two appearances in each triple? Discuss this with your partner if you don't have a good answer." is a little confusing and worded weirdly. I myself had trouble with the wording and had to ask a TA for clarification. "Appearances" is also spelled incorrectly.

Omarb62 commented 9 years ago

Your Name: Omar Buenrostro

Overview of Lab Comments: Looking back at my time in CS10, i definitely remember the tic tac toe lab is definitely one of the more challenging labs. However, something I liked about the lab is how its instructions are very effective at guiding a person in the right direction and how it asks students to consider important questions, which in turn reduce the possibility of a student getting stuck on question for too long. This lab is also does a good job at reinforcing high order functions and also gives students an idea of what coding a larger project may be like. To top things off, all these concepts are put into a lab where the objective is to create a fun game. Overall, 'Twas a good and interesting lab.

Page Link: http://inst.eecs.berkeley.edu/~cs10/labs/cur/programming/lists/hof/ttt/04-triples2.html?topic=berkeley_bjc%2Flists%2Ftic-tac-toe.topic&course=cs10_sp15.html&novideo&noreading&noassignment       Type of Issue: (Code) bug       Severity: Minor inconvenience       Comments: It's not really a bug, but the triples converter block in the starter file is different from the one in the starter file. The starter file convert block is just missing the list -> sentence block.

mayaah commented 9 years ago

Your Name: Maya Angelica Hernandez

Overview of Lab Comments: This lab is a great introduction to AI using a basic game that should be familiar to everyone. Maybe along with forks in the last slide of the lab add in something about game trees, though that might be too complex to explain.

KimiaG commented 9 years ago

Kimia Ghodoosian

I like this lab because for the rising number of CS10 students that go on to take CS61A, it's very similar to the format of projects (i.e. it involves a starting framework that's abstracted away, students work on individual problems above the abstraction barrier). I also like that it shows students a process for approaching larger projects that is less intimidating.

michen-ml commented 9 years ago

Michelle Chen

Overview of Lab Comments: The simplified diagrams helps in understanding the guidelines of making tic tac toe. It's a difficult lab, so the reiteration of using high order functions is very useful. The thought process of why we should make each block may be unclear as to how it contributes to the lab as a whole. Maybe explaining all the steps beforehand and how it cumulates to the final program amy be helpful.

danielduazo commented 9 years ago

Your Name: Daniel Duazo

Overview of Lab Comments: This lab was probably the most difficult, both for the students and the lab assistants. It is a good benchmark to see how much the students know. It requires a lot of analytical thinking and mastery of HOFs. I feel like it may have been too long to finish in one lab, especially considering the next lab was supposed to be for project work, and not to catch up on lab work.

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

siyingwang commented 9 years ago

Your Name: Siying Wang

Overview of Lab Comments: This lab is very complex for students. It shows a combination of all strategies and many readings involved.

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

Meghna15 commented 9 years ago

Your Name: Meghna Dasgupta

Overview of Lab Comments: I think this is one of the most interesting labs in the semester because it introduces you to the concept of AI and helps you create your very first game! I think the lab does a good job of guiding the students step by step through the process as it asks the students themselves to think about certain problems like strategies etc. While certain parts of the lab are a little text-heavy, I like that a lot of screenshots have been used to break the monotony. For example, I like that the introduction to finding a fork has a picture given as it really helps demonstrate the concept to students who did not know it previously.