’15 -’16 General Discussion for Lesson 5.18

Use this thread to discuss your questions and comments about how to run the lesson.

Is there a resource that provides general documentation and sample code for how to use the Data features of App Studio?

Hi Caroline

Great question! There are two great sources for this

  1. We just released the post AP materials which are meant to help students build an App which uses the data backend - https://code.org/educate/csp/postap

  2. The documentation for the Data blocks will give lots of explanation of how they work as well as examples to use in an app. You can find those by just going to full app lab and hovering over the block. Then click See Examples.

-Dani

This year I have a pretty advanced group of students. It is pretty awesome because they are always helping each other which makes it much less stressful for me - and really helps students learn themselves!

In unit 3 I let students run at their own pace in the studio.code.org environment so I utilized the written lessons much less. Next year, I think I will plan on using these lessons more because the metaphors were really strong and could help “center” the class each day. With having students work independently, I got WIDE gaps in where students were - this was mostly due to how hard (or little) students worked in class. Also, to help avoid this, I think next year I will want to integrate this unit throughout units 1 and 2. I think it will keep students more motivated throughout the year. I am wondering if other people felt coding for such a long time got “old” for students at all?

Students are about to get started on their own projects which I think will be very exciting! One student wanted to access the camera on a laptop or phone to take pictures in their app. Is this an option? I looked in the “Unit 6” materials and didn’t see anything but I thought I would ask!

Thanks!
Kaitie

2 Likes

Hi Katie,

As always thanks for your thoughtful feedback and insights into your classroom!

The camera feature you are asking about is something on our engineering teams list that they are working on. So its not there yet but should be in the future!

-Dani

Great to know - thanks!

Another question for you: A student is trying to make a maze game for this project where a user can navigate a maze using their keyboard.

Something similar to this.

I tried figuring it out myself but I think the HTML is getting in the way. Does anyone have a maze game that they made in code.org that would allow me to peak under the hood and steer students in the right direction? I have made a similar app in App Inventor and Scratch, but understanding how to tell the computer that an image or turtle is touching an specific color is a little beyond my current understanding.

Thanks!
KT

Hey Katie,

Currently App Lab doesn’t easily support this kind of interaction. There’s no command like turtleIsTounching(color) which a student could use within an if-statement to prevent a turtle from moving through walls, change the score, etc. There are ways you could do this by manually performing collision detection (i.e. keeping track of the locations of all walls and the turtle and comparing to make sure the turtle isn’t touching one), but depending on the programming ability of the student that can be fairly challenging.

Let me know if you need more help guiding this student. Also keep an eye out for Game Lab, the new tool we’re building for the CS Discoveries course. It will have much more built-in support for the types of collision detection and game development you’re looking to do here.

Cheers,
GT

Kaitie –

I asked my students your question today – do they felt that the coding has gotten “old” because it has taken use such a large chunk of time (currently being increased due to standardized testing – woo!)?

The majority did not feel this way, and attested to the fact that an interest in programming was one of the major reasons they signed up for the course. A couple pointed out that they did feel like it had gone on for a long time, but they thought that the “hands-on” lessons, like when we played Go Fish, broke it up a little bit. The students who felt this way are my students who have struggled the most with the programming.

I’m new to programming myself, so I think I need to step away from the unit for a bit before I reflect on where/how I would pace it differently. I’m doing everything slowly right now – the luxury of not having a test deadline this year – but obviously I won’t be able to do that next year.

Sorry I’m three weeks late, but I figured I’d respond!

We just wrapped up our second of three days of class time (I didn’t see them for 4 days in between due to PARCC tests):

Things I think my students are doing well:
Working together and asking each other questions – they’re recalling elements other students used in previous apps and asking them how they could incorporate it. Very cool. I think they’re also doing a better job of focusing the scope of their task – they’re thinking of the functions they’ve used, and considering different ways to apply them, rather than coming up with an idea that’s great in theory, but almost impossibly difficult to apply with the skills they have.

Things I think my students are not currently doing so well:
Reflecting on the rubric as they create their app. I need to do a better job next year of focusing on the shorter rubrics earlier in the unit, so when we get to this one, it’s not so overwhelming.

Thing I’m wondering:
Most of my students are using Screencast-O-Matic for their video. It’s basic and has some limitations (notably, the free version doesn’t record system sounds, only microphone), but I think it will get the job done. What are other people using?

Thanks!

  • Mike

Hi Mike,

Thanks for the response! That’s interesting. I haven’t been using the unplugged/hands-on activities as much as I probably should. I will definitely add those on next year. This year students got so scattered in the lessons that it was hard to determine the right time to use the hands-on activities. Having those as checkpoints next year will also hold students more accountable to being at the right place in the curriculum.

I noticed that next year code.org is making changes to the flow of lessons but coding is still all at the end. I still might scatter a bit of it at the beginning to get a sense of the pace that students will be moving though the coding parts and to help hook students in to the course.

I totally agree that I am thankful that there isn’t a test this year and we have time to work out kinks at our own pace. I also noticed that the deadline for submitting the tasks is actually in late April (not May) so the tasks (including the programming task) will need to be done ahead of time.

Finally, one thing that I’ve noticed is that students wish they could use studio.code.org like a google doc so they could collaborate by looking at the same code at the same time and wouldn’t have to re-build the “Design” parts on another person’s section of code if they were working with a partner. That is probably a huge ask from a tech perspective, but I thought I would throw that out there!

Thanks! I just saw the “Game Lab” the other day and see how it is more inline with what students want to do. I have another student who is working on a shooting game which is causing a lot of issues… I am wondering if that is another type of game that isn’t well suited to studio.code.org’s interface.

Since a lot of our students are interested in gaming, I am wondering if there is a list of games that they could make work on studio.code.org so I can steer them in that direction instead next time. I need to probably do a better job of pushing students to make socially-useful apps too which might help them get away from the gaming a bit too.

Thanks again!

Agreed @mseeley - students are doing a great job of asking one another questions! I am hoping that continues next year! As someone who has limited JavaScript experience, I am wondering if there is a course I could take to better understand JavaScript/HTML so I can better answer some of my more advanced students’ questions. Either that, or I’m going to have to start dating people who have advanced knowledge of JavaScript so I can ask them all my questions :smile:

Also, the rubrics are longer than my student’s attention level but that is what the AP rubrics look like so I think we need to train students in reading and understanding the rubrics a little better to prepare them for the real assessment.

Hey Katie,

Undoubtedly anything that relies on “physics” will be much easier to create in Game Lab. It’s still a ways from being fully developed and I wouldn’t count on it for this year. I would say that in general App Lab is more focused on creating apps (ideally socially useful ones like you mentioned). Design Mode makes it very easy to set up user interfaces and focus on building the underlying logic. Games that are more like “choose your own adventure” will probably do better than anything that requires collisions.

One thing you could try is having a look at the “Post AP” materials we developed, currently at studio.code.org/s/cspunit6 These make use of the advanced database features in App Lab. There’s examples of some projects students could make with these tools and in general I think Apps with an underlying database will feel a lot more “real” to kids who are used to the apps they use every day. What we found in writing these lessons is they didn’t help fulfill many of the learning objectives for CSP and some of the concepts covered are challenging, hence the decision to move them after the AP test. You may find this to be a good resource later in the year or for students looking for new ideas for how to build out their apps.

TL;DR you’re right App Lab isn’t great for making shooter games or moving around games. If you or some of your students want to explore some of that post-AP material you’ll probably start getting some good ideas for apps you can make, however, and that may be equally satisfying.

Let me know!
GT

1 Like

I’m not sure if anybody can help me with this question, but is it possible to create UI objects in code studio through javascript (i’d like to create a list of images) or can this only be done in design mode?

thanks!

Hey Thomas,

You can create UI elements through code by making use of the UI palette (the yellow blocks). You can hover over each block in the palette to get a pop-out explaining how they work or click “See examples” to get fully functional examples of each block working.

Hope that helps and let me know if you have more questions.
GT

Thank you. One more question…

I created a list of images like this…

      var list = [image("one", "icon://fa-twitter"), image("two", "icon://fa-certificate")];

I want to loop trough them and show all of them on the screen…

     for (var i = 0; i < [list].length; i++) {
         showElement("list[i]");
     }

I can’t seem to properly identify the elements in the list. If i make it a string it says that the id doesn’t exist if i don’t put it in quotes it says that it needs to be a string. Any suggestions?

I wouldn’t structure my code like this primarily because image() does not return a reference to the image, it just returns true. Therefore your list just contains true multiple times which doesn’t make it useful for parsing. What I’d do instead is something like this.

var idList = ["one", "two"]
var urlList = ["icon://fa-twitter","icon://fa-certificate"]
for(var i = 0; i < idList.length; i++){
    image(idList[i], urlList[i]);
}

This will create your images but you’ll have all the ids in a single array. Then if you want to show them all (or hide them) you can write

for(var i = 0; i < idList.length; i++){
    showElement(idList[i]);
}

Replacing showElement with hideElement can be done in that list bit of code to hide every image rather than show them all. There are other ways you could structure this as well and this is probably not “production quality”, but it will do what you’re trying to accomplish. Let me know if that helps.

GT

yup, it works for me - a bit different than how i’m used to doing things in java, but it works. thank you for your help.

Is there a good way for the students to put the “ovals” around their code in Google Docs? We are on chromebooks with no printers.
Thanks