Teaching Training

Girl Develop It Class: Intro to Swift and iOS Development

I had the honor of teaching a class for Girl Develop It (GDI)’s Austin chapter this past weekend. Many thanks to GE for sponsoring the class with meeting space – we had a great space to work and learn in.

I made slides using GDI’s template, which you can view at:

You can also use, modify, or improve my slides – they are open source (using Reveal.js), and available in this repo:

Improvements are always welcome!

I hope everyone taking the class enjoyed it as much as I enjoyed teaching it.


Taught Two Day Class on AWS, Databases and RESTful APIs

I just taught a two day in-person corporate training class that was a basic introduction to cloud development and databases for software developers. This class used Amazon Web Services (AWS), MySQL, MongoDB, and Java 8 for the core technologies. We built a microservice web application with the Spark microframework for Java that provided a RESTful HTTP API, and then deployed it to Elastic Beanstalk.

There was also a fair amount of Python, which is always a fun language if everyone knows it.

It’s also always fun to update courses and see what has changed over the course of a year. The biggest changes were to the S3 web interface (switch back to the old interface if you want to remember how it was), and to Elastic Beanstalk’s getting started landing page (which has about three or four different states). Other things barely changed, like MySQL Workbench and Spark Java. Of course, if everything stayed the same, teaching wouldn’t be nearly as much fun!

Building Mobile Apps iOS Development iPhone Development Training

Write your first iPhone App using Swift 3 and XCode 8

I’m creating a tutorial series on creating iOS apps from the ground up. Take a look at the first video, it will get you started programming iPhone apps even with no experience. I’ll be exploring this more on, if you want to follow along there.


Led three week corporate training for new graduates

I’ve been doing more training, teaching, and documentation projects recently, and it’s been a lot of fun. In July, I led a three week on-site summer technical leadership program for new college hires. The training focused on Amazon Web Services, building APIs as microservices (and deploying them), relational and NoSQL databases, and test-driven development with Java.

I’ve given the AWS, building APIs, and databases training as a two-day class now to motivated students, and it’s been really fun – I’m constantly learning new things as I go when it comes to teaching the material. Not necessarily on the subject material, but on the questions the students ask, and more importantly, where they get stuck.

This wouldn’t be as effective if I wasn’t taking on these types of projects already, so I am continuing to do software development as well. Otherwise, I could easily end up with stagnated skills, teaching say, Objective-C, until the demand for that type of thing goes away. Instead, by taking on projects using Swift for iOS development, it backs up my ability to teach a class that uses Swift.


Delivered AWS and Test-Driven Development Training Classes

I just recently gave a one-week training class on Amazon Web Services for corporate developers that were new to the cloud. We covered EC2, S3, Elastic Beanstalk, Glacier, ElasticSearch, Elastic Load Balancer, costing, scaling, and quite a few other topics. Most of the training was language-neutral, but we used Java for the programming exercises.

In addition to the AWS class, we also did a half-day exercise on Test-Driven Development with Java (using JUnit 4), which I could have expanded out to a full day pretty easily.

If you’re interested in either of these classes, or training classes on iOS or Android, feel free to contact me through this web site. I’m working on building out some supporting training materials and additional exercises for both of these classes.

iPhone Development Training

Meme App for Learn It Meetup

I’m teaching a class on how to make an iPhone app with the Learn It Meetup – as part of the class, we are going to build a Meme app for iOS 7 using Storyboard and Objective-C.

I’m publishing the app on GitHub – – the v1.0 tag is the completed version for the meet up.

Some of the concepts in the app are:

  • View Controllers
  • Navigation Controllers
  • Tab Bar Controller
  • UILabel
  • Creating a View Controller class
  • Using the XCode Assistant
  • Outlets and Actions
  • UIImage and UIImageView
  • Creating a UIImage from a UIView
  • Subviews
  • UITextView
  • Sharing on Facebook
  • Sharing on Twitter
  • Working with the Keyboard
  • Using the Camera
Training Uncategorized

Learn how to build an iPhone app for Drupal at SandCamp 2014!

Come to sunny San Diego for the DrupalCamp by the beach – SandCamp – January 23-25, 2014.

I’ll be teaching a training class for Drupal developers to learn how to build iOS apps (using Objective-C) that talk to Drupal. This is a class for web developers who don’t necessarily know anything about Objective-C, XCode, or mobile app development – I’ll be talking about all of these, along with the Drupal Services module.

The training class is on Thursday, before the camp starts, so show up for the training, and then spend the next two days at the camp, and then maybe spend that Sunday exploring San Diego!

Android Hackathon Talks Training

Android Training Class: AppHack Austin – November 9, 2013

I’ll be giving a training class on Android development as part of the AppHack Austin hackathon on November 9 from 3pm-5pm.

It’s a mobile app hackathon, so you can enter an iOS, Android, Windows Phone, Blackberry, or HTML5 mobile app if you want to. Don’t know how to do any of those? Take my intro class on Android development – focusing on what you need to know to create an Android app that calls out to a REST API. From there, you can do a lot of cool mashups with APIs.

Bring a recent laptop (4 gigs or more of ram is nice) – and preinstall the Android developer tools ( – it’s a big download. You can use OS X, Windows, or Linux. Also bring your Android ohone or tablet and it’s charger, and you can start building apps for your own device with no signup or payment required!

There’s a discount code embedded on the Eventbrite page as a riddle.

If you can’t make it to the class, keep an eye out for my new project – Building Mobile Apps – online courses for iOS and Android app development.

Feel free to email me at jlinwood at with any questions!

Android Drupal Planet Training

Training Class Recap – Building your first Android App for Drupal – SandCamp 2013

Recently, I had the opportunity to provide training on building Android apps at SandCamp in San Diego! I was excited to teach my first training class at a Drupal camp, because I like to teach, and I like Drupal. We built this app from scratch:


Why Android apps? First, Android is open source, and the developer tools run on Windows, Mac, or Linux. Second, you can run the app you create in the class on your Android phone or tablet just by plugging it in, changing a simple setting on the phone, and then clicking “Play” in the Android Developer Tools. Third, a lot of the concepts for native mobile app development with Drupal (asynchronous networking, threads, list views, JSON/REST) are shared between the Android, iPhone/iPad, BlackBerry 10, and Windows Phone platforms.

I chose to teach how to build a Android 2.x style of application for this class – it was an intro class, with no expectations of knowing anything about app development or Java. Android 4 (Ice Cream Sandwich) has many new components, including the Action Bar, and Fragments, but they don’t work out of the box on Android 2.x, which is still running about 50% of Android devices.

We covered a lot of interesting topics – including Android layouts, Java classes, methods and exceptions, Android’s AsyncTask, Drupal’s Services and REST Server, Android ListViews, parsing JSON with Android, Android’s permissions, and last, loading an image off the web into an Android app.

I haven’t given a training class for a Drupal Camp before, but I found it to be very useful to me to create a training guide for the students that basically covered everything I spoke about, with lots of screenshots of how the app should look when you add this code, code listings, and discussion. It ended up being about 80 pages for a four-hour class, so it’s about half of a decent book right now.

The biggest request at the end of the class was – where should we go from here? There aren’t a lot of specific resources for building Android apps that talk to Drupal, but I can definitely recommend the Android Design web site:

Before getting too deep into Android, it’s definitely important to understand how Google wants you to design apps. It’s definitely different from iOS app design, which is what you will usually find in when mobile design is discussed. Beyond that, I also highly recommend this book on Android development:

Android UI Fundamentals: Develop & Design by Jason Ostrander.

Google has an Android Developers web site, but I feel that it’s not well suited to beginning app development.

If you’re interested in Android or iOS mobile app development for Drupal, and you have any questions, feel free to contact me here through the Contact Form at the top.