Part of my work consists of having loads of exercises, and being able to come up with short lists of them which fit some criteria ; like “can use numeric series, cannot use function series, can use topology, cannot use endomorphism reduction”…

My current work organization is to have a few lists of those, organized in chapters, and hand-picking the matching ones from there. It does work, but is quite long and painful.

So I’m looking for some kind of tagging system to help me with it.

The first solution I came up with was : put each exercise(+optional solution[s]) in a little file and try to use emblems in a file browser. Unfortunately, that meant :

  • a huge number of files to create
  • create emblems
  • right-click each of the numerous files to add the right emblems
  • I don’t know exactly how to search on multiple criteria
  • how does one backup this?!

A better solution I’m considering is : put each exercise(+optional solution[s]) in a little file, then create a structured file to associate tags to each file. If I go for the “filename tag1 … tagN” solution, then searching is just a grep away. Combine with some awk-fu and some scripting and I can probably automate the creation of a document with all exercises. Backup is easy. Pending issues:

  • still requires creating a huge lot of files
  • in which format do I store the exercises(+optional solution[s]) so I can easily automate the merging?
  • in which format do I write the exercises(+optional solution[s]) so it’s easy to write&edit afterwards?

I’m currently using the very very good texmacs to write all my documents, so it would be nice to be able to do something with it. It will be even better if I manage to get two documents : one with the questions for the students, and one with solutions for my poor head…

7 Responses to “My workflow really needs serious love”

  1. Michaël Says:

    A spreadsheet? Or just put the tags *in* the files, instead of creating a structured file?

    BTW, on the file emblems: you don’t need to right-click every file, you can use the nautilus sidebar and drag and drop. You can probably backup a hidden file in each directory, but I’m not sure of that and I can’t test it now.

  2. liberforce Says:

    – 1 file per exercise
    – The first line of the file is a “tags: +numeric series, -function series, +topology, -endomorphism reduction” line or similar.
    – The exercises could be store in a simple plain-text readable format (like latex).

    example to find an exercise:
    grep -H “tags” * | grep “+function series” | cut -f1 -d’:’ | xargs my-formatting-script

    You can use this method in a script that you will feed with the criteria you want, and then give that to your formatting script that will be some kind of:

    echo “This is my fantastic exercises collection” > collection

    let number = 0
    for f in $@
    do
    let number+=1
    echo -e “\nExercise number $number\n” >> collection
    cat “$f” >> collection
    done

  3. Muelli Says:

    You might be satisfied with tagfs, a filesystem in userspace doing tagging via (virtual) directories. You can query them by entering a directory like “todos/easy OR hard” or the like. Can find the link quickly, but it should be rather easy to find and to use.

    Cheers!

  4. Rob J. Caskey Says:

    Looks like its time to get into a spreadsheet and use autofilter, or if thats still not enough, step up to a relational database, perhaps glom?

  5. tdub Says:

    why not store them in a database.

    title
    tags
    content (large fieldtype, text would probably do)
    date

  6. Ha Says:

    The Tags and Links features of Org Mode might work well for this:

    http://orgmode.org/org.html#Tags
    http://orgmode.org/org.html#Hyperlinks

  7. Snark Says:

    There are good ideas, but some don’t allow easy backup, which pushes them out of the way.

    Texmacs files are text-based, so this is not an issue.

    Spreadsheets aren’t good enough (or I don’t know enough about them).

    A database sounds interesting, especially if it’s scriptable.

    Notice that there is another requirement I have in mind : at the beginning of the year, students don’t know much, but get to know better week after week. So I would like to have some sort of saved queries, and be able to add tags to them, so I can find more and more exercises each time. Of course, I’ll also be interested by exercises which are possible a given week, but not the week before 😉


Leave a Reply

You must be logged in to post a comment.