[Opinion] Programming Exam???
Things that gone wrong for most programming exam
Programming Exam
If you are a computer science or related field student, most likely you had came across programming exam that are closed book. On top of that, you are required to write you answer on paper instead of typing it into computer.
First of all, what is programming?
Computer programming is a process that leads from an original formulation of a computing problem to executable computer programs.
Basically, programming is writing code with following a set of rules and hence creating a computer programs that can be run.
Writing code on paper
According to above definition, the end result of programming should be executable programs. Then, can writing code on paper result in an executable program?
In real world, when we perform programming, we write codes and run it. If our code had problem, error will arise and notify us in which line does the code had problem and what the problem is. We then debug from the error that given by the computer and solve the problem.
However during the exam, we are unable to verify if error exists in our code and we will most likely to be punnished for it. If so, does the exam truly able to measure the learning outcome of the subject? It does not test programming skills of the student, but rather test the ability to memorize the syntax and rules of the language itself, which this will leads to our next point.
Close book exam?
I am not a fans of close book exam, more so for close book programming exam. Programming is not about memorizing all the syntax and rules of the language. In fact, these rules and syntax can easily be found in documentation. There is no point in memorizing them. In fact, if one practice enough for a particular programming language, he/she will be able to remember the syntax and rules of the language.
In real world, we are able to look for reference. Whatever we do not know, we can always Google search and look for books. It is so easy to find information that we do not know. If we are not allowed to search for information during the exam, the exam are testing one memorizing skills rather than understanding and searching skills, which is more important than memorizing. These type of exam does not truly able to measure the outcome of the subject.
The real problem come after that. Student forget whatever they memorize after the exam as if they had not learn the subject before. This is one of the major problem that create a gap between education and workforce.
Back to programming exam, what more important for programming is the ability in looking for documentation and understanding the documentation. We need to understand how things work in order to be able to utilize them to solve various problem. Close book programming exam does not promote understanding, but rather memorizing of the solution. If the problem are changed, he/she who memorize without understanding it will be unable to solve the problem because the solution only fit to the specific problem. The exam outcome does not truly measure programming skills of student, but memorizing skills.
Am I trying say exam should not exists?
No, I am not. Exam has it’s purpose, which is to measure the learning outcome of the period. There are other type of assessment such as assignments, test, project, etc. However, they are there for a different purpose. For assignment and project, we are able to ask for help from other people when problem arise. We always know the genius who we can ask for answer. However, there are cases where we will face situation where we do not had anyone to ask for help from. We need to be able to utilize whatever around us to solve the problem.
I am not saying that ask for help is bad. Ask for help is also a type of skills. Asking the right question will result in getting the answer we want meanwhile the opposite might not result the same. However, looking for answer by ourself are also an important skills to master.
My solution
If current exam system are unable to achieve the purpose of having an exam, we should evolve the system itself. I think all exam should be open book and we should at least allowed to take reference from book if internet are not possible. We should be able to refer to reference material during exam, because reference material are meant to be refer, not memorize.
For the case of programming exam, we should be able to use computer and submit our answer digitally. It is understandable if internet are not allowed during the exam due to exchanging answer with using social media, but we should at least has access to offline documentation.
Although this solution might not be perfect, but it is without a doubt solve some problem that we are having now.
Conclusion
In real world, we are able to search for information when face with problem. However, exam does not allow that, Moreover, it promote the use of memorizing than understanding. Therefore, it create a gap between education system and workforce.
Hence, we should be allowed to make reference to reference material during the exam, and hence promote searching and understanding skills over memorizing.