100 Girls of Code

This morning was the first 100 Girls of Code NWA workshop that our group put together, and it went really well! Around 39 of the 50 that registered showed up, and we all had a great time. We started out with a Scratch demo, and then some lab time for the girls to make their own things. This was the largest single block of time, and I was worried that they would drift off after a while but that didn’t seem to be the case. Throughout the session, all the girls seemed to stay engaged, and the other volunteers and I were kept busy answering questions and figuring out how to do things. Afterwards was an introduction to HTML, and then my section on JavaScript.

I had a Prezi prepared where I went into what object oriented programming was, what weakly-typed means for a programming language, and the difference between a scripting language and a compiled language. However, I noticed when I got to the workshop this morning that the average age of the girls was on the lower end of our spectrum (10 – 18), so I decided to not use the presentation and whipped together the beginnings of a choose your own adventure story!

Here is what we started with:

1
2
3
4
5
6
7
8
9
10
<!doctype html>
<html>
<head>
  <meta charset="utf-8">
  <title>My Own Adventure Game</title>
</head>
<body>
  <h1>My Adventure Game!</h1>
<body>
</html>

And here is what we finished with:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<!doctype html>
<html>
<head>
  <meta charset="utf-8">
  <title>My Own Adventure Game</title>
</head>
<body>
  <h1>My Adventure Game!</h1>
 
  <script language="Javascript">
  var adventurer = window.prompt("What is your name, adventurer?")
  document.write("<p>Welcome, " + adventurer + "!</p>")
 
  var fightDragon = window.prompt("Do you want to fight a dragon?")
  fightDragon = fightDragon.toLowerCase()
 
  if (fightDragon == 'yes') {
    document.write("<p>You have defeated the dragon!</p>")
  } else if (fightDragon == 'no') {
    document.write("<p>You have a tea party with the dragon!</p>")
  } else {
    document.write("<p>The dragon doesn't know what you're doing, so it took a nap</p>")
  }
 
  </script>
</body>
</html>

Click if you just want to play the completed game, or check it out on Gist!

Overall, I’d say our workshop was a great experience for me as a teacher, and all of the girls seemed really excited about what they learned. I was so proud of them when their families showed up to the presentation sessions, and I felt great every time a girl chose to talk about her Dragon Adventure Game (or in some cases, her Walrus Adventure Game)! I may have teared up a little bit, but there’s no proof. The greatest part for me was when the girls would complete one of the basic tasks, they would almost always begin to explore what they had just learned to do in new ways. They always had questions about how to do something fun or interesting that they had thought of, so we made sure to point them in the direction of resources where they could learn more. Several girls asked when the next workshop would be, so I know the folks at Startup Junkie who organized this one are already going to be planning more workshops. I look forward to teaching at any of those in the future!

Since You’ve Been Gone…

I kind of let this space fall to the wayside, so here’s an update of how things are going:

  • I graduated with a B.S. in Computer Engineering from the University of Arkansas. I walked in May of 2014, but actually finished classes the following June.
  • I took a position as a mobile developer at RevUnit, doing iOS work.
  • I’m helping co-found a social venture start-up working to develop an after-school/summer tech curriculum based on Raspberry Pis.
  • I’ve become a volunteer instructor at the Northwest Arkansas branch of 100 Girls of Code.
  • I’m working on learning Swift and integrating it into my day to day at work. Additionally, I’m dipping my toes in Apple Watch stuff and beacons, because they seem pretty cool.

I was tempted to do my usual thing and just to wipe everything out and start fresh, but for some reason that really dated post about implementing a search feature in a UITableView with custom cells is still getting hits, I decided to leave it up. Maybe my first project in renewing my web presence will be to update it.

Raspberry Bramble

So what did I do with all those Raspberry Pis?

Raspberry Bramble

Raspberry Bramble


Made a cluster of course!

This is actually what I’m working on as my senior project on a team with two other people. It’s been really fun so far! We’re working on a small image manipulation task using Python, and then we’re going to try to run some tests to get an idea of performance. We’re hoping, ultimately, to create a portable, inexpensive learning tool geared towards cluster computing.

UISearch for UITableView with Custom Cells Tutorial

In this tutorial, I am going to cover adding a UISearch Bar and Display Controller to a UITableView that uses a custom cell class. I decided to write this tutorial after I was helping out a friend who is completely new to iOS development create an app that does this, and I could find no good tutorials that covered how to incorporate custom cells. With that in mind, I’ve written this tutorial for someone of beginner level experience, so I will go over some UITableView basics, how to create and use a custom cell class, transitioning from the UITableView to a detail view, and finally, incorporating the UISearch features. This tutorial is quite long, but I believe it is a good resource for anyone getting started.

Here is a link to the final project on GitHub, which you should download. All the images I use in the project will be available here. All data for the clouds was found on Wikipedia, and all images on Wikimedia commons – I am not a cloud expert!

Continue reading