This past Spring Semester, I got the chance to teach a Java Programming course, which included teaching Object Oriented Concepts. It was a great challenge for me to teach, because most of my students came from the DOS black box procedural programming background.
This semester I set out to do something different. In every class I teach, my goal is for students to learn the material, which is obvious, but also keep them entertained. I thought back to my professional experience, and realized that during college, I never had a tech interview. After graduating with a Master’s Degree in Computer Science, and going on job interviews, I was getting hammered with tech questions, which I was not ready for. I came out of so many interviews demoralized, that I even considered changing careers. This wasn’t the fault of anyone but myself, but I picked myself up and learned from my experience.
We all have to fall down hard to get back up again, and it took various interviews for me to realize how succeeding in a job interview is a skill in itself. This brings me to my Java course, and I realized that this would be the perfect opportunity to instead of giving a boring written assessment, I would schedule a tech interview with each and every one of my 23 students. This is how I did it:
1. I sent a mass email to my students asking them to give me a time,day, and best number to be reached at in the span of 2 weeks where they were available to talk for 30 minutes. This was very difficult, because like most of us, we all have lives, and it was a challenge to schedule the time and days for everyone. It was not only difficult for my students, but also myself, since I work a full time job. I had to schedule the phone interviews after 5 p.m., and if some weren’t available, I offered to do the tech interview in person at the college. Out of the 23 students, I only had one student not take the assessment.
2. I used my Android Phone Calendar to keep track of all my student interviews. I also sent out reminders to students to schedule the interview if they hadn’t contacted me regarding a time and day. I’d list the names of those that hadn’t scheduled an interview, which was tedious.
3. I had to do the assessment at a point in the course where I had enough material to quiz them on. Some example questions were ( I have more, and if you’re interested, send me an inbox ):
A. What does the static word mean? Can you override a static method? How about a private method?
B. What is overloading? What is overriding?
C. I am in a child class and want to call my base class constructor, how would I do that?
D. Can I inherit from multiple classes?
4. I explained to the class that in the real world, tech interviews are a lot more stressful, since some will be very cold. Of course I wasn’t going to be nasty, since I took the first 10 – 15 minutes of the phone call to find out what they were interested in, particularly in the field of Computer Science.
I enjoyed talking to each and everyone of my students on the phone, and from the feedback I received at the end of the semester, they were all pleased with taking that type of assessment instead of a written one. I could tell most were nervous when I called, but I managed to do my best to build up to the actual tech interview questions. I felt that students were more confident with their answers as I went through the technical questions. The positive reaction I got from this class has given me the green light to continue doing this in my future classes. This fall I will be teaching an ASP.NET course, and will be doing a variation of this assessment. How I’ll change it is something that I’m still trying to figure out, but it’ll come to me.