Lifehacks of an Online Instructor

As educators or students, we all know there are differences between an online and a traditional education. While online education offers convenience and enormous flexibility, there are inherit challenges present not faced by a traditional education. In this article, I will focus on life hacks that I’ve used to overcome some of these challenges in hopes that other educators will find inspiration and even share their own life hacks.

I’ve served as an online instructor in the Java certification program at the University of California, Irvine (UCI) — Division of Continuing Education (DCE) since 2008. As one may expect, I’ve had many fun years to experience the challenges of being an online instructor and to experiment with overcoming these challenges! I finally feel that I’ve found my sweet spot in implementing life hacks that I now freely share with you.

Lifehack #1: Automatic Grading of Homework Assignments

How I wish I had done this years ago: just like my LASIK eye surgery! I found myself at a point where grading the computer programs submitted by students for homework took me forever! I mean, I owe it to my students to review their code line-by-line and provide feedback on issues and efficiencies that can be made, right? Can you imagine having to do 40+ code reviews in one-week? Enter Hacker Rank for Work, a subscription service that aims to help companies source, screen, and hire engineers and other technical roles! Now, I know that Hacker Rank for Work was meant to be used for technical interviews, but I’ve repurposed it for my needs! My students use the platform to submit their homework; subsequently, upon submission, the assignment is automatically graded by executing test cases I’ve provided. This not only provides students immediate and real-time feedback on homework, it frees me up. I bet you are curious to know what I do with my new found free time? I will tell you! I use that free time to give students that need a little extra help more attention. Hacker Rank for Work, allows me to quickly identify those students. If a student scores less than 100, I know the dots aren’t quite connecting yet, and I provide more focused guidance around the specific test case that didn’t pass and why. No longer is my nose buried in code reviews, instead I can provide more focused and individualized attention where needed.

Lifehack #2: Reducing New Programmer Attrition Rate

Let’s face it, programming is not easy and learning to program for the first time (in an online environment) can be challenging. Over the years, I’ve experimented with several techniques to determine what works best for reducing the attrition rate among students learning programming for the first time. Here are things I find to be useful:

  • MyProgrammingLab — MyProgrammingLab, an interactive online programming environment provided by Pearson, is used to engage students with immersive content, tools, and experiences. I specifically use MyProgrammingLab to provide interactive weekly lectures that allow students to practice the examples found in the book in real time. The feedback is immediate and solutions are available for review.
  • CodePair — CodePair is a real-time video platform for interviewing provided by Hacker Rank for Work. CodePair is meant to be used for conducting technical interviews; however, I’ve repurposed it to provide virtual office hours that allow me to pair program with students and answer questions in real time.
  • New Programmer’s Study Group — I’ve created a special discussion forum and a study group for students that are new to programming. We meet on a weekly basis via WebEx. I ask students to send me questions ahead of time so that we can make the most of our time by having more focused discussions.
  • Team Assignment — When forming teams to work on coding projects together, I do not form teams at random. I consciously couple new programmers with other students that have programmed before in another language.

Lifehack #3: Building & Fostering a Learning Community

Online courses provide less opportunity for social interaction than most on-campus courses. The convenience of logging in to a class on your on, in your own time, can be accompanied with the perception that you are by yourself. When online students feel isolated or not supported, it’s easy for them to give up because there is no one looking over their shoulders to hold them accountable. I find that building and fostering an online community increases student engagement and overall happiness. Here are techniques I use to build an online learning community:

  • Profile Photo — I require all students to add a photo to their profile; it’s great to put a name with a face when trying to build an online community.
  • Frequent & Engaging Discussions — I’ve created forums that discuss the latest trends in technology to keep students interested in sharing with other students.
  • Random Extra Credit Questions — All students can make use of extra credit, right? I post extra credit questions at a random time during the week, which requires students to check-in often on the course if they’d like to be the one to earn extra credit for that week. This keeps students participating and active in the course.
  • Leaderboard — I make use of Hacker Rank’s leaderboard for extra credit coding challenges that I offer to my students. A student’s name will move up the leaderboard as more challenges are completed. A leaderboard is a fun way to engage students and bring out their competitive natures.
  • Voice Recordings — I use Canvas, a Learning Management System (LMS) provided by Instructure. Canvas provides a feature allowing instructors to give voice recorded feedback on homework assignments. I like to use this feature because it enforces to students that their instructor is actually a real person and not a robot on the other end of the computer.
  • Immediate Answers to Questions — Canvas offers a mobile app that once installed sends me a notification whenever a student asks a question. This feature allows me to respond almost immediately to questions so that students aren’t left waiting.

Lifehack #4: Quantifying Student Participation & Growth

In the past, I’ve used discussion forums to measure student participation and still do today; however, in an online programming course, there are other ways to quantify participation. My students use GitHub, an online version control system, to host the code they write during the course in a private repository. GitHub is also used by my students to collaborate with other members of their team on team assignments. The main benefit to me is that I can see who is actively participating and who is not and intervene where necessary. The main benefit to the students is that they have an online portfolio of source code that showcases their hard work and growth that can be shared with potential employers.

Through the aforementioned lifehacks, I’ve found that it has mainly been the use of technology in my classroom that makes my life easier and ensures that students perform well and stay engaged. If you are an educator, please feel free to share your life hacks as comments so that we can grow and learn together!