You could provide Automateaching as a set of modules the user must install locally and then run simple commands like submit --file mysolution.pl, markme, get-more-assignments, pay-course-fees to progress and finally graduate. (example: NYTProf requires to have a module installed and run a few command line utilities to get job done. Or git with all its cli git functionality - especially if you envision a web interface requiring central db, credentials, competitions). The assignments can still be self-contained, independent files, but you will make sure the user has all the Test and other frameworks installed as well.

Once you do that, of course you can package this functionality into a plugin to an existing integrated development environment (IDE). You can see how an IDE offers git functionality for example and more or less follow that.

I always liked building a large system using small utilities specialising in something small. Just like Unix. Then you can glue things together using scripts or the IDE plugin.

So, if I may, one could start with 1) a Makefile to check on required modules, 2) an assignment/lesson file format (which can also include multimedia, slides, code), 3) a small perl script to request a first assignment, have it downloaded (with credentials perhaps), 4) a small perl script to mark a solution, 5) a way to present the lesson and its multimedia - a web browser perhaps?.

Providing an exam-like environment so schools can use to have IT exams would also be a great selling (I mean "selling") point.

bw, bliako


In reply to Re: Perl Automateaching -- part 1: brainstorming by bliako
in thread Perl Automateaching -- part 1: brainstorming by Discipulus

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.