computerised exams?

35 views
Skip to first unread message

dimpase

unread,
Jan 19, 2011, 12:54:13 AM1/19/11
to sage-edu
Dear all,

I'll be teaching an "Experimental mathematics" undergraduate class
next year (it's likely to have up to 200 people taking it), and
I am trying to collect information on ways to conduct exams for
courses involving computer algebra on computer.
In my school this is unheard of (in CS courses they still make people
write code on paper!)

And links, experiences, procedures for such exams?

Thanks a lot in advance.
Dmitrii Pasechnik

David Joyner

unread,
Jan 19, 2011, 6:37:03 AM1/19/11
to sage...@googlegroups.com
Will all these students take the exam in class simultaneously
in a large computer lab?

> --
> You received this message because you are subscribed to the Google Groups "sage-edu" group.
> To post to this group, send email to sage...@googlegroups.com.
> To unsubscribe from this group, send email to sage-edu+u...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/sage-edu?hl=en.
>
>

Jonathan

unread,
Jan 19, 2011, 9:47:00 AM1/19/11
to sage-edu
Dmitrii,

David's question is critical. I do some computer exercises in my
upper-level chemistry classes, but can only do test questions where
they do something on the computer in the smaller classes where I have
enough computers to sit every student in front of one. Typical
computer labs don't work because the students can easily see their
neighbor's screens. I do this in a chemistry lab and have to be
careful about where the computers are set up.

I typically do this by providing them with software localized to their
computer and ask them to save their results in a file. I can
certainly imagine having them use a Sage server for something and
asking them to name the worksheet so that I can find it. If you are
not the manager, they would have to share it with you.

Jonathan

calc...@aol.com

unread,
Jan 19, 2011, 10:56:06 AM1/19/11
to sage-edu, Jonathan
The problem with using a SAGE server for testing. asside from students seeing eachother's work on adjacent monitors, is that the students can share worksheets withe eachother!

i use SAGE servers for graded work but only in class assignments done in groups for a group grade.

It is even worse if you are using a public SAGE server. Someone off campus could be sharing worksheets with your students...

----------
Sent from my Verizon Wireless mobile phone

Dmitrii,

Jonathan

--

Rob Beezer

unread,
Jan 19, 2011, 11:48:12 AM1/19/11
to sage-edu
For linear algebra, with a class size of about 20, I allow the
students to use calculators, or Sage on laptops (I'll probably move to
*requiring* Sage next time I teach the course). We have a campus-only
Sage server. I then sit in the back where I can watch their screens.

In other courses, I have done a "theory" exam in class, and a "take-
home" exam for the computerized portion. But then you have to be
concerned about collusion.

Or perhaps make graded homework exercises (in Sage) a big part of the
course grade, which is what I have done in abstract algebra. You
could ask some general questions on a written exam that tested their
understanding of the homework exercises, as a check on if they had
done that work themselves.

But it is a hard problem - both logistically and in terms of making
sure you are evaluating their work fairly.

Rob

millerj

unread,
Jan 19, 2011, 9:48:47 AM1/19/11
to sage-edu
Dmitri,

I would be very interested in a summary of the responses you receive
to this question.

Jason

================================================================
Jason E. Miller, Ph.D.
Professor of Mathematics
Truman State University
Kirksville, MO
http://pyrite.truman.edu/~millerj/
660-785-7430 (work)

pang

unread,
Jan 19, 2011, 3:19:01 PM1/19/11
to sage-edu
We've conducted several exams already. Last year we first though about
grading mostly by take-home exercises, but the percentage of blind copy
+paste was unacceptable, and we were forced to perform lots of exams,
sometimes not on the best possible conditions.

* In a room where Sage is installed locally and no folder is mounted
remotely, we simply unplug the internet cable. If the room is full and
the students are too close, and we need two versions of the exam.

* We used several times a lab under our control that has a server for
the students home folders, so we cannot unplug. We polished a firewall
to make sure they don't have internet, they can't share their home
folders with the others, and maybe some other stuff. We also log
everything.

* We also used a lab where we could see almost all students screens at
once. The instalation is local but for some reason we couldn't unplug
the cable. However I don't get the impression they copied a lot.

* The most crazy time was a exam where the only lab available had very
old computers, so we had to use a server. I wrote a firewall to allow
only access to the server and kept the log from the server to check no
two students would login to the same account (and logged in as admin
to check no worksheet was shared). However I didn't set the ulimits
right, and when a certain number of students launched their buggy code
the server ran out of RAM, so I didn't really follow the protocol.
Those students were not very techy or may be they were just honest,
but we don't think they copied either.

So for various circumstances we weren't always safe and got some
attempts to copy, some of which we couldn't really prove. If you have
logs to show it, it's ok, but it's better not to give them the chance.
The most obvious thing to check is the internet connection. If you can
unplug the internet connection, that'll make for the most smooth exam.

dimpase

unread,
Jan 19, 2011, 7:32:22 PM1/19/11
to sage-edu


On Jan 19, 7:37 pm, David Joyner <wdjoy...@gmail.com> wrote:
> Will all these students take the exam in class simultaneously
> in a large computer lab?
>

yes, that's the idea (well, we have 3 labs with total capacity over
200 seats)

perhaps we decide to split the class into 2 streams with 2 independent
exams, it's not clear yet.

dimpase

unread,
Jan 19, 2011, 7:33:45 PM1/19/11
to sage-edu


On Jan 19, 11:56 pm, "calcp...@aol.com" <calcp...@aol.com> wrote:
> The problem with using a SAGE server for testing. asside from students seeing eachother's work on adjacent monitors, is that the students can share worksheets withe eachother!
>
> i use SAGE servers for graded work but only in class assignments done in groups for a group grade.
>
> It is even worse if you are using a public SAGE server.  Someone off campus could be sharing worksheets with your students...

I am not saying we will use Sage for exams. Most probably, just pure
Python.

David Joyner

unread,
Jan 19, 2011, 10:35:45 PM1/19/11
to sage...@googlegroups.com
On Wed, Jan 19, 2011 at 7:32 PM, dimpase <dim...@gmail.com> wrote:
>
>
> On Jan 19, 7:37 pm, David Joyner <wdjoy...@gmail.com> wrote:
>> Will all these students take the exam in class simultaneously
>> in a large computer lab?
>>
>
> yes, that's the idea (well, we have 3 labs with total capacity over
> 200 seats)


Can you set up a Sage server locally,
(a) create one worksheet worksheet_x per student x (that you own),
the worksheet consisting of exam questions,
(b) share worksheet_x with x
(c) tell the student to save the work when they are done?

Robert Bradshaw

unread,
Jan 20, 2011, 4:03:42 AM1/20/11
to sage...@googlegroups.com
On Wed, Jan 19, 2011 at 7:35 PM, David Joyner <wdjo...@gmail.com> wrote:
> On Wed, Jan 19, 2011 at 7:32 PM, dimpase <dim...@gmail.com> wrote:
>>
>>
>> On Jan 19, 7:37 pm, David Joyner <wdjoy...@gmail.com> wrote:
>>> Will all these students take the exam in class simultaneously
>>> in a large computer lab?
>>>
>>
>> yes, that's the idea (well, we have 3 labs with total capacity over
>> 200 seats)
>
>
> Can you set up a Sage server locally,
> (a) create one worksheet worksheet_x per student x (that you own),
> the worksheet consisting of exam questions,
> (b) share worksheet_x with x
> (c) tell the student to save the work when they are done?

Even easier is to create one public worksheet that everyone must
manually copy into their account before editing. It's still pretty
easy to poke around and look at other people's worksheets if you know
how (via the filesystem, unless extra accounts are set up, and you
probably don't want to create 200 login accounts on the server) so I'd
say this works best with low-stakes problems where the goal is
experimentation. For code, I think projects usually make more sense
than exams.

- Robert

Jason Grout

unread,
Jan 20, 2011, 8:40:30 AM1/20/11
to sage...@googlegroups.com


The nice thing about David's method is it prevents the students from
easily sharing their worksheet with someone else. They would have to
make a copy of the worksheet and then share that with someone first.

It sounds like keeping track of who a worksheet was ever shared with is
a good thing to add to the notebook.

Thanks,

Jason

john_perry_usm

unread,
Jan 20, 2011, 9:07:03 AM1/20/11
to sage-edu
I don't completely agree with the concerns others have raised about
cheating. One of the wonderful aspects of computer-based evaluation is
the ability to randomize questions: not just the numbers within
questions, but the questions themselves. For years, I've given my
Modern Algebra classes randomized tests where each student has a
different test: if two students get together, it's likely that they'd
have 1 or 2 common questions (out of 5, say) but no more.

So imagine a worksheet that generates its own questions via one or
more hidden, auto-executing procedures. All possible questions could
be embedded in the code, but not all possible questions would be
displayed, only the questions for a particular student.

regards
john perry

On Jan 18, 11:54 pm, dimpase <dimp...@gmail.com> wrote:

kcrisman

unread,
Jan 20, 2011, 9:23:37 AM1/20/11
to sage-edu


On Jan 20, 9:07 am, john_perry_usm <john.pe...@usm.edu> wrote:
> I don't completely agree with the concerns others have raised about
> cheating. One of the wonderful aspects of computer-based evaluation is
> the ability to randomize questions: not just the numbers within
> questions, but the questions themselves. For years, I've given my
> Modern Algebra classes randomized tests where each student has a
> different test: if two students get together, it's likely that they'd
> have 1 or 2 common questions (out of 5, say) but no more.
>
> So imagine a worksheet that generates its own questions via one or
> more hidden, auto-executing procedures. All possible questions could
> be embedded in the code, but not all possible questions would be
> displayed, only the questions for a particular student.
>
> regards
> john perry

I'm not sure this is possible without having this visible to the
students via edit. On the other hand, one could create a randomly
generated worksheet using LaTeX and tex2sws, since SageTeX has access
to Sage's random number facilities...

- kcrisman

PS Yes, Rob, that means I was able to get tex2sws to work on Mac,
actually quite easily. Unfortunately, since Dan D. is constantly
updating SageTeX, I'm pretty sure that the one I have in my TeX distro
can't handle your more exotic examples (\begin{sageexample}?), and I
can never get the new SageTeX class file to find the right place to
live :(

john_perry_usm

unread,
Jan 20, 2011, 9:38:53 AM1/20/11
to sage-edu
> > So imagine a worksheet that generates its own questions via one or
> > more hidden, auto-executing procedures. All possible questions could
> > be embedded in the code, but not all possible questions would be
> > displayed, only the questions for a particular student.
> ...
> I'm not sure this is possible without having this visible to the
> students via edit.

I don't see this as a problem: even though all questions are visible
to the determined, (a) not all students have the same questions, and
(b) the solutions are hopefully not part of the questions, nor the
source to generate them.

I guess it depends on the sort of questions one wants to ask.

regards
john perry

Rob Beezer

unread,
Jan 20, 2011, 1:41:41 PM1/20/11
to sage-edu
On Jan 20, 6:07 am, john_perry_usm <john.pe...@usm.edu> wrote:
> I don't completely agree with the concerns others have raised about
> cheating. One of the wonderful aspects of computer-based evaluation is
> the ability to randomize questions: not just the numbers within
> questions, but the questions themselves.

There is relatively new code for creating random matrices with nice
properties, which I have been meaning to advertise here anyway. I've
thought of it as being useful for generating practice problems, but it
had not dawned on me that it could be useful for generating random
test questions.

There is now an 'algorithm' keyword to the random_matrix() constructor
that takes values like 'echelonizable', 'unimodular' and 'subspaces',
along with a 'rank' keyword. The results are generally integer-entry
matrices where relevant computations by hand (rref, kernel, column
space, inverse) never devolve into too many gruesome fractions. This
was a summer project by a student of mine, Billy Wonderly, and it had
about the right complexity (mathematics and Sage) to fill a summer
nicely.

Maybe there would be other arenas (calculus, stats) where some code
generating random "typical" problems would be useful? And they might
also make for nice summer projects?

Rob

Rob Beezer

unread,
Jan 20, 2011, 1:57:03 PM1/20/11
to sage-edu
On Jan 20, 6:23 am, kcrisman <kcris...@gmail.com> wrote:
> PS Yes, Rob, that means I was able to get tex2sws to work on Mac,
> actually quite easily.   Unfortunately, since Dan D. is constantly
> updating SageTeX, I'm pretty sure that the one I have in my TeX distro
> can't handle your more exotic examples (\begin{sageexample}?), and I
> can never get the new SageTeX class file to find the right place to
> live :(

Very good!

Given my bleeding-edge dependency on SageTeX, I now put the whole,
latest, most-current SageTeX package into my personal texmf tree,
ignoring the version distributed with Sage. But now I need to get
the sagetex.py piece of Sage to match up.

Note there are about six copies of sagetex.py floating around. Some
(most?) are a proof-of-concept idea to convert a worksheet to
(la)tex. I would guess they are obsolete given the sws2tex project?
Maybe they could be excised?

Anyway, here is a hint of how to get the current sagetex.py into the
right place in Sage, hopefully the pieces are basically self-
explanatory. I think Dan is going to add a short explanation of this
to some portion of the SageTeX docs.

~/texmf/tex/latex/sagetex-20101119-r112$ $SAGE_ROOT/sage -python
setup.py install

Any problems converting \begin{sageexample}\end{sageexample} to a
worksheet are on my end, not Dan's. I'm making this work with a quick-
and-dirty hack that I just have not cleaned-up yet and is therefore
not public, but which I will send to you off-list right now.

Now you can see where I am: latest version of SageTeX w/ Sage hacked
to match, hacked version of conversion software, heavily-patched Sage
to include in-progress linear algebra patches, heavily-patched version
of textbook with new Sage content. It is a small wonder anything
useful at all comes out of all this. ;-)

Rob

kcrisman

unread,
Jan 20, 2011, 3:58:00 PM1/20/11
to sage-edu

> Note there are about six copies of  sagetex.py  floating around.  Some
> (most?) are a proof-of-concept idea to convert a worksheet to
> (la)tex.  I would guess they are obsolete given the sws2tex project?
> Maybe they could be excised?

This is getting OT, but I would say not necessarily. sws2tex makes a
nice-looking thing that is like the worksheet - parses the HTML. It
does not create a SageTeX document, but rather something that can
immediately be LaTeXed up with or without Sage.

That doesn't mean it wouldn't be nice to have a switch to provide this
option, but that isn't going to happen soon.

- kcrisman

Rob Beezer

unread,
Jan 20, 2011, 4:27:58 PM1/20/11
to sage-edu
On Jan 20, 12:58 pm, kcrisman <kcris...@gmail.com> wrote:
> This is getting OT, but I would say not necessarily.  sws2tex makes a
> nice-looking thing that is like the worksheet - parses the HTML.  It
> does not create a SageTeX document, but rather something that can
> immediately be LaTeXed up with or without Sage.

Right.

Maybe I was not real clear. There are about 7 files in a sage tree
named sagetex.py.

Some are for SageTeX. Others are totally different, and IIRC
duplicate the intent of sws2tex, ie converting a worksheet to a latex-
able file. I was suggesting that maybe sws2tex was doing a better job
of this, and that having two very different sagetex.py files floating
around could be very confusing.

Rob

Luiz Felipe Martins

unread,
Jan 20, 2011, 10:05:37 PM1/20/11
to sage...@googlegroups.com
I teach a course in which all exams require the use of Sage. I do this
only in an upper-level course, with at most 20 students. The exams
always have two parts. In the in-class part, I ask them to use Sage
for the computations and write the solutions on paper with an
explanation of the method of solution, including what they did by hand
and what they did on Sage. Then, they have to append a printed copy of
their worksheet pointing to where the computations for each problem
are.The in-class questions never require much programming, I leave
that for the take-home part.

I don't find any problem with cheating. Our lab is big enough to have
the students sit away from each other. My exams are with open books
and notes, so I am not concerned with them finding things on the
internet. We have software that allows the instructor to see what is
on each student's screen, but I never actually used it with this
group. I sit behind the students and walk around the room to make sure
they are not IMing. Since they know I can see any published worksheet,
they would not attempt it. To tell the truth, the students that
usually take this course are well known to me, so I basically trust
them.

Another idea a colleague gave me is to make part of the exam a "group
test". I am not ready to do that, but I will experiment this semester
with a "lab" in which I give them only one problem and they have to
give me the best solution they can come up with in 65 minutes.

The approach with lower-level classes with larger number of students
would have to be very different.

On Wed, Jan 19, 2011 at 12:54 AM, dimpase <dim...@gmail.com> wrote:

kcrisman

unread,
Jan 20, 2011, 10:06:29 PM1/20/11
to sage-edu
Gotcha. In which case someone who has at least *some* idea of what is
going on should open a ticket to squash some of them. And cc: me.

- kcrisman

Luiz Felipe Martins

unread,
Jan 20, 2011, 10:12:29 PM1/20/11
to sage...@googlegroups.com
Oh, another thing I do: I have questions in which I tell the students:
"you can only use this and this Sage commands in your solution". This
way, I can give them problems that can be solved in Sage with a single
command, but I still want them to do part of it by hand. A simple
example would be: "Find all solutions of the equation ax=b in Z/mZ.
You are only allowed to use basic arithmetic with integers and the
xgcd command for this problem."

Luiz Felipe Martins

unread,
Jan 20, 2011, 10:24:03 PM1/20/11
to sage...@googlegroups.com
It seems this topic branched into two different issues...

I had a similar problem with a recent Sage installation I made (In
ubuntu). I installed Sage, and SageTex according to the "official"
documentation (get SageTex from the Sage site, set a local texmf
structure, etc.), and had exceptions running sagetex.py

It so happened that texlive had an outdated version of sagetex.py. It
is sort of a chicken-and-egg thing. SageTex needs some packages
(makecmd.sty, or something like that), that are in the texlive-extras
package, which also comes with the bad sagetex.py. I guess they just
dump everything that is on CTAN in their package.

BTW, I am doing this because I wrote a program to help with automatic
generation of tests for our coordinated calculus. I'm not at a point
were I am ready to distribute it, and there is no documentation, but
if someone wants to try it, I'll be glad to send them a copy. It is
written in Python (what else?) and uses PyQT.

I would also be glad if someone could tell me what kind of licensing
info I have to distribute with the software. I never distributed
anything before...

Dan Drake

unread,
Jan 20, 2011, 11:16:15 PM1/20/11
to sage...@googlegroups.com
On Thu, 20 Jan 2011 at 10:24PM -0500, Luiz Felipe Martins wrote:
> I had a similar problem with a recent Sage installation I made (In
> ubuntu). I installed Sage, and SageTex according to the "official"
> documentation (get SageTex from the Sage site, set a local texmf
> structure, etc.), and had exceptions running sagetex.py
>
> It so happened that texlive had an outdated version of sagetex.py. It
> is sort of a chicken-and-egg thing. SageTex needs some packages
> (makecmd.sty, or something like that), that are in the texlive-extras
> package, which also comes with the bad sagetex.py. I guess they just
> dump everything that is on CTAN in their package.

This came up just a little while ago. SageTeX was part of TeXLive for
just long enough to "infect" lots of Linux packages, and there's nothing
we can do about it except wait for new TeXLive packages that don't
include SageTeX to come out. It'll take years. :(

Fortunately, I think you can put sagetex.sty in your personal texmf tree
and TeX will use that version. You can also demand a particular version
of sagetex.sty in your LaTeX file:

\usepackage{sagetex}[2010/10/20]

or similar.

In the meantime, there's now a mechanism in SageTeX to detect version
mismatches, but that doesn't help with the above problem...

Dan

--
--- Dan Drake
----- http://mathsci.kaist.ac.kr/~drake
-------

signature.asc

Jason Grout

unread,
Jan 20, 2011, 11:31:43 PM1/20/11
to sage...@googlegroups.com


What I did is create a symbolic link from
~/Library/texmf/tex/generic/sagetex to
~/sage/local/share/texmf/tex/generic/sagetex. Then I always have ~/sage
point to my current version of sage. That way whenever I upgrade, the
sagetex.sty file in my personal texmf tree is automatically upgraded,
since it was just a symbolic link to my sage install.

I haven't had a problem with version mismatches since I did this, and I
don't even have to think about it anymore.

Jason

kcrisman

unread,
Jan 21, 2011, 10:10:57 AM1/21/11
to sage-edu, sage-s...@googlegroups.com
Changing subject and moving to sage-support...
Unfortunately, I use MacTeX/TeXLive, and so this doesn't quite work.
I made a symbolic link

ln -s /Applications/MathApps/sage/local/share/texmf/tex/generic/
sagetex generic/sagetex

but my tex still uses the sagetex in /usr/local/texlive/2008/texmf-
dist/tex/latex/sagetex/sagetex.sty

and I'm not supposed to mess with that directory. Maybe if I put it
in /texmf/tex/latex instead? But that doesn't work either.

Any ideas?

- kcrisman

pang

unread,
Jan 21, 2011, 10:55:34 AM1/21/11
to sage-edu
On 21 ene, 04:05, Luiz Felipe Martins <luizfelipe.mart...@gmail.com>
wrote:
> My exams are with open books
> and notes, so I am not concerned with them finding things on the
> internet.

The problem with the internet is they can send the solutions to each
other by email. I'd be glad to let them use the internet to search for
resources.

Jason Grout

unread,
Jan 21, 2011, 11:05:22 AM1/21/11
to sage...@googlegroups.com
On 01/21/2011 09:10 AM, kcrisman wrote

> Unfortunately, I use MacTeX/TeXLive, and so this doesn't quite work.
> I made a symbolic link
>
> ln -s /Applications/MathApps/sage/local/share/texmf/tex/generic/
> sagetex generic/sagetex
>
> but my tex still uses the sagetex in /usr/local/texlive/2008/texmf-
> dist/tex/latex/sagetex/sagetex.sty
>
> and I'm not supposed to mess with that directory. Maybe if I put it
> in /texmf/tex/latex instead? But that doesn't work either.

Did you regenerate your tex path list? Try doing

$ sudo texhash

Then do

$ kpsewhich sagetex.sty

and make sure that the path it prints out is your user tex path. For
example, I get:

$kpsewhich sagetex.sty
/Users/grout/Library/texmf/tex/generic/sagetex/sagetex.sty

Jason

Reply all
Reply to author
Forward
0 new messages