Exam-o-Matic 3000

	This collection of python scripts is intended to serve as a work-flow manager for exam creation, version, and learning-outcome assessment. Because all of the parts are written in python, it should run on windows, linux, or mac operating systems. The setup script will create a virtual environment into which it will install the needed libraries (docx and openpyxl) to create .docx and .xlsx files. Because it is using a virtual environment, it should not interfere with any other python projects on which you are working.

Installation

Windows:
	You need to have python installed. Then, just run the 

setup.bat 

to create the virtual environment. Run the workflow manager with

	eom3000.bat

Linux/Mac
	Again, you need to have python installed. Then, just run the 

	./setup.sh

to create the virtual environment. Run the workflow manager with

	./eom3000.sh

Testbanks

	Testbanks are stored in the testbanks folder, and are in .json format. The individual items can be edited using a text editor. The scripts understand a simple mark-up language to provide superscripts and subscripts. (Perhaps future versions will allow for LaTex equations and such.)
	The testbanks included here are for Chem 351  Physical Chemistry I. They were created (originally) by feeding the learning objectives for each chapter (MLO), the course learning objectives (CLO), and the program learning objectives (PLO) for a BS in Chemistry, along with the text of the given chapter to ChatGPT. Because the items are AI generated, they do warrant significant scrutiny before issuing the final versions of the exam. The review stage can be used for this purpose.

Features

	The Exam-o-Matic 3000 not only will create versionized exams, but will also create an Excel-style workbook for grading and assessment. If used, it will indicate not only the total score for each student, but also report class performance on each learning objective (which can be useful information!)
	In the future I hope to add LaTeX style formatting for equations and such, algorithmic questions, so that each question can have multiple versions, and a few other things of which I have yet to imagine.

Enjoy, and happy examining!
