Change search
ReferencesLink to record
Permanent link

Direct link
Automatic Grading System in Microsoft .NETFramework: Evaluating the performance of different programming languages on the Microsoft.NET platform
KTH, School of Computer Science and Communication (CSC).
2014 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE creditsStudent thesis
Abstract [en]

A common challenge for software consulting companies is recruiting the right people. In the software industry, the recruitment process usually involves several steps before a contract is signed; a single job interviewis rarely enough. Thus, the interview tends to involve some test to make sure that the job applicant is qualified. The testing procedure is usually part of the interview or conducted at the same occasion. Interviewing applicants who are not qualified for the position is a waste of time. This waste can be minimized by only interviewing qualified applicants. In the software industry, qualifications are commonly asserted by letting an applicant solve programming problems. This process can be automated using an Automatic Grader. Such systems already exist on some universities today and are used extensively invarious programming courses and also in programming contests.This thesis explains how such a system can be built using only Microsoft.NET Framework while still supporting multiple languages. The thesis also evaluates this system with regard to execution speed and memory consumption in an attempt to find a scaling factor between the different programming languages since the same implementation of a specific algorithm in different languages should be graded equally. The supported languages are C#, Java and Python. Java support is enabled through the use of a Java byte code to Common Intermediate Language(.NET bytecode) compiler called IKVM. Python is supported through the use of Iron Python.The results showed that C# and Java performed almost equally interms of execution speed and memory usage, with Java being slightly behind. As a compensation for Javas slower execution speed a scaling factor was calculated. The average of this scaling factor was 1.29.Python had greater performance and memory issues than the other twoand no scaling factor could be obtained for this language using the data present in this thesis. Future work involves implementing additional language support and improving the system with usability in mind.

Place, publisher, year, edition, pages
National Category
Computer Science
URN: urn:nbn:se:kth:diva-155892OAI: diva2:763236
Available from: 2014-11-19 Created: 2014-11-14 Last updated: 2014-11-19Bibliographically approved

Open Access in DiVA

fulltext(1005 kB)340 downloads
File information
File name FULLTEXT01.pdfFile size 1005 kBChecksum SHA-512
Type fulltextMimetype application/pdf

By organisation
School of Computer Science and Communication (CSC)
Computer Science

Search outside of DiVA

GoogleGoogle Scholar
Total: 340 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

Total: 80 hits
ReferencesLink to record
Permanent link

Direct link