|
2 years ago | |
---|---|---|
parser | 2 years ago | |
web | 2 years ago | |
README.md | 2 years ago |
Parsing and searching module descriptions, courses, etc. from the study regulations or module catalogue of a University.
Because.
Well, actually I want to be able to search for modules and courses on my University. There is no central tool or database inside the university for that, so I decided to create one myself. And I didn't want to copy every single module over individually, so I created a parsing tool.
This section describes how to use the tool
# either
gs -sDEVICE=textwrite -o out.tex in.pdf
# or
cd pdftotext
bash pdf2text.sh in.pdf
python enigma.py [parameters] {path to txt-files}
Parameters:
--mysql-user <user>
--mysql-db <db>
--mysql-passwd <passwd>
--mysql-host <host/IP>
--verbose
- make the parser more talkative--driver <drivername>
- select a driver, which parses the module catalogueWork in Progress
I wanted the parser to work for several versions of study regulations and for several universities. So I created an interface BaseDriver
in driver/base.py
. A driver has the following methods:
parseModuleCatalogue
- go through a text-listing of modules from a module catalogue and identify modules and their partsparseCredits
- find the number of credits per moduleparseExams
- find the exams per moduleparseCourses
- find the courses per moduleparseProgrammeMeta
- find meta information about a programme from the study regulations textA driver is selected by the user on invocation, then an instance is created and the driver is used to parse the input string (the content of the input-files).
The whole project is centered around study regulations of German universities, or to be more exact study regulations from the TU Chemnitz. What constitutes a module is regulated by among others the Kultusministerkonferenz (KMK, Conference of ministers for educations). An interesting read could be Ländergemeinsame Strukturvorgaben zur Akkreditierung von Bachelor- und Masterstudiengängen. For the scope of this project the following terms are defined as follows.
A programme, i.e. a programme of study is a structured list of modules. The structure defines certain blocks, in wich a student can take modules in regards to certain constraints, like achieving a certain amount of credits or a certain amount of modules (e.g. "three out of five modules", or "reach 12 credit points").
A module is a well defined unit of a programme. A module is described by its contents and the achieved competences, as well as a number of credits, a name and exams. A module can consist of courses like lectures, tutorials, seminars, etc, and a module may end on exams, like a written report, a written exam, an oral exam, etc.