Giter VIP home page Giter VIP logo

perl_finalproject's Introduction

Final Project (Perl)

Team

  • Marc Schnydrig

Solved Parts

  • Part 1
  • Part 2
  • Part 3

Architecture


Used CPAN-Modules

  • Data::Show - to show content of variables such as hashes
  • Cwd - get pathname of current working directory
  • File::Spec - portably perform operations on file names
  • Time::Moment - represents a date and time of day with an offset from UTC
  • File::Basename - parse file paths into directory, filename and suffix
  • Lingua::StopWords - stop words for several languages
  • Text::Levenshtein::Damerau - Damerau Levenshtein edit distance
  • Color::Output - to give color to the output
  • POSIX - several mathematical functions
  • Regexp::Grammars - grammatical parsing features
  • Statistics::Basic::Stddev - calculate standard deviation
  • List::Util - to shuffle a list

Criteria for significant expectations

  • Criteria 1: only show students with a score less than 50% (score < 50%)
  • Criteria 2: only show students who answered less than 25% of the entire exam (answered questions < 25%)
  • Criteria 3: only show students who are more than one standard deviation below the average score

Get Started

  • To run the scripts, perl v5.3.2 must be installed
  • Also the above-mentioned CPAN-modules must be installed
  • Then the line use lib '...'; has to be replaced with your current lib-directory (probably just use lib 'lib'; should work) in both files src/randomize.pl and src/score.pl !
  • And now you can run either:
    • perl src/randomize.pl <path_of_master_file> to create a new empty exam file with randomized answers
    • or:
    • perl src/score.pl <path_of_master_file> <paths_of_student_files> to score the student files, print out missing questions and answers, and see the statistics

Remark

The file src/score.pl is not working correctly (part 1b/2). More specifically, the checking of missing or incorrect answers does not work quite precisely. The problem lies in sorting the answers: in the case of incorrect answers, the wrong answers are sometimes compared with each other after sorting them alphabetically. By the time I realized this it was too late to adjust anything, so I left it as is and tried to improve it a little more.

perl_finalproject's People

Watchers

Marc Schnydrig avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.