Comoto | charlie on software

Posts Tagged ‘ comoto

Masters Thesis

I have finally finished my Masters of Science degree at the University of Illinois at Urbana-Champaign. I wrote my thesis on the plagiarism detection software that I wrote that has become the standard means of plagiarism detection at the CS department here.

In order to view this page you need Flash Player 9+ support!

Get Adobe Flash player

I hope that this work will only allow my work to be continued in the future and allow for further adoption of my method.

Setting a global default font for Swing applications

For my research, I am working on writing a Swing application for visualizing data. Part of this work is an exercise in human-computer interaction (HCI). To make this application more visually appeasing, we chose a font to apply to all Swing components. Originally, each component was initialized and then had


called on it. I did some searching on the Internet and realized this could all be avoided with a simple routine run before initializing the entire GUI:

private static void setDefaultFont() {
        Enumeration keys = UIManager.getDefaults().keys();
        while (keys.hasMoreElements()) {
            Object key = keys.nextElement();
            Object value = UIManager.get(key);
            if (value instanceof javax.swing.plaf.FontUIResource) {
                UIManager.put(key, DEFAULT_FONT);

This has worked extremely well and reduced our complexity cost for maintaining and enhancing the application.

being academically honest

One of my research projects at UIUC is to develop new methods of automated plagiarism/collaboration detection and analysis in student programming assignment submissions. I work with a variety of people on the project, using a variety of technologies, and we have produced some interesting software that has led to interesting results. Eventually, we plan to roll this software out as a service to the CS department and greater campus, but those plans are still far in the future.

I’ve been working on this project now for a couple of years and have seen some of the lengths that students will go to to cheat. Being involved in this arena has led me to become very interested in how students cheat, why students cheat, and ways to detecting it. I came across this article today on slashdot that piqued my attention. Although this article has nothing to do with plagiarizing programming assignments, it nonetheless reminded me of what some will do to slide by in school. If you take a few minutes to peruse, I am positive that you will be able to find some cleverly disguised homework assignments that programmers from around the world are bidding on to complete, even when their terms of service disallow these types of projects.

These hired-out homework assignments, at least in the computer science world, are in my opinion the toughest kind of plagiarism to detect automatically. Sure a manual inspection will bring it to light pretty quick, but in some of the classes we do analysis on there are 200-300 students, so a manual inspection of each assignment is just not feasible. At least for now, it appears that given the right circumstances, if students are willing to pay the cash anything is possible.