We present an e-learning and e-assessment aid for studying and teaching programming languages (Java, C, Perl, Ruby and Python). The student uses the wizard to go through a series of pages which present information, link to web resources, ask questions, and mark answers. The questions can be of short-answer type, multiple choice or programming. In the short-answer questions, hints can be automatically generated in the form of scrambled spelling or first letters and lengths of the words in the answer. In programming questions, hints may be in the form of skeletons of programs with blank “to do” regions which are to be filled in. Programs submitted by the student are compiled, run and checked against expected output. The wizard can present a randomly selected and shuffled subset of the questions taken from a question repository. The repository contains flags determining the hints and format of each question. A record of the session, containing the questions and possibly multiple attempts at solutions from the student, is saved in an encrypted format. The answer key within the wizard is also encrypted so that answers cannot be obtained by reverse engineering.
展开▼