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.


C++ Pointers + Structs

Finally done with another video lecture! This is a continuation of the previous video on Pointers and Arrays in C++. This video focuses on Pointers, Structs and Arrays in C++.

I’m still experimenting on which video lecture style is most appropriate – formal vs informal, live (hand drawn with markers) vs digital (screen recorded) – for computer programming. People might be thinking that digital is the only way to go but I believe there are certain topics that need to be discussed by hand first such as pointers.

iPad as DocuCam

My set up to record this video is shown in the picture. I was looking for a cheap, DIY docucam (document camera) and this is what I came up with. I originally looked for a 2-foot single tier wire rack but I couldn’t find one that fits. I searched around Wilcon Home Depot and arrived at the kitchen area where I got that thing. I don’t know what you call it but it was flat, elevated and had gaps for the camera to see through. I got 2 velcro straps to fasten the iPad to the kitchen thing.

It turns out, there’s a huge focal point discrepancy between the photo and video mode of the iPad 3. The video mode seemed to be zoomed in as compared to the photo mode. Meaning, I had to make my docucam higher to cover more area. I estimated that I needed around 2 feet to get it to the right height. I used my idle PS3 games and audio CDs as pedestals as shown. Despite the achieved height, half of the screen was still covered by my hand but it served the purpose. Later on, I further increased the height by replacing my makeshift pedestals with the boxes of The Book of Sith and The Jedi Path 🙂 They still served me well.

For the writing materials, I bought the whiteboard and eraser from National Book Store. The colored markers came from the president of my Advisory class, Maia Leyretana, when she came back from Korea.

I made the lecture somewhat formal, with most of the bloopers cut out or redone but there was still a fluke in one of the slides and I left it there. I recorded my voice using a Zoom H1 and edited the video using Camtasia for Mac.

Taking in the comments from my last video lecture, I targeted a max of 10 mins and had a short introduction to indicate what I’m expecting from the viewers such as prior knowledge. The original lecture that I used in class was good for 45 minutes. Cutting out the interaction and mistakes, I was able to compress it to 9:58 but I think the flow is terribly fast.

Nonetheless, I believe the video is still educational. Feel free to comment below on what I need to improve on. Thanks in advance!

You can check out the video here.


C++ Pointers + Arrays

Finally got to upload the video lecture on C++ Pointers + Arrays. But honestly, I think it’s boring. I still need to practice making video lectures. This is like the 3rd one that I made but I’m still not getting the hang of it.

The more I make it formal, the less interesting it becomes. If I make it casual, it tends to be lengthy.

Aside from the entertainment factor, I found it difficult to draw on Adobe Photoshop. I tried to look for drawing tools that automatically smoothen out your pencil drawings but I couldn’t find one. My best bet was Autodesk Sketchbook Express for Mac which is free to download from the Mac App Store and iTunes. It has a different user experience which was clearly intended to be keyboard-free. All the controls and settings can be done from the widgets of the user interface. Pretty interesting approach there and fun to play with. Though I need more practice writing and drawing with the tablet.

As for screen recording, I’m using the best one out there and it’s TechSmith Camtasia for Mac which can be found here. What I’m using is the full version because the beta testing, which lasted for more than half a year, has ended and I got my free copy 😀

Nonetheless, the video can be found here. Feel free to comment but please be merciful.

I’ll try to make another one. Though I’m also exploring different methods aside from digital video lectures.

Edit: Oh look here! Autodesk is looking for beta testers for Sketchbook Pro!


Facebook Comments

That turned out easier than I expected…

I’m now using Facebook comments for this blog rather than the built-in comment system of WordPress. I followed the instructions here and it worked like a charm. I didn’t know making a Facebook App was that simple too. Amazing.

Thank goodness for nerds like Fat Panda.