source: main/waeup.kofa/trunk/docs/source/userdocs/academics.rst @ 12963

Last change on this file since 12963 was 12953, checked in by Henrik Bettermann, 10 years ago

Avoid duplicate indexing.

File size: 6.5 KB
Line 
1.. _academic_section:
2
3Academic Section
4****************
5
6Academic bodies of universities are hierarchically structured. A
7university contains faculties which again host departments. The
8latter offer courses (course units) and study programmes (courses of
9study). A course is series of classes or lessons on a particular
10subject. This can be a lecture, tutorial, seminar, practical work
11offered by a lecturer of the department over a period of an academic
12term. A course can also be only an exam at the end of an academic
13term. A study programme is defined by a set of course units to be
14taken at various programme levels and by an academic degree
15certificate, which is issued at the end of the programme.
16Information about universities, their study programmes, lecturers
17and courses can be found in the university prospectus.
18
19Kofa's academic section takes on the task of the university
20prospectus. It is build to disseminate information about faculties,
21departments, courses, study programmes and the sets of courses to be
22taken. The academic section reflects exactly the universities'
23hierarchical structure as described above. Technically speaking, the
24academic section is a container of type `FacultiesContainer` with id
25``academics`` which contains faculty sub-containers. They again
26contain department sub-objects, nothing else. This leads to a
27:ref:`treelike storage of objects <object_database>`.
28
29.. note::
30
31  In the user handbook we do not describe how to browse the user
32  interface of Kofa. The menu navigation should be
33  self-explanatory and it's quite easy to follow the menu
34  prompts. However, in the beginning of the development of Kofa,
35  we used extensive doc tests which describe the navigation very
36  well. Thus navigating through the academic section and other
37  parts of Kofa with a test browser is perfectly described in
38  :ref:`browser.txt <pages_txt>`.
39
40.. seealso::
41
42   :ref:`Browsing Kofa Doctests <pages_txt>`
43
44Faculties
45=========
46
47Faculties are container objects of type `Faculty`. They have a
48`code`, a `title` and a `title_prefix` attribute. Furthermore,
49faculties and departments have a `longtitle` property which
50:py:func:`composes <waeup.kofa.university.faculty.longtitle>` and
51returns the full title as it appears in tables, in breadcrumbs and
52in many other places:
53
54  `longtitle` = `title_prefix` + `title` (`code`)
55
56The following :ref:`local roles <local_roles>` can be assigned at
57faculty tree level:
58
59  .. autoattribute:: waeup.kofa.university.faculty.Faculty.local_roles
60     :noindex:
61
62
63Departments
64===========
65
66Additionally, each department object has the attributes
67`certificates` and `courses`. These attributes again are containers
68which hold certificate and course objects respectively. A
69:py:meth:`traverse
70<waeup.kofa.university.department.Department.traverse>` method leads
71the user to believe that `certificates` and `courses` are the ids of
72objects stored inside a department container. De facto they are not.
73However, it doesn't matter if we store a sub-object 'in' or 'at' a
74parent object. The result is exactly the same: :ref:`a hierarchical,
75treelike storage of objects <object_database>`.
76
77The following :ref:`local roles <local_roles>` can be assigned at
78department tree level:
79
80  .. autoattribute:: waeup.kofa.university.department.Department.local_roles
81     :noindex:
82
83Courses
84=======
85
86The `Course` class inherits from `grok.Model` which means it is
87designed as a pure model and not a container. Courses are tips of
88the database tree branches. Course objects contain information as
89they are offered by the department. In the base package these are:
90`code`, `title`, `credits`, `passmark`, `semester` and the boolean
91attribute `former_course`. Like all objects in the academic section,
92they also have a `longtitle` property. A former course is an
93archived course which had been offered in the past and is no longer
94part of any curriculum.
95
96.. note::
97
98  Only the manager of the department, which offers the course,
99  decides how many credits can be earned, which pass mark must be
100  achieved and in which semester the course can be taken. The
101  manager cannot decide whether a course is mandatory or not, or
102  at which study level the course has to be taken when studying a
103  certain programme. This information is stored in
104  `CertificateCourse` objects, see below. Therefore it does not
105  make sense to speak e.g. of a 300 level course. Also course
106  codes like ``AEE311``, which tell the student that the course
107  is primarily intended for 300 level students, is somehow
108  misleading. There might be other study programmes which
109  recommend to take this course earlier or later.
110
111
112The following :ref:`local roles <local_roles>` can be assigned at
113course tree level:
114
115  .. autoattribute:: waeup.kofa.university.course.Course.local_roles
116   :noindex:
117
118
119Certificates
120============
121
122.. seealso::
123
124   :ref:`Certificates and Certificate Courses Doctests <certcourse_txt>`
125
126In Kofa, the terms 'certificate' and 'study programme' are used
127synonymously. A certificate object holds information about the study
128programme. Important data for further processing in Kofa are: the
129various school fees to be paid at certain levels, programme start
130and end level, the study mode and, last but not least, the
131application category to which the programme belongs.
132
133Certificates are containers which contain `CertificateCourse`
134objects. thatt means a certificate defines the curriculum, i.e. the
135list of course units which have to or can be taken within the
136programme.
137
138The following :ref:`local roles <local_roles>` can be assigned at
139certificate tree level:
140
141  .. autoattribute:: waeup.kofa.university.certificate.Certificate.local_roles
142   :noindex:
143
144.. warning::
145
146  Do not remove certificates without backing up the student data
147  of this department. If a certificate or even one of its parent
148  containers is removed, students studying this programme are
149  'homeless' and need to be re-allocated to another study
150  programme.
151
152
153Certificate Courses
154===================
155
156`CertificateCourse` objects point to `Course` objects which means
157they have a `course` attribute which is one of the course objects
158stored in the portal. If the course is removed, an event handler
159takes care of deleting also all referring certificate courses. The
160same happens if a course is beeing marked as former course (see
161above). A former course cannot be part of a curriculum.
162
163Certificate courses have to more attributes: `level` (integer) and
164`mandatory` (boolean). Simply put, certificate courses carry the
165information at which level a certain course can or has to be taken
166to meet the current curriculum.
167
168No local role can be assigned at certificate course tree level.
Note: See TracBrowser for help on using the repository browser.