Over the past seven years, I’ve had the pleasure of teaching a course titled “Cloud-Powered App Development” twelve times now at the University of Houston with my long-time friend and faculty colleague Jesus Hernandez. I’ve been humbled by the course’s success, regularly producing some of the highest course evaluations in the department and earning me a less-official ranking of highest-rated professor on ratemyprofessors.com for the entire University of Houston. Our course content is open-source and maintained on GitHub and we encourage you to use any portions that may be of benefit to your classroom.
The Covid-19 pandemic has created many new challenges, particularly in the area of Education. In September of 2020, I learned that the University of Houston would move all classes to a primarily virtual format. My course would not be offered until the Winter, and it became very clear as that date neared that the Cloud-Powered App Development course would need to adapt to this.
To accommodate, the first issue was to figure out how the students would meet together for instruction. Microsoft Teams was a natural choice as the University of Houston provides student access to Office 365 services. However, this did not mean that the process was straightforward, as this is not activated for students by default. One month before class started, I created a custom Teams channel for the course and sent a message to all students with instructions on how to obtain access with a simple instruction of leaving a message of "here" to ensure that they could properly access the virtual classroom. This gave students ample time and peace of mind that they could properly access the course, and as a result we had 100% attendance on the first day of class!
The second issue was ensuring that students would have access to the prerequisite services needed to complete the coursework. Looking at the course description for MIS4397: Cloud-Powered App Development" can give a glimpse into what was needed:
"The course will cover: (a) Cloud Services - The primary technology focus will be on the Microsoft Azure Platform and cover scalable services / websites / virtual machines; (b) Platform as a Service offerings to support scalable web development / deployment with WordPress on Azure. (c) Introduction to AI concepts including computer vision and the development of custom object detection models. (d) Internet of Things applications using GPU accelerated embedded devices to employ object detection models and publish inference results to the cloud."
To accomplish these goals students would need access to the following services:
The great news is that academic institutions can obtain access to these resources at zero cost!
To accommodate access to Microsoft Azure, we leveraged the Azure for Students Offer, which provides $100 in Azure Cloud for use in academic settings given a valid *.edu email address. This serves as the backbone for a variety of hands on activities in the course which include:
The Microsoft Learn Platform is a free, online training platform that provides interactive learning for Microsoft products and more. The goal is to help you become proficient on Microsoft technologies and learn skills with fun, guided, hands-on, interactive content that's specific to your role and goals. We use many of the modules here as homework content which we were able to track completion (which greatly simplified the grading process) using a custom Cloud Skills Challenge. Examples of modules used in the course include:
NVIDIA's Deep Learning Institute (DLI) offers hands-on training in AI, accelerated computing, and accelerated data science. Developers, data scientists, researchers, and students can get practical experience powered by GPUs in the cloud. This was particularly challenging as we required physical devices in order to complete the AIoT Lab - Getting Started with DeepStream for Video Analytics on Jetson Nano hands-on-lab. This required engineering a home lab solution consisting of 10 NVIDIA Jetson Nano devices that were deployed into a securely segmented LAN and made accessible over the internet. The effort was totally worth it as each student was awarded with an official certification from NVIDIA for completing the lab! If you have the chops or interest to reproduce or use my homelab, let me know, I plan to keep it in production until the pandemic ends ;)
With these challenges out of the way, the course was able to be offered with zero compromises, we could teach exactly the same content that we would have had we held the class in-person. However, we discovered that a 100% virtual classroom actually opens up the door to otherwise inaccessible opportunities.
Microsoft Teams gives you a number of benefits to ensure students are engaged and provides features to make it very easy to help students who may be stuck on portions of an exercises.
As a final assignment, we task students to present a scalable website running on Microsoft Azure. Using Teams we were able to allow students to deliver class presentations from the comfort of their home, and let me tell you, these presentations were amazing! Here are a couple examples (keep in mind they build these in FIVE days!):
At the end of class we took a couple team pictures using Together Mode, one "normal" and the other will be familiar if you attended the University of Houston (Go Coogs!)
I am pleased to say that as a result of this course, we had 30 students who successfully completed each and every assignment, which consisted of:
When you take advantage of technology, it is often the case that you can improve your overall situation. In our case, by leveraging tools and technology services we were able to deliver a course that covered a wide range of topics with hands-on materials provided by various online learning platforms. This enabled us to make the most of situation, and as a result we have inspired a new batch of students who are now aware of these possibilities and prepared them for the world of tomorrow. But don't take my word for it:
Until next time...
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.