No Projector? No Problem!

It’s been quite a long time since we’ve had a dedicated working projector for the Viper Lab (classroom where I’m teaching). We’ve already asked for additional projectors but due to the high demand, it cannot be met. We’ve resorted to asking the community through the foundation at AghamRoad.ph. Unfortunately, it’s moving slowly despite being shared in Facebook more than a handful of times already.

I’m teaching Data Structures and Algorithms and go in-depth even to the memory level and pointers when I discuss. I use a lot of code and diagrams to show my point. Unfortunately, it gets tiring to keep on writing board-full of diagrams every meeting. This is where the advantage of the online lecture slides and video lectures come in. However, even with lecture slides, if you don’t have a projector, it’s not as easy to transfer the concepts. The video lectures are meant to supplement the lectures in class for those people who want a repeat of the lecture. They weren’t designed to be the primary method for teaching.

Being desperate, I turned to a familiar technology that I’ve encountered in my previous work. It’s time to work with VNC again. VNC, Virtual Network Computing, is a network protocol for screen sharing or remote desktop. With it, you can control another computer. For my class, I didn’t need full control. I just needed a way to project my screen unto theirs. Also, since we’re low in budget, I was looking for a free portable VNC Server and Client (Viewer). Last time I checked, RealVNC had a price tag and it still has for the server but the client is free. Luckily, I found the free Ultra VNC.

Yesterday, I configured my Windows 7 on my MacBook Pro to run Ultra VNC server. I asked my students to download the RealVNC viewer from my computer (since I have apache running as well). Since we’re all using portable versions, no installation was necessary. They simply unzipped and ran the executable and connected to my laptop via VNC. At first, it wasn’t working right and the clients are all getting blank screens. I closed my VNC server multiple times and it didn’t seem to fix it. I went to the task manager to see a few lingering VNC processes running. Manually ending these instances, I ran the server again and asked everyone to connect. When I heard a few people gasp in amazement, I knew it was working.

“This is cool!”, “How did you do this?”, “It’s amazing”, “Sir, can you see my screen as well?” were the responses of the students. I told them to scale to fit their windows since my screen resolution is quite high and they only see almost half of the screen. With this at hand, I continued my lectures on Linked Lists. I can show them the lecture slide then switch to Notepad++ and Cygwin to demonstrate. I checked my students’ screens from time to time and I noticed that the mouse doesn’t show. I had to keep on highlighting texts in order for them to follow me while I talk.

However, since the lecture was about linked lists, I still needed to draw. The students were cheering “Sir, use Paint!” And I refused to give in to their demands and decided to still use the traditional method of writing on the board – which leads me to another experiment for tomorrow. Since I need to draw diagrams (lots of it), I will bring my tablet tomorrow and see if I could draw everything on screen (using SmoothDraw). Aside from that, I’ll try to record my screen using CamStudio.

Despite all these attempts, the whiteboard is still necessary since the wide space will allow me to write a ton of information and the students can easily go back by looking at the previous writings.