Tuesday, October 31, 2017

D37: Top Down Functions in Interactive Notebooks

AP CSA:  We did loopy art today.  I made it a point to sit 1-on-1 with struggling students today.

AP CSP: We did interactive notebooks today. I love this new format for programming and teaching Top Down Design.  I could really see how doing this in CSA would be beneficial as well. Next year...

Concepts: We did harkness problems on quadratics.  I honestly feel this class would test better if they were individually proctored with someone to ask them questions about why they did everything they did in a problem.

One Good Thing:  While writing letters of recommendation is exhausting, I love thinking about how wonderful my students are.

Monday, October 30, 2017

D36: Graphics FTW

AP CSA

Today we did a "Loopy Art" code-along day.  We talked about how color works in Java and connected that back to making constructors from the beginning of the year.  Then we did a series of short challenges.




Once again, I needed a few extensions - really, I needed an extension for EVERY single challenge - next year, I will need to do that.

One of the challenges I came up with was to make a gradient similar to what students see on Google's RGB color picker.  I even had a student incorporate user input.



Once again, students wanted to do more of this! I am actually a little concerned that the labs I have prepared are too easy - I need to look at making a challenge one tonight.

CSP

We talked about functions with parameters.  

Concepts

I did the Desmos Activity Parabola Slalom with students.  It was great to challenging their thinking about different forms.  I would pause the screen to have them visualize what the solution might look like - that was surprisingly telling too 

One Good Thing

When a student said "can we do more of this"!  In CSA - I haven't heard that a ton this year in CSA.  I knew that would be the case, but this year is about getting something together, perfecting (or progressing) on my teaching CS techniques - next year I am going to be refining the projects to increase engagement and creativity needed.

Saturday, October 28, 2017

D35: The work continues

It was very much a "normal" day in all my classes today.  So, this is a re-commitment to things I want to start doing:
  • Typing Tuesdays:  We are going to do a 3 minute typing test every Tuesday on Typing.com.  Students will track their progress over time.  I am going to do this in CSA and CSP... I would love to do this in concepts but the time it would take to start up the laptops is just too much.  We will see.  Typing abilities are definitely a barrier to fluency of programming in my classes.
  • Addressing gender inequities: I am going to bring in an article each or perhaps week to talk about culture issues in CS.  (Now that I am thinking about it, I wonder if this might be a worth-while week-long event).  I might have students write a reflection on what they can do to help address the culture issue.  I am thinking of printing out a classroom set of these articles and having students read them as computers get started up or perhaps assigning it as homework.  For example, asking questions like:
    • Do you "believe" it is an issue in the tech community?  Give examples from your own experiences.
    • Do you believe it is an issue in our classes?  Give examples.
    • What can you do to fix the issue?  If culture is 100% human-created it is 100% changeable.
    • Why do you think we have such a huge gender imbalance in CS classes?
      • Follow that up with this article about women in computing and how it used to be a female dominated industry.
  • Getting student feedback.  I have plans to have people gather feedback from students in my classes.
  • Talk explicitly about incremental and iterative development.  I think in math students are so used to linearly doing a problem.  (How many times have I heard teachers talk about what "steps" are necessary to do the problem?!).  Students who are high achieving in math are used to seeing a problem and then doing the exact same thing in a different problem.  CS is not like that.  I need to draw the similarities and differences between CS and Math.  Too many students are looking at blank screens because they don't know how to do the WHOLE problem.


That being said, here's what actually happened in my classes today:

  • CSA worked on labs with for loops.  I need to go through those though and get rid of some weird features (like having floats as returns...) and a few other things.  I wrote them down... somewhere?
  • CSP we are plugging away on programming.  It is going well. We slowed down to do a solid intro in top-down programming.  On Monday we will do notebooks that talk a bit more about top-down programming.
  • Concepts: Did a bit of review and then took a quiz.

Thursday, October 26, 2017

D33-34: Back to programming

CSA

I was warned about this from my Eagan colleague.  When students fall behind, it is TOUGH to get caught up.  I am starting to see that now.

Next year I need to think about how I can get those students on the right train.  I think I might need to "spiral" back to objects here for some students since I know that is where I lost some.


CSP

Students started programming today on day 33.  My goal is to be fiercely on top of students to make sure they do not fall behind.  My goal is to call all families on Monday if their students are not done with the material over the weekend.

Right now I have 2 students (that I know of) who are pretty ahead of the group.  I am asking them to stick through this unit on the basics and then perhaps differentiate from there.


Concepts

I started today out with 5 minutes of quiet independent work time - then we moved to the boards.


One Good Thing

I asked a student what the difference between CSA and a different math class was.  They said that CSA was more about problem solving than other math classes which are a bit more about process.  I am trying to narrow down how I sell this class to students.

Tuesday, October 24, 2017

D32: Harkness meets AP CSA

AP CSA

After introducing for loops yesterday, I wanted to continue with the unplugged lessons.  The code-along style lesson worked well, but I still had concerns about students with slower typing skills not getting the most out of it.  SO... I applied what I learned from Exeter math and Harkness style discussions to my AP CSA class.

Some background:
Harkness is a style of teaching that Phillips Exeter Academy uses in all of their classes.  I think they are most famous famous for applying it in math where students discuss math problems in a democratic manner rather than drill-and-kill problems as traditional math classrooms seem to do quite frequently.  They do this at an oval table where all students (and instructors) sit around and have equal opportunity to talk about the problem.  They also do this with only 12ish students.  I went to Exeter's math conference 2-3 years ago and fell in love with Jonothon Sauer's talk about doing Harkness for 30.  I have started doing it in my concepts of advanced algebra class and really enjoyed how it values thinking over answer-getting and increases collaboration/engagement by all students.

Today, I decided to spend the day doing 3 unplugged problems, but have students get up to the boards and talk/write it out.  This allowed more students to engage and everyone to have equal access to common work (rather than individuals doing work in their notebooks).  In between problems, I had students do a gallery walk to give them more access to different approaches, make sense of other's work, and also break up the time a bit.

Here were the three problems:
Problem #1 was intended to warm students up with just numbers for the most part.

Problem #2 built on what students did with number 1, but added a string component which trips students up.  Many students used "charAt" which works, but I also was sure to use one that modeled using substring since substring is part of the AP set.

Problem #3 was a challenge.  It certainly built off #2, but it was a big step up.  We talked about what happens if someone puts spaces at the beginning or end of a string and what counts as a "word" - I said it should work like "word count" in google docs.  Something like "I have 7 dogs." should return 4 words. 


Overall it went quite well, especially after seeing some opportunities for improvement in my first two classes, by my third class I was ready to provide a bit more varied structure to the activity.  The first problem we simply did on the boards, did a gallery walk, and then I coded up one of the solutions and we talked through it together.



For the second problem, we followed a similar structure except I gave each group a red marker to use to make comments (or changes) on others' work. Admittedly, this was loosely defined - I didn't say what type of comments students should make (like questions, or changing syntax, or notes on formatting... etc).  I was shooting from the hip at this point, but I could come back to this later and provide more routine-like structure to the activity.  I did like how doing a gallery walk allowed students to see other approaches and make sense of them (although some students walked around more aimlessly rather than making sense of them - again, something I could probably routine-ize in the future.  Again, students went back to their seats when they were done viewing others and we talked about a solution and some common misconceptions with chars, ==, and in general using substring.

Heres what the class looked like in the round.  I "duded" out their faces for student security reasons which is a tinge sad because it is harder to see how they are interacted with one another.

The third one I knew was going to be more complicated and was going to take almost a half hour.  I needed to break up that time.  SO, I asked students to ONLY write out a framework for how to approach this problem (NO CODE!).  Again, while I have modeled this with students in the code along, admittedly, I think clearer directions/exemplars would give students more paths to success here.  What I had seen in the past is that individual students in the groups had ideas to solve the problem, but as a group they were having trouble settling on an idea and then attacking it.  My hope was doing some sub-goals would help the team decide how to approach the problem together before writing code.  Some students struggled with the "no code for the first 3 minutes" rule.  After three minutes they could write up their code and I encouraged them to comment their code along the way.

As students worked on the problem, I gave some students smaller problems to work on if they were still spinning their wheels - problems that had students problem solve the same type of problem but in a different (smaller) way.

At the end I wanted students to share their work so we did a presentation style share out.  I partnered groups up and had them present to their partner group what their solution looked like.  The group listening was to ask clarifying questions.  My hope is to next time provide more structure on what good "clarifying questions" looks like and what the presenting team should do with those questions.  I made a point to explain that a comprehensive solution was not necessarily what we were looking for, but the presenting group should explain what their code does so far as well as what cases they haven't covered yet.  Ideally, this would all be written out on the board already in comments or in a "not yet done" list.  Again... something I should model next time.  "Next time" is going to be great! :)

The groups switched of sharing what they did and some groups were able to help trouble shoot eachothers' code as I facilitated some conversations of off-task groups.  Overall, it seemed to go really well!  I noticed some of my slower typers were REALLY engaged during the lesson and had great contributions to their teams, whereas on code along days, that was not the case simply because they were working so hard on finding the right keys on the keyboard.  Harkness style removed that barrier for students.

Additionally, I was happy to get students up and moving around.  They were in new groups from this week so it was a good way to re-view our norms form the beginning of the year and build a community of collaborative problem solvers within the new groups.

I am hoping this pays off down the road!


AP CSP

We did the Find Min Human Machine task today.  One student said "I know how to do it, I just don't know how to do IT" - that's classic programming talk.  I also need to validate that.  If you have an outline of a solution, that is a great first step.  Get that on paper and then try to break it down into parts that you can do.  That's all abstraction which we will be talking about more this week, but I missed an opportunity to connect that today.

Concepts

Back to problem sets in concepts today around quadratics.  I'm still impressed with how students are asking good questions of me and of one another.


One Good Thing

I am so thankful to have a para in my math class.  Today he really helped facilitate a group to stay on task and pushed them in the right direction without giving them the answers.  It was awesome that he could do that while I bounced around to other groups.

Monday, October 23, 2017

Day 31: Introducing For Loops

AP CSA

Today we introduced for loops in AP CSA.  I actually went to the facebook group to find some good intro ideas and they supplied in spades!

One person mentioned she used M&Ms and gave students instructions for "while there are M&Ms, eat one M&M".  This made me realize that I could expand this idea to use it with for loops.  It took probably 4 hours over MEA, but I am happy how it turned out.

Today in class we started out with this short clip from The Big Bang Theory about the "Friendship Algorithm".  One of my goals this year is to get better at hooks for new content, this seemed relevant to the topic.  Essentially, Sheledon has a "while loop" and he gets stuck in an "infinite loop" so Howard adds a loop counter that keeps track of the "least objectionable activity"

Then we zoomed in on the algorithm described in the video with the changes Howard made.



From there I introduced the "for loop" anchor chart and practiced it a few times together.

Then came the M&Ms.  I gave students this handout below, asked them to act out the loop, and then write down what it does.  The document is somewhat displayed below but you can find it here as well.



Over all, it went well.  Some students REFUSE to act this out when they trace code.  It kinda frustrates me - it's like the "show your work" in math - just do it.  It makes everything better.  No one thinks you're the cool kid for not showing your work. </rant>


Above: Students worked in pairs to trace code and organize M&Ms.  I gave them each a fourth cup of M&Ms - that was a lot, but somewhat necessary to demonstrate the movement.

BUT that did get me thinking about ways to extend the activity for students who refuse to show their work.  It was a lot of work for ME to come up with these activities, I think for the "cool kids" I can have them generate their own code using the commands given.  Perhaps have them design a loop that makes students split a color into two equal buckets, or one that makes students move everything to the "outside" and then move half of them back in.  Or have students eat enough M&Ms so all the values are equal in a container... there might be more ways I could extend this, but having students write their own code would up the rigor of the task for sure.

We also talked about what SHOULD be in the comments - a lot of students just re-wrote the code in semi-human language rather than explaining what the net effect was of the loop.  I think we could have related this back to the video as well (what the net-effect of Howard's loop was).

Time will tell if this makes the concept more sticky for students - it certainly made it more approachable which is one of my goals for the year.


AP CSP

Today students did the first activity in unit 3.

Overall it went well.  I had students rotate through two different other people's tangram pattern and let them revise their work in between.  Then we did two up on the board to determine what made a good or bad set of directions.  Over all the flow was good, but it could have been a tinge faster for some students.  I know I need to keep this class moving - it seems like it is hard to encourage meaningful reflection with a group of 40 squirrel-y students after lunch.



For that reason, I think I am going to smoosh the next two lessons together and then get them started on programming.

Concepts

We start the deep dive into quadratics now!  We started out with two desmos activities to get things started.

One Good Thing

I needed some classroom management advice today and got two really great pieces of advice from coworkers that helped me think in a productive way about how deal with interruptions.

Tuesday, October 17, 2017

Day 29: Getting to MEA

AP CSA

Today we did a lab day.  I asked students to have the SSN and

AP CSP

Test day on unit 1 and 2A - we will see the results!

Concepts

ACT practice day - I am giving students a full test in 60 minutes.  We will review it tomorrow.

One Good Thing

One of my students said they were thinking of majoring or minoring in CS.  I'm now try to convince her to apply to NCWIT application for aspirations



Monday, October 16, 2017

Day 28: Impromptu unplugged

AP CSA

While I had originally planned on making today a lab work day, the warm-up took nearly the whole hour so I made it an unplugged day instead.  Having students keep the computers away helps focus their attention.

The warm-up asked students to create a method called replace that would take a string, look for a word in the string, and then replace that word with a different word.   There is already a replace method in the String class that some students were aware of, but it drove home the reason WHY we create methods (and why other people create methods for us).

In my first hour, I had an a-ha about how I could "peanut butter and jelly-ify" the lesson a tinge by physically cutting up the string in question.  I noticed a lot of students wanted to magically remove a word, but they didn't think about breaking the string into 3 parts and then leaving out the "removed" word.



Another student pointed out that our solution doesn't work if the word is at the end of the string, but for now we will be OK with that.  I think this was the right amount of "stretch" to give students at this point.  We did a lot of back-and-forth - thinking about it together for a few minutes, then leaving students with something to try, and then coming back together.  That seemed to help the pace a bit.

AP CSP

Today was an interactive notebook day. Tomorrow we test!

Concepts

We did a ACT practice test.  The management was brutal.

One Good Thing

One of my students told me that they created a java program to finish their chem homework.  I love seeing how students can apply this to their real life!

Thursday, October 12, 2017

Day 27: Anchor Posters

AP CSA

Now that students are done with their re-takes, I put up anchor posters around the classroom to detail what we have been working on.  I got this idea from working with Upperline and can totally see why this technique helps students (and myself) process the content.

I planned out what posters I wanted and what they should generally look like and then my TA did a killer job making the color pop.  Here are some of the posters:



For our next unit, I am going to put up new anchor posters at the beginning to help students WHILE they are working on the content.

We did another "unplugged" warm-up today with hand written code.  I am trying to really force students to format their code better (in addition to making sure it is accurate).

I think I could probably give my students a clearer list of all the methods they need to use, but at the same time I want them to get used to reading documentation... I could give them a list of method names and that would at least make reading the documentation easier.

In my third hour, I walked through one of the labs with students... but I think I need to do that with all my hours.  At least putting in comments would be helpful for students to hear how I think through the problem.


AP CSP

I had students do the "encode an experience" project today.  I gave them one hour to do it, and honestly, students who really applied themselves could get it done in one hour.  I had a lot of students not apply themselves so much - they did not finish.

Concepts
Students had their third and final re-take on systems of equations.  I have noticed 90% of the reason why students cannot solve a system is because of simple algebra mistakes (PEMDAS, like terms, negative signs, etc.)   This is frustrating for them AND me.  I actually gave students the correct answer for three of the questions on the test and asked them to show their work to get there.

One Good Thing

I am proud of how my concepts students are asking questions.  Their questions show a lot of attention to detail and a desire to do well.

Day 26: Unplugged in CSA

CSA

I tried doing an unplugged activity based on Abstracting CS's materials.  They use egg cartons to teach strings.  I went to purchase a whole bunch of ice cube trays for $1, but after doing the lesson today, I think I would do it differently next time.

I like the idea of cutting out the scraps of paper, but I think instead of re-arranging them in the carton, I think I would just have students cut them out and we would go over a series of methods on the screen, having students physically manipulate the string to get the desired result.  Some students never used the tray, but I think if they were more movable, they would have used the visual.



I also spent a good amount of time looking at the documentation with students.  I tried to model looking at documentation so students will see that as a resource for themselves too.

Finally, we ended with a mini problem for students to do on white boards.  Then I gathered their work and had students correct the solutions on the SMART board.  I think I could even do a 360 classroom here where students go up to the white boards and write their code collaboratively - afterwards we could debrief the solutions.   This helped a lot because then students saw there were multiple approaches to the same problem.

Here was the prompt:
Write a method called endsWithVowel that has one parameter of type String that returns true if the last letter is a vowel and returns false if the last letter is not a vowel.




I like the idea of making Wednesdays (our shorter days) unplugged days.  I think it switches up the flow of the class a bit and then also forces me (and students) to hand write code.

CSP

I went back and did a mini "why we use number systems" in CSP today to help T-up the "encoding an experience" task that students are going to do tomorrow.  I added some articles about the perils of overflow errors.  Students started making their chart for abstraction.

Concepts

We finally took some old fashioned notes in this class about when you can/should use different strategies to solve systems.  That being said, I think 80-90% of the student issues are with attention to detail when doing BASIC math operations.  I think they generally know how PEMDAS works, but they mis-add, they do the wrong operation, they forget negatives... it is brutal.

Next we are going to do a ACT week-o-fun for MEA week and then move to quadratics.

One Good Thing

Technically this happened the other day, but I was talking with one of my former CSP students who is now in CSA.  I was mentioning that I thought having CSP before CSA was a huge difference maker -- I was thinking in terms of content, but her reflection was really good.  Essentially she said, "Well, I think it helped me learn that I wasn't going to get 'it' the first time.  I had to go back and refine my code over and over again in CSP, so I know to expect that now and that I will eventually get it"

Tuesday, October 10, 2017

Day 25: Back to it!

I am trying to make good on my promise to blog each day again.  I am going to start fresh with today.

AP CSA

Today we did a brief code along for two labs.  I made videos for students to go back and follow along, but I think I should track how many students actually do that. I wonder if it is worth the time.

There is still some confusion around why you would want a class when you can write some simple code into the main method.  Next year (or maybe even this year) I think I want to do the "Mr. Potato Head" exercise with them to act out what is going on when you make a class.

Tomorrow is the last day for re-takes.  I am seeing the importance of having a quick turn around time on re-takes for sure!

AP CSP

Today we got kicked out of the forum and got put in the auditorium. Thankfully we had a rapid research project which made it easy to do get work done in the auditorium.  I am thinking that tomorrow, we will read about ways that storing data has been problematic in the past and then on Thursday do a "encoding an experience" task.  Thus T-ing up Monday for notebooks and then a test on Tuesday/Wednesday before MEA.

Concepts

We did a desmos task with seeing when a professional football player would catch up to a sports caster.  It went well overall.  This will be our last few days with systems of equations - thank goodness!


One Good Thing

In my CSP class there was a piano in the auditorium, so when students finished early a few of them played the piano - it was really neat to see their skills on display.

Wednesday, October 4, 2017

Day 21 - 22: Testing, text compression, good things

AP CSA

On day 21 I wanted to play review games, but students needed more time for labs.  On day 22 we took our first test of the year.  I checked with students on day 21 and everyone was feeling good about it.  The class average on the test was 85%, which isn't bad.  There was also a typo, so I will probably exclude that question.

Before the test we played a quick kahoot.  While I don't like that Kahoot is so focused on time and being quick, I do like how it keeps the pace of the class moving - it is a good mix between student-think-time and then "lets discuss" time.  The multiple choice test was 27 questions long and took students about a half hour.  Tomorrow we do the free response section.

AP CSP

Yesterday was the last of student presentations.  We had about 25 mintues left so I had students start the Bits and Bytes worksheet.  That is a great one to assign as homework since it doesn't NEED to be done in class.  The collaboration piece isn't essential.

Today we did the text compression lesson which I love.  Last year I think I squeezed this into one lesson.  Since students liked it so much, this year I wanted to break it into two lessons.  It just isn't quite long enough.  I think for a flow to this lesson, I like having everyone try doing the first song together and see what our max compression rate is.   Then, divide the class into sections to try the others (except for the Aaaaaa one) and then debrief it.

Concepts

We did two more days of exercises. I just realize how much language hinder's students ability to do math.  I see this on quizzes all the time.  I don't really know what the right amount of support is.  For systems of equations, students are telling me that the "solution" to the system is y = 3x + 2 ... They don't see that the solution should be a point.  So, if I tell students your answer should look like (x, y), I think they could do the math to get there.  But, does that "count" as doing math?  It seems like they don't understand what a solution means in context although we have spent a TON of time on it.

I think MEA week we are going to do an ACT practice week.  I am interested in seeing how that goes.


One Good Thing

Today I have a few good things:

  • A student came to me and said, "sorry I acted so immaturely 3 years ago".  It made me smile since this kid and I did butt heads a lot but I he was a fun student.  It also goes to show you need to wait a LONG time as a teacher before you get any props. 
  • Another student was reminiscing about CSP and talked about how great it was with other students.  Also, at CSTA, I realized, that instead of having a CSP -> CSA -> Projects path way, I could totally just let students go from CSP to a projects class.  That's kinda exciting to me.
  • During the Kahoot, one of my girls was on the leader board, she fell to third because she got one wrong.  I said something along the lines of "bummer" and she shrugged her shoulders and said, "well I still learned something, that's whats really important".  Sometimes I think I don't give my high achievers enough credit for actually having a love of learning.  Sure, some have a love of getting As (not learning), but it is cool to have someone this young "get it".

Monday, October 2, 2017

Day 19: Finding the balance

AP CSA


At this point I have officially moved the test back a full week from when I normally intended to hold it.  What I have learned:

  • More formatives (beyond the labs) are needed.  I am thinking of 
    • Adding warm-ups that ask students to write code by hand while their computers are getting started
    • Quizzes that are pencil and paper based - maybe on google.  I don't know how to do this securely on laptops.
    • Maybe a Kahoot type of thing... although from here I think the questions might be too complicated to do via Kahoot.
I am making a practice quiz for students to look at tomorrow in class. 

Today we did a bit more of a codealong but I felt like at times I went too far along the lines of "doing it for the students".  I need to find a better balance there.  Any time when a student asks me to "go back to a previous screen" I feel like they are just copying down what I have. 

AP CSP


We did flash talks today.  I can see we need to do a better job of CLEARLY stating our opinion on an issue.  So far the 10 hundred most common words hasn't been as popular as I thought that it would be.  Some people are doing a great job though...

Concepts


OUCH.  Today was rough.  It ended with us all putting away our laptops and writing about our feelings.  I still have to read what students wrote, but I am hoping it will give insight as to what needs to change.  I have some ideas, but I think having students know that it is important that we figure this out together is important.  

The short story is, we did desmos activities today, but students were so prone to distraction - there was tons of yelling back and forth about off task things.

One Good Thing


TBH it was hard to find one good thing about teaching today, but then my previous students fixed all that.  In a random coincidence, three former students made an appearance in my day - one in person, one via post card, and one via email.  It certainly made my day better!  Two are doing cool things in college with what they learned in my CSP class and then one is continuing to do cool things at my school.