[ysu-acm] CSIS Problem of the Week

Ricky Elrod rbelrod at student.ysu.edu
Mon Jul 11 17:28:38 EDT 2016


As part of my effort to restart, and generate interest in, the YSU ACM
chapter, I would like to begin posting a weekly challenge problem for
CSIS majors to practice, sponsored by the ACM chapter. I am open to
ideas for how this should be run, but it is an idea that I have been
bouncing around for a while, and something the math department does each
week with varying degrees of active participation.

I have thought of using Kattis for this, but there are some issues that
come to mind:

1- The accuracy of Kattis problems is questionable at best. In solving
some of the problems on my own, I found (and reported -- they later
fixed) issues with terminology they were using, which led to the problem
specification just being plain incorrect.

2- I don't believe Kattis is open source. In practice this might not be
an issue, but if Kattis shuts down, we would need to be able to
find/make a backup plan.

3- People tend to post Kattis solutions online. See
https://github.com/search?utf8=%E2%9C%93&q=kattis+solutions for example.
There are 70 repos of them on GitHub alone.

(1) and (3) are solved if we can somehow get Kattis to give us our own
instance for the YSU ACM where we can post our own problems and generate
our own testcases.

Remaining issues:

Who writes the problems?

It would be nice if we could get professors (and maybe some students -
I'd enjoy writing some) to write problems that relate to their
specialty. We could also base problems off of existing Kattis (and
HackerRank) problems, and change them enough so that finding existing
solutions is of little use. Ultimately, people finding existing
solutions online is a hard problem to solve, and if someone wants to
cheat badly enough, they will find a way. This has to be somewhat based
on an honor system.

Who grades the solutions?

Whatever system we use (Kattis, etc.) can throw a bunch of test-cases at
solutions (in a secure, sandboxed environment). If we only care about
that, then there's little work left to do here. However, if we are to
pick a solution to highlight as "the winner" (who may win a small prize
or something) then there is more work to do. Do we grade based on
elegance of code? Based on performance/speed? Etc. This is something
we'd have to discuss. We could just not have a "winner" and not give out
any prize. There's also a problem with subjectively grading the
solutions depending on which programming languages we allow, since not
every professors is familiar with the semantics of every programming
language, and iprobablyt would be a shame to disallow languages for that
reason alone; this should be a fun thing and Haskell is way more fun
than C++ for example. (Sorry, I couldn't resist :P)

How do we handle authentication/knowing which solution belongs to which
student?

If Kattis gives us an instance, can we tie into MyYSU for
authentication? This would be the nicest solution.
If we roll our own thing (using selinux sandboxes or docker or
whatever), we could tie into the YSU LDAP system pretty easily
(technically, at least - without regard for any administrative red tape).


Thoughts on all of this? I've CC'd Dr. Kramer since I believe he has an
in at Kattis if we decide to go that route. Please remember to reply-all
but keep in mind that the ysu-acm list is a public list with publicly
available archives.

-Ricky

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.ysu.edu/pipermail/ysu-acm/attachments/20160711/92b43110/attachment.sig>


More information about the ysu-acm mailing list