Skip Top Navigation Bar

Engaging Tools for Beginners

Engaging Tools for Beginnners

As I’ve looked for new ways to engage today’s students, I don’t feel we can underestimate the types of technology students’ interface with on a regular basis. You may have read me say this before, but the first program being “Hello World” may have been fascinating to us when learning to program many years ago, but I don’t think a simple “Hello World” program will catch a students’ attention today. Today’s programming students are consistently interfacing with much more sophisticated programs through social media or playing games with programs like Game Pigeon - what my teenaged daughter is currently playing with a friend on her iPhone.

When I was teaching, the first week of school was drop-add week. Engaging my students during the first week of school was critical to keeping them. More importantly, I wanted to foster a love for computer science and show my students what they could accomplish with this powerful tool. The challenge? Doing this with students who hadn’t written a single line of program code.

Here are a few techniques I used over the years:

Recently, I wrote a program as part of a case study for a very basic rewards app. Love them or hate them, most people have a rewards app that they use to earn points and deals. These are in restaurants, grocery stores, and all sorts of places. The idea of this project is to give students a starter app and have them do two things:

  1. upgrade it to the latest in Java; and
  2. improve the app

The improving part could mean adding new functionality or students can explore other areas of computer science like data science to deal with a large customer base, machine learning to look for patterns in the data to offer more customized deals, or protect customer privacy by increasing app security. My app isn’t very secure to begin with by design.

After writing the case study as a text-based program, I realized how unrealistic it was compared to all the other rewards apps that are installed on my phone. I wanted to make it a bit more realistic by incorporating graphics and clickable elements like buttons. I started to re-write the program with JavaFX. JavaFX can be cumbersome to get started with, but with IntelliJ and a the FXML Manager plug-in for the scene builder you can update the controller file from the scene builder FXML easily. Then add your program code into the controller file for each action to interface with the user. Using the scene builder reminded me a lot of using Visual Basic many years ago. It felt intuitive and easy to introduce to students.