{'fraction_non_alphanumeric': 0.01977848101265823, 'fraction_numerical': 0.0007911392405063291, 'mean_word_length': 5.487179487179487, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Applying Contextual Design to Build a Course Scheduler: A Case Study

This paper describes the design of a course-scheduling tool that assists professors in planning events such as tests, assignments and lectures. It takes university calendar information along with user inputs of course events, and translates these into algebraic constraints, which are then solved by a linear programming algorithm to generate a feasible schedule. We report on the application of the Contextual Design [1] methodology to generate requirements and architecture of this tool. First, a contextual analysis was conducted to ensure that specifications were adequately developed. This included conducting and coding interviews with potential users, and gathering and analyzing work artifacts. Then a prototype was implemented and evaluated by means of a cognitive walkthrough. By describing the design process and the resulting system, this paper makes two contributions. First, it illustrates the contextual approach to interactive system design in an educational domain. Second, it presents the architecture of a course-scheduling tool, with a constraint-solver based on the linear programming algorithm at its heart, which allows the automatic creation of feasible event schedules.