Towards a formal specification of course structures

Logbook

The logbook contains notes on work conducted, encountered problems and overall progress of the project.

Week Date Entry
1 19/07/2004 Start of the project
  • Made the decision for my project; does not have a title yet
  • The project will assumingly deal with XML
  • Context: Course structures at Monash University
2 26/07/2004
  • First project meeting
  • Discussed the overall scope of the project
  • Aims seem to be rather vague: "Improvement of quality of information through XML"
  • Discussed some advantages of XML: structural comparisons
3 2/08/2004 Introductory reading:
  • Monash University Handbooks; online unit descriptions and course descriptions
  • Australian higher education system; Australian Qualifications Framework
  • Differences to the German system
4 9/08/2004 Introductory Reading:
  • Units and courses at Monash University
  • Exploring the unit and course descriptions; getting to know the terminology; encountered difficulties as there is no glossary which explains the terms; synonyms; abbreviations
5 16/08/2004 Introductory Reading:
  • Trying to gather literature on course structures; hardly any literature because the terms are heavily overloaded: a "course" at Monash University often means a "unit" at other universities
  • Most literature about course structures is about structuring the content of a unit => wrong context
  • Exploring existing Student Assistance Systems: SASy, University of Ulm
  • Elektronisk Standard for Utdanningsinformasjon (eSU): A Norwegian approach to develop a unit catalogue which can be used both national and international
    • Documentation is in Norwegian
    • Still under development
    • Different terminology
  • First experiments with XML and course structures
6 23/08/2004 Further introductory reading
7 30/08/2004 Further introductory reading
8 6/09/2004
  • Discussed the research proposal
  • Discussed the motivation for the project
9 13/09/2004
  • Research proposal writing
10 20/09/2004
  • Develpment of the idea of course definitions vs. course instances; later discarded
  • Still struggeling with terminology at Monash University
    • units, courses, course programs, subjects, sequences, majors, minors, streams, ... ???
11 27/09/2004
  • Further exploration of XML
    • Different standards for XSLT and XPath
12 4/10/2004
  • Development of course structure as a tree model; turned out to be rather inflexible and only parts of the idea incorporated into the course map XML construct later
13 11/10/2004
  • Clarifications on major / minor streams or sequences required
  • Difficulties to understand the terminology at Monash University; the terms are nowhere clearly defined, and many people use them differently
14 18/10/2004
  • Discussed the idea of generating dependency graphs from course definitions; later discarded
15 25/10/2004
  • Discussed the Literature Review, first draft version
16 1/11/2004
  • Evaluation of tree structures
    • Chronologically, a course seems to have a tree-like structure: years, semesters, ...
    • Such a tree-like structure could be useful to generate a graph which shows the dependencies between units
    • Update: Only parts of the idea
17 8/11/2004
  • Backgound reading on (attribute) grammars, which might be useful in order to validate the unit choices of students; John suggested a parser approach; however, later discarded
18 15/11/2004
  • Background reading on modelling techniques
    • (E)ER
    • UML
19 22/11/2004 Literature Review
20 29/11/2004 Literature Review
21 6/12/2004 Literature Review
22 13/12/2004 Literature Review
23 20/12/2004 Break
24 27/12/2004 Break
25 3/01/2005 Break
26 10/01/2005
  • Start of development of the analysis program
  • Approach: Transform each unit description to an XML document and enhance the quality of the information
27 17/01/2005
  • Development of the analysis program
    • Encountered problems with capturing the content of the prerequisites, corequisites and prohibitions entries:
      • Boolean expressions use different notations and are often written incorrectly
      • Natural language
28 24/01/2005
  • Experimenting with XML and learning the different standards
  • Development of XML Schemas and XSL transformations
  • XPath  1.0 vs. XPath 2.0
  • XInclude
  • Programming with XML in Java:
    • Java API for XML Processing: JAXP (DOM, SAX),
    • Java API for XML Binding:
  • Evaluation of different XML tools:
    • Altova XML Spy,
    • Oxygen XML,
    • Eclipse
  • Evaluation of the developed XML documents
29 31/01/2005
  • Further development of the analysis program
    • Enhancement of the data before matching on regular expressions
30 7/02/2005
  • Discoved of a "hidden" source of course information: the Monash University Calendar which contains the Faculty Regulations;
    • Terminology used at Monash University gets clearer
    • Faculty Regulations contain clear definitions of sequences; Problem: each faculty can define the terms differently (e.g., minor sequence), but they are often used university wide
  • Trying to develop XML Schemas for course structures, now incorporating Faculty Regulations; results later discarded; Reason: Not all faculties provide Faculty Regulations
31 14/02/2005
  • Researched the fundamental concepts of choices
    • Choice with replacement / w/o replacement of the drawn elements during drawing process
    • Duplicates
32 21/02/2005
  • Developed the generic choice construct
    • First XML Schemas
    • Experiments with different types of models for a choice
33 28/02/2005
  • Transformations to HTML
    • Encountered difficulties because of the recursive definition of the choice construct
34 7/03/2005
  • Two different computations based on choices:
    • Perform the actual drawing process, i.e., generate solutions for a choice
    • Test is a set of elements is a solution for a choice
  • In order to make computations based on choices, a backtracking algorithm is required
    • Review of Prolog
      • Implicit backtracking algorithm (solution strategy)
      • Unification
      • Horn clauses
  • Transformations of choices to Prolog terms
    • This transformation is rather straightforward; Prolog lends itself to recursive structures (nesting of terms and lists)
  • Development of Prolog program to generate solutions
    • Encountered difficulties to generate the correct results for different types of (nested) choices
    • Development of test cases for choices
    • "Discovery": Both computations (see first point) can be done with a single Prolog program
35 14/03/2005
  • Finished the analysis program
  • Start with the classification of conditions entries which cannot be analyzed by the program
    • Development of XSL transforation for the classification
    • Introduction of different classes that the entries can belong to
    • Several refinements of the classification process
  • Discovered the declarative / enumerative tradeoff that authors of unit descriptions have when referring to units in the prerequisites, corequisites and prohibitions entries
    • Idea: Prolog can solve this!
  • Discovery of tradeoff between inclusive or and exclusive or in boolean expressions and natural language (when both notations are mixed)
36 21/03/2005
  • Start of development of the extended choice construct
    • XML Schema,
    • XSL transformations to HTML and Prolog terms
37 28/03/2005
  • Finished the classification
    • General idea what authors want to express in the prerequisites, corequisites and prohibitions entries
  • Improvement of the extended choice construct
    • Added base type element for courses
    • Added base type element for sequence
38 4/04/2005
  • Applying the extended choice construct to other contexts
    • Sequences
    • Course maps
    • General rules
39 11/04/2005
  • Development of Prolog programs
    • Finding out dependencies between units
40 18/04/2005
  • Setting up test framework to test Prolog programs
  • Development of Prolog programs
    • Prolog program for unit enrolment test
  • Development of XSL transformations for sequences
41 25/04/2005
  • General improvements of XSL transformations
  • Development of Prolog programs for sequences
  • Thesis writing
42 2/05/2005
  • General improvements of XSL transformations
  • Thesis writing
43 9/05/2005
  • Thesis writing (Performed analysis, Formal specifications)
  • Further development of the Prolog programs
  • Testing
44 16/05/2005
  • Thesis writing (Introduction, Background, Motivation)
  • Preparations for final presentation
45 23/05/2005
  • Thesis writing (Discussion)
  • Final Presentation
  • Start development of website
46 30/05/2005
  • Thesis writing
47 6/06/2005
  • Thesis due
48 13/06/2005
  • End development of the website
49 20/06/2005 End of project

Last modified: 18. June 2005
Copyright © Patrick Frey