Reflections 2016-10-27

Standard

Computer Science:

Getting everyone to stop what they are doing and write a reflection on the day is kind of hard. A bunch of students will typically continue what they are working on, and then it’s weird for me to be like “stop working on your awesome app that you are making”. But I think the reflections are going to be really important. So maybe I need some sort of incentive in order to get them ¬†to write good ones? I am modeling the process now by projecting this on the board as I type it, not sure anyone is reading it though. Students: if you are reading this, let me know!

 

…they did ūüôā

 

Advertisements

Reflections 2016-10-26

Standard

Intro to Engineering:

We got most of our motors working with Arduino today. It was difficult at times to figure out who needed my help the most. I think I need better structures for them to help each other out on a project like this. Or maybe we just need more training in figuring out who can help. Like for this one, it was “whose motor is working already? how did they get it there? what was their troubleshooting process like?”. If I am more explicit about these Qs beforehand next time, maybe it will be easier for them to figure out.

Computer Science:

Another work day for creating apps in App Inventor. It is interesting working on problems along with students and it comes up a lot because I haven’t created many apps myself. The problem of using the “otherScreenClosed” function needs more time to figure out. We tried using the tutorial here but didn’t get it to work overall.

 

Reflections Every Day!

Standard

At some point last year, I started writing reflections on the board at the end of each day. It was a really good practice that somehow I lost track of over the summer and haven’t done at all this year. But as part of my new no-grades assessment scheme, I am having students do a reflection at the end of each class. How I didn’t put it together that I was supposed to be doing these reflections also (in order to model the practice) is beyond me!

So here I go. I am going to start reflecting at the end of each class (visibly! this is being projected on the board right now as I type).

Computer Science Principles:

Today was a work day on the Project: App Inventor. It was nice to have a full day just to work on the apps, as opposed to trying to fit in a mini lesson or something else. Almost everyone in the class seems to have paired up in some way even though everyone is engaged in the work, so there’s no “well I have nothing to do because so and so is doing everything”. I think this is the right grouping mechanism moving forward:

  • everyone starts creating on their own
  • groups are formed based on interests¬†after they have explored/tested for at least half a class
  • everyone submits their own version of the code

Intro to Engineering:

We started the Automaton Project today by looking at lots of examples like this: pig

 

 

Then we discussed the main components of the project, which are the box, the cams, and whatever is on top. I think the pairs that I made for them are going to work. Now that I know the kids a little better, I am able to make pairs based on who is going to work well together.

We also did a basic Arduino project, which I am stupid excited about! They just used a transistor and diode to hook up a motor and a button. Only one group had it working by the end, but that’s what I expected. Next class: troubleshooting!

 

 

Reflections on Agile Development

Standard

I learned over the summer that software development teams often use a process called Agile. The short version is that teams work in short cycles to create functional (but not polished) versions of a piece of software. Then they show it off to everyone and discuss bugs and other issues as well as next steps. This way, there is a constant feedback loop and no one team is given too much time to head down the wrong path.

So I decided to run our first project in AP Computer Science Principles using Agile Development. But I figured it was a bad idea to try to learn Agile and also how to write code at the same time, so we used¬†this activity and made a Lego city using Agile development. Here’s our final product:

2016-09-09_143335699_94f50_ios

Nice, right?!

Here’s the rundown:

  • There are three roles in the process – Product Owner, Scrum Master, and Developers. For this activity, I played the roles of ¬†Product Owner and Scrum Master, and the students were split up into 3-4 teams of Developers.
  • First, we needed what’s called the Product Backlog. This is just a list of the features of the city. For this activity, I had the list already done, so we just put each thing on a post it note and put it up on the board.
  • Next, we “estimated” each of the backlog items. This is where we decided about how hard each item would be to complete. We set up “lanes” on the board and took turns placing the post its into the lanes 1, 2, 3, 5, and 8.

swimlanes

The numbers 1, 2, 3, 5, and 8 are arbitrary. As in, they aren’t minutes or days or anything. It just means that if they decided a 1 story Lego building was a 1, then a 2 story building should be a 2 or 3 because it takes¬†at least twice the work to get done.

  • After we had estimated the difficulty of each of the backlog items, we set about splitting up the work among the teams. This is called sprint planning. A sprint is just a short development cycle (we used 7 minutes for one sprint). Here’s our sprint planning board:

sprint-1-planning

A few things to notice. Not all the backlog items were included in the first sprint. We only had 7 minutes, so we chose what we considered to be the most essential things for our Lego city and focused on those first. Also, one student did a little quick calculating there to estimate how many “points” each team would have to complete per sprint in order to finish the project in three sprints.

  • Then we set a timer and they went to work for 7 minutes. It was pretty hectic! After the time was up, a few of them placed the buildings onto the city board so we could review.

city-building

  • This is where I needed to let everyone know when I was playing which role. First, as product owner I basically tore apart their city. “The one story buildings should all be the same color!” “The hospital is too small!” “Where’s my bridge?”

sm

Then I switched roles and had a “Scrum” meeting with each team. The purpose of the scrum meeting is for them to let me (the Scrum master) know what their team needed to be successful.

sm2

There was a lot of “we need more white pieces if we’re going to make this 1 story all one color” and “can we get a door with hinges?”. It was nice that I had withheld the fact that I had some special Lego pieces set aside (such as doors and windows) until they asked for them. This made the role of scrum master clear to them. I wasn’t answering questions like “how do I build this?”, just removing obstacles in their way of building. Later on, it should be clear that the scrum master isn’t there to help them learn to code (that’s the developer’s job!) but rather to remove obstacles in their way.

  • After the scrum meetings, we went back to the Backlog and planned sprint 2.

sprint 2.jpg

  • Then we repeated the entire process one more time, moving backlog items into the “finished” area as we went.

sprint 3.jpg

After sprint 3, the Product Owner was very satisfied with his city. We reflected on the fact that this happened through a process of quick bursts of working and then feedback. YES!! The point emerges!!

We used this same process for our first project in which they made a game in Scratch. I have a lot to say about that too, but I’ll save that for another post. I also wanna write more about my assessment plan this year because it is awesome! I haven’t “graded” a single thing this year. ¬†I’ve given tons of feedback (formal and informal), and kids are giving feedback to each other. Beautiful! But that also deserves its own post, so I’ll hold off for now. I’ll write it up soon though, promise! ūüôā

Learning Process: Art, Yoga, and Programming

Standard

It’s been a while since I’ve blogged and a lot has happened. ¬†I plan to write a few posts about my plans for next year, especially regarding assessment and PBL. But first I have to write about a project I’ve been working on and some connections I’ve made.

day54

DAY 54

So I’ve been making sketches like the one above using the programming language Processing¬†every day for the last 54 days. I started it as part of #the100dayproject (follow that tag on Instagram, Facebook, or Twitter and you can check out lots of people’s awesome art projects) and I tag everything #owenprocess if you wanna check mine out.

Many connections between art and programming have become super obvious to me. ¬†I think a similar project will be a great way to lead students to make these same connections for themselves. The simplest example I guess is the connection between the tools you are best at using (or like the most) and the art that you produce. As I learn more about what is possible in the Processing language, I make more interesting sketches (to me anyway ūüôā ).

DAY26

DAY 26

But the connections to my yoga practice have been way more striking and came as a complete surprise. Ok so, a few months before I started this art/programming project, I started learning the Ashtanga primary series. I started going to classes with two amazing teachers who showed me the first part of the series and I also started practicing on my own outside of class more often. Doing the same series of poses each time I practice feels right to me. It’s like I am starting from scratch and building something. This is the first connection. Every day at some point, I go to my computer and look at this:

Screenshot_061116_095949_PM

Then I start by writing some of the code I’ll need to draw something on the canvas:

Screenshot_061116_100222_PM

This also feels right to me. It feels like I am starting from scratch and building something one piece at a time. And it is exactly the same comfortable feeling I get when I come to Samasthiti (sama = same, equal / sthiti = to establish, to stand).

Tadasana_Mountain

Pictured: not me

In both of these states, I usually have an idea of where I am going next. In Processing, I’ll create the canvas and then start choosing and adding colors to it. In yoga, I’ll complete 3 cycles each of sun salutations A and B. In both cases it feels like I am building a base, a foundation on which to build more. And so I do. I learn more functions and methods in Processing and then I can make new types of sketches and interactions. But I try not to implement anything if I don’t understand what it is doing. The same goes for my progress in yoga. With the help of my teachers, I add new asanas only when I am ready for them, when I feel like I understand the purpose of the posture (what it is intended to do).

Marichyu0101sana D_0

Image credit: samasthitistudio.net

Another connection I see is abstraction. My computer performs billions of operations per second, so there is no way I’d be able to keep up if I had to pay attention to all of them. So in my interactions with the machine I need to be at a higher level of abstraction to get anything done. For example, I can type in size(600, 600); and the machine knows I want a canvas that is 600 x 600 pixels. I don’t have to tell it every step involved in how to do this (there are a lot); it already knows and it just does it. ¬†In yoga, I am also moving to higher levels of abstraction by memorizing the postures and the sequence. For example, say I want to move into upward facing dog. There are lots of things my brain needs to tell my body to do. Feet pressed into the mat, legs up, shoulders back, chest forward, … But now that I’ve been doing it for a while I just do it. It’s like I’m calling the “upward facing dog” function and it just runs.

There is definitely more I need to write about, but I am at a training for the computer science course I’ll be teaching next year so I have homework to do! Here’s one more before I go, and don’t forget to check out #the100dayproject to see tons of really great stuff being created every day!

DAY20

DAY 20 #owenprocess

 

Another Rubric Update

Standard

I think I may be on to something with this newest rubric. What it says:

What I did with it (in pictures):

This slideshow requires JavaScript.

How it goes in my gradebook (SocraticBrain):

This slideshow requires JavaScript.

#phonespockets First attempt: quick reflections

Standard

o-POCKET-DIAL-facebook.jpg

So I am jumping on the #phonespockets bandwagon. I just hit record on the voice recording app on my phone, stuck it in my pocket, and then went about teaching. That was yesterday. Today, I listened to the recording (~10 minutes). Here are a few quick noticings:

1.) I was a little self conscious at first, but after a few minutes I forgot I was recording. I set a timer to remind me when 10 minutes was up so I could stop recording. It didn’t interfere with the class in the way that video recording sometimes does.

2.) ¬†Background noise was not as bad as I thought it would be. I constantly worry that the room is too loud, making it hard to concentrate. But I want kids talking to each other (learning is social and all) so I have to resist the urge to quiet everyone down. Listening to the recording, the room doesn’t seem too loud really. I can clearly hear not only my own voice but also the voice of the student I’m talking to at the time. It’ll be interesting to see if this holds for other classes as well, in particular my big class later today.

3.) I only talked to 4 ¬†kids the whole 10 minutes. This is something I’ve also been thinking a lot about; how do I make sure to have authentic, useful conversations with students but also be fair about getting to everyone? Talking to 4 kids in 10 minutes means I averaged 2.5 min/kid. So in a class of 27, I would need 68 minutes to get to everyone. Some days that’s doable (I’ve got 90 minute blocks), but¬†I suppose I don’t need to reach every kid every day. But in that case, I need to think more about tracking these convos so that I don’t always end up helping the same students and ignoring others.

4.) I am pretty good about using wait time after asking a question, but I could stand to add a few seconds to my usual wait time. I also need to utilize follow up questions better. For situations like this:

Me: “What are you going to do next?”

S: “I don’t know”

Me: <makes a suggestion>