MarkUs Blog

MarkUs Developers Blog About Their Project

Archive for February, 2011

Markus Development Team Punchlines for February 10th

without comments

Danesh Dadachanji

Status

  • Implemented changes from issue 6’s code review.
  • Tried doing research on issue 151. Couldn’t actually code
    because of road blocks

Next Steps

  • Work on issue 151

Roadblocks

  • The line endings were causing me problems with my master. I had
    a lot of trouble because many of my master files were considered
    modified. It took a lot of time to fix.

Bertan Guven

Status

  • I am working on “Uploads and downloads and ordering”

Next Steps

  • I will do some research on YML.
  • Check the existing code to see how they implemented the CSV style

Karel Kahula

Status

  • Still working on mark decay feature.

Next Steps

  • Finish logic for mark decay.
  • Collaborate with Ibrahim for testing project.

Roadblocks

  • I still have lots to learn about Ruby.

Oloruntobi Ogunbiyi

Status:

  • Working on role switching

Next Steps:

  • Finishing role switching

Road Blocks:

  • Struggled with errors that resulted from changing the database. Just got to fix it today after getting instructions from Severin.

Misa Sakamoto

Status:

  • discussed with vivien to move some repeated logic into a function
  • some fixes/additions to remark request code
  • updated branch on git + screenshots on review board

Next steps:

  • hoping for a ship-it!
  • merge with Vivien’s code (hers is ready to ship)

Ibrahim Shahin

Status

  • Unit tests for grade entry items order
  • Order grade entry items by drag and drop

Next Steps

  • finish up issue 91 and submit it for code review.

Roadblocks

  • More homework

Yansong Zang

Status

  • Met with Hora who responsible for the *Dashboard Data* task last semester
  • Made the plan about what to improve on the dashboard
  • Learning Ruby on Rails in detail by reading **http://railstutorial.org/ruby-on-rails-tutorial-book** I found this is really a good resource for newbies of RoR. You may want to check it for answers 🙂

Next steps

  • First thing I want to add to the current dashboard is each TA’s grade distribution vs the total distribution. Hopefully I can put up a review request about this around this weekend.

Roadblocks

  • Hard to fully understand our MarkUs code base, so I need to first learn something about RoR programming.
  • Don’t know how to generate large amount of test data in the database, maybe I will let Hora help me this weekend.

Written by Karel

February 10th, 2011 at 12:08 pm

Posted in Status Reports

Week 3: Markus Plagiarism and Markus Reasearch

with one comment

Markus Plagiarism

Benjamin Thorrent

  • Done
    • Working on Plaggie
    • Beginning to see how to integrate a tool like Plaggie in MarkUs
  • Issues
    • no specific issue
  • ToDo
    – Specifications
    – Keep working on Plaggie and its integration in MarkUs

Shion Kashimura

  • Done
    • Tests on Plaggie, research about more plagiarism detection tools (both
      text and source code)
  • Issues
    • apparently some bug with Plaggie
  • ToDo
    • Specifications, keep working on Plaggie and its integration in MarkUs,
      maybe find other useful open source plagiarism detection tools

Markus Research

Anthony Le Jallé

  • Status
    • I explored all Markus functionalities and have an idea of how Markus
      Research should be.
  • Next steps
    • Submitting a list of functionalities to keep/to create to our
      teachers because we need recommendations
  • Roadblocks
    • I don’t exactly see what researchers would like to keep in MarkUs

Michal Lumbroso

  • Status
    • I did a little summary about the different options possible for the equation
      system
  • Next steps
    • Decide which system we want to implement.
    • Get into Markus code and try to understand its logic
  • Roadblocks
    • Some difficulties with MVC

Written by nvaroqua

February 6th, 2011 at 12:01 pm

Meeting Minutes for February 3, 2011

without comments

Major topics:

  • Assigning new larger projects.
  • Still focusing on fixing bugs too.
  • Review of what is currently being worked on by team members.
  • No major roadblocks for team members at the moment.

Currently under construction:

  • Danesh picked up Issue #151 – adding a new user after the original list is done.
  • Tobi is still working on the Role Switcher feature.
  • Yang Song is between projects after finishing his Dashboard changes.
  • Ibrahim, Karel picking up the Test Infrastructure project.

    Written by Karel

    February 4th, 2011 at 12:40 am

    Posted in Meetings,Minutes

    Punchlines for February 2nd, 2011

    with 2 comments

    Yansong Zang

    Status

    • fixed issue 113
    • waiting for code review

    Next steps

    • seeking for a new issue to work on and learning more about ROR and Git

    Roadblocks

    • Hard to focus on Markus during weekdays, only have weekend to work with it

    Karel Kahula

    Status

    • Still working on my current issue (#144)

    Next steps

    • Submit current unfinished feature for review.
    • Alter remaining views for the mark decay feature.

    Roadblocks

    • Other courses.

    Danesh Dadachaji

    Status

    • Fixed issue 6.
    • Waiting for code review.

    Next Steps

    • I will start working on issue 151 – adding users after the initial class lists are loaded.

    Roadblocks

    • Other assignments and fully understanding the request. It seems very complicated and I have not had time to properly think about it.

    Ibrahim Shahin

    Status

    • Working on adding some unit tests for ordering grade entry items in marks spreadsheets.
    • Allow admins to order grade entry items by drag and drop

    Next Steps

    • finish up issue 91 and submit it for code review.

    Roadblocks

    • More homework 🙁

    Bertan Guven

    Status

    • working on issue 3.

    Next Steps

    • trying to figure out how to refresh the content of a div. Couldnt use the periodically_call_remote function built into the rails, since it is no longer supported in rails 3. Have been trying jquery to fix this issue.

    Roadblocks

    • None

    Oloruntobi Ogunbiyi

    Status

    • Started working on role switching for admins; particularly how to source for the information of the grader or student and load it

    Next Steps

    • Working on the design of how the prompt for the authentication of the admin before their role is switched

    Roadblocks

    • Understanding the critical parts of the code that relate to solving this problem.
    • Assignments from other courses.

    Misa Sakamoto

    Status

    • review board reviewer debut =)
    • added unit test
    • waiting for code review

    Next Steps

    • hopefully get a ‘ship it’
    • check with Vivien on her status

    Roadblocks

    • schoolwork =(

    Written by Yansong

    February 3rd, 2011 at 2:16 am

    Markus Plagiarism

    without comments

    The two students of Morgan Magnin and Guillaume Moreau, both teachers
    of the computer science department. I am in charge of helping the students with
    the technical aspects of Markus.

    The Markus Plagiarism Project

    Plagiarism can be defined as trying to pass off (parts of) documents (text,
    source codes…) written by someone else as one’s own (ie, without indicating
    which parts are copied from which author). Plagiarism occurs often in academic
    environments. Students then intentionally or unintentionally include sources
    in their work without a proper reference. Manual detection of plagiarism in a
    collection of hundreds of student submissions is infeasible and uneconomical.

    As far as Markus allows correcting assessments, it could be interesting to
    know when a student’s work is plagiarized from another student’s work.

    That is where the purpose of this project comes: integrating a tool to detect
    plagiarism in the project available on the Markus interface. Some softwares
    already exist. The students mission is then to develop or to see how to
    integrate anti-plagiarism tools in Markus

    Organization of the project

    The way Ecole Centrale de Nantes manages students projects is a bit different
    from the canadian format.

    In particular, students are expected to write a document before beginning the
    project with the specifications of this project, and to describe all the steps
    of the project. You can find an example on the <a Sections implementation :

    That also means each project has a specific goal, and should be ended by the
    end of the term.

    For Markus Plagiarism, the first step Benjamin and Shion are taking is to have
    a look at ways to detect plagiarism, and existing solutions. The second step
    will be to decide on a solution, then to start implementing it.

    Possible Solutions

    Ideas of criteria for plagiarism
    detection

    Here are a few ideas Benjamin and Shion found plagiarims on source code.
    Some of them were provided by Guillaume Moreau, and where mentionned in a
    previous post: http://blog.markusproject.org/?p=1346

    • Compare name or/and the number of classes and functions
    • Compare the structure of the scheme of classes (number of classes and
      associated functions and attributes)
    • Compare a randomly chosen sequence (a few lines) of the code, forgetting
      about the layout.
    • Compare the order of all variables used, excluding names often used such as
      i, j, temp…
    • Compare the order of elements (classes, functions, variables)
    • Compare the comments and also check homogeneity of spell mistakes all
      through the comments
    • Check for the homogeneity of coding styles through the entire code.
    • When tests are provided with the source code, test the compilation of the
      code. If the code does not compile, there is a high probability of
      plagiarism.

    Issues

    Different criteria can be more or less relevant depending on the size, the
    complexity and the language used. Also, teachers may provide code to students
    for an assignment. The two solutions proposed by Benjamin and Shion to counter
    these issues are the following:

    • display a probability rate, or a score instead of a boolean result
    • the teacher would set some parameters depending on the assignment (like the
      code provided)

    Benjamin and Shion also raised the possibility of performance issues. I’m not
    too afraid of that, as the process can run at night, or at an hour where
    students are not supposed to work (nor teachers).

    I will soon post more informations on the solutions Benjamin and Shion have
    found and studied !

    Written by nvaroqua

    February 1st, 2011 at 7:14 pm

    Posted in Course Administration

    Tagged with ,

    Tasks waiting to be claimed

    without comments

    There is always lots to do to improve MarkUs.  Here are some of the top priorities. There is lots to keep us busy!

    Role switching (29)

    As an instructor, it would be nice to be able to see what a student sees. Currently, when they tell us something looks wrong, we have to get them to show us in person or send us a screen shot, which makes it pretty hard to debug. After logging in as an administrator, I would like to switch my access permissions to a particular student or TA.  (Tobi has claimed this one.)

    Dashboard data

    Kurtis and Hora implemented a substantial framework to display summary information in text and graphical form on the dashboard page. Now we are ready to see what other data we can collect and display.

    One area that hasn’t really been looked at is collecting information about each TA.  For example, average number of annotations per submission, histogram of annotations, grade summary by TA, how many submissions are marked complete.

    Remarking requests

    Misa and Vivien worked on this feature in the fall and made great progress.  Misa will be continuing with this work and merging the code that she and Vivien produced.

    Testing Infrastructure

    Most of the infrastructure is in place to allow students to automatically test their code. I would like to see some solid examples built that we could use in classes like CSC209 (in C) and CSC108 or CSC148 (in Python). There is a lot of work to be so that an instructor can really make effective use of this framework.  This part of the project will involve nearly every aspect of MarkUs.

    The Submissions Page

    This is the most heavily used view by instructors, so it is no surprise that we are picky about it.  It is paginated because with several hundred students it was taking a long time to load.  However, it is a source of frustration that we can’t preserve a preference for the number of students displayed. If an instructor changes the number of students displayed on one page, MarkUs should remember that until the instructor changes it again or logs out.

    There are some other ongoing issues with the submissions page: 106, 95199. We have also talked about adding a search feature for a particular group, that would take you to that row in the table. Load time for this view is always a concern, so any changes have to take performance into account.

    Detailed submissions view (222)

    This is related both to the submissions view and to the dashboard.  It is another way to see the progress of the TAs, and to see how the marks breakdown across the rubric. The view is a table that includes the mark for each criteria in the marking scheme.  It should be sortable by each column, and it would be nice to see aggregate scores for each component.

    Uploads and downloads and ordering

    It would be nice to finally get the YML format for rubrics upload and download working. Many instructors use roughly the same rubric from assignment to assignment, and the CSV format is a bit awkward for hand editing.

    When uploading annotations and rubrics, the order of the elements should be preserved.  This needs to be checked everywhere.

    Ordering is a constant problem with MarkUs. The dropdown menu to choose which assignment to switch to, needs to have the order fixed.  It should be ordered by due date.

    Written by Karen Reid

    February 1st, 2011 at 12:24 am