Sunday, June 22, 2008

Python BrainBench Certification

I have been playing periodically with Python for a few months, i decided to take the BrainBench Certification was carried out by Deltaknot (http://www.deltaknot.com/). Brainbench by Deltaknot however appoints a supervisory staff to monitor the test taken so as to avoid where "few people answering a question"and other forms of "cheat".

Anyway, the test clearly shows some weakness in my understanding of Python, which will be the article for this blog.

But first, here is the result :-

Python 2.4 Assessment Report

Report Information
----------------------------------------------------------------
Examinee Name: (my name)
Date of Report: 6/23/2008
Prepared For: Deltaknot International Sdn Bhd
Prepared By: Brainbench


Assessment Results
----------------------------------------------------------------
Assessment Taken: Python 2.4
Date of Assessment: 6/23/2008
Overall Score: 3.32 (1.0 - 5.0, where 5 = best)
Worldwide Percentile: 67 (99 = highest)


Additional Score Data
----------------------------------------------------------------

Demonstrates a solid understanding of core concepts within this topic. Appears capable of working on most projects in this area with moderate assistance. May require some initial assistance with advanced concepts, however.


Strengths
Standard Library
Language


Weak Areas
Classes
Built-in Features


Ranking Information
----------------------------------------------------------------
.: 1 of 1 (99th Percentile)
.: 1 of 1 (99th Percentile)
.: 1 of 1 (99th Percentile)
Worldwide: 292 of 886 (67th Percentile)


First notice that my weakness as listed by BrainBench here are "classes and built-in features". Ironically after taking the test, i could identify these areas as well. Thiese are probably the same weaknesses that most seasoned programmers in other languages might encounter in the test.

This is because some of the ideas that we have learn from other languages, for eg, C++ naturally becomes the point of association and provides the learning platform when you learn other language. In my case, i skip most of the specific features of Python Classes since i believe i have a strong grasp of the C++ classes and thus didnt bother to pay much attention to it. The built-in features of Python are often viewed and subjected to my understanding of other languages and again which i ignored because i have never used them in practical programming.

For example the usage of : yield and function generators in python, now that is something you are not constantly exposed to in C++ and thus i have the tendency to ignore and skip over such topics, however in the test, these weaknesses are revealed.

This kind of remind me of Forbidden Kingdom, yes the girl is chun (Liu Yi Fei), but i am referring to the drunken master asking the disciple's cup to be emptied before he could teach him. There are some element of truths to this.

After coding in C# for the last few weeks, i found myself doing this in my C++ code :-

std::list listStrs = new std::list()

which is of course an error, since objects in C++ does not need to be "new" unless its a reference or pointer, but in both python and C#, you cannot instantiate any class member like a built in type.


Overall, i would say the BrainBench certification provides a good assessment since i agreed with the results and cheats are avoided due to supervision.

2 comments:

  1. is there any negative marking in this test ?

    ReplyDelete
  2. nope, the scores are indication of your level. eg beginner, master, expert , there is a list of how the score matches these levels.

    ReplyDelete