Introduction
The Department of Computer Science at The University of British Columbia is one of the best in the world. However, many Computer Science students struggle with the technical interview and therefore have problems being employed within the computer science coop program. Usually, an interview for a programming job is comprised by a behavioral part and a technical part.
Statement of Problem
For the behavioral part of the interview, the coop program offers plenty of resources and practice so that one will be prepared for it, but for the technical part, which is mostly about algorithms and data structures, one has to simply find some time to exercise. The problem is that most students take 5 courses each term, and they have no time to practice technical questions that are given in interviews. Some employers declared that they lowered the standards lately to the point that their only requirement is that the student has the ability to write some code. Normally, a programmer must analyze the complexity of the code written as well, but this is something that most students lack, and so some employers do not have that requirement anymore.
Proposed Solution
There are at least two possible solutions for this problem. One would be to create a course that deals with interview practice only. As I stated previously, data structures and algorithms are the topics of technical interview questions. I am aware that there are already 2 mandatory courses that focus on these topics, but they mostly explain the theory without offering a broad variety of problems to the student. Another option would be to have AMS sponsored clubs that practice technical interview questions regularly, but it seems that so far there is no club that has that focus specifically. Both alternatives would give a chance to the students to practice problems and analyze the complexity of their solutions.
Scope
In order to determine if it is achievable to have such an interview practice course at UBC or an AMS sponsored club that focuses on the same thing, I propose the following questions:
- How many students would want to enroll in such a course?
- How many students would want to participate in the club?
- What will be the format of such a course?
- What percentage of the course grade will go to assignments/projects?
- For the club, what measure can be taken so as to accommodate students coming from various years in the computer science degree?
Methods
My main source of data will come from interviews with Computer Science faculty members and surveys dedicated to students from the computer science degree. There is always the problem of finding a lecturer for specific courses within this faculty, so in that sense, it would be beneficial to discuss this matter with the dean of the department as well.
My Qualifications
I myself am a student at UBC Vancouver Campus, studying Computer Science, and there are multiple instances when I faced difficult problems in technical interviews. Therefore I decided to take action and make interviews more approachable for computer science students.
Conclusion
While UBC is one of the best universities out there in the world, it certainly lacks a key component for the students’ academic life, and that is the practice for the technical fragment of the job interview. One possible way to solve this issue is to add a class that focuses on the practice of data structures and algorithms or a club driven by students.
Hi Raz,
I think the idea of approaching of a club creating a practice routine is workable – is there a computer science club already on campus? Creating a course is not feasible. You need to give me more information …. thanks.