You are here

Case study 3: Assessment of laboratory lessons at programming courses at the Computer Science Department

21 January, 2016 - 14:46

The Department of Computer Science and Systems Engineering of the University of Zaragoza has currently 220 faculty members, teaching at different engineering degrees as well as in the computer science degree. Around 800 students are taking undergraduate and postgraduate

media/image7.png
Figure 7.7 Log of updations 
media/image8.png
Figure 7.8 Log of different events 

degree courses taught by this department. Most of these courses comprise practical laboratory sessions where activities related to programming are accomplished.

In general terms, the process cycle for any programming activity can be characterised by the following steps as depicted in Figure 7.9. In the process, a professor elaborates a programming activity, writes its specification, and disseminates it to the students. Then, the students have to follow the instructions, and as a result implement a computational program: they require a computational environment, which typically consists in an editor, and a compiler. Once, the program required is finished, they have to submit it, this often involves the submission of a set of files. Then, the professor can assess it, this step can be sometimes automated, though this may not be always possible (it will depend on the nature of the activity). Finally, the professor notifies the assessment, and an optional feedback.

A decade ago, the computational environment where the programming laboratory lessons were undertaken was an HP-UX machine with 4 processors and a Solaris operating system –a UNIX based and multi-user environment. Under these circumstances, most of the courses utilized the HP-UX machine itself not only for the development of the lessons, but also

media/image9.png
Figure 7.9 Process Cycle of a programming activity 
media/image10.png
Figure 7.10 Comparison between the UNIX-based solution and the LCMS-based solution for the practical lessons in programming courses 

for the whole activity process: dissemination, submissions of source files, assessments, and notification. For such a purpose, the technical staff at the Department developed specific UNIX-based scripts for the HP-UX machine that automated some of the steps in the process: the submission of files, the assessment, and the notification. The scripts related to the submission of files were made available to students, and they used them to upload their files. The scripts copied the files in the course disk account in the UNIX machine, and changes their ownership, so that once submitted, the students could only observe their own submissions at the directory (read-only mode), but the academics owned the file and had read and write permissions on it.

Once a submission was done, professors could use other scripts in order to automate as much as possible the assessments: file management, automated compilation, and automated testing when possible. Additionally, by using the operating system mailing service, the assessments were also sent to the students. As a result, there was a set of independent scripts which in co-operation help manage the laboratory activities. With the introduction of new machines, and new operating systems, the ad-hoc traditional solution had limited exportation, and due to its dependence to the operating system, the integration of new functionality, a feature that we can refer to as scalability, for instance, in order to improve communication, is also dependent on the operating system, or to further software development that is not often administratively affordable. Furthermore, the design of the scripts also offered a number of limitations. For example, a submission by a student could only be accomplished once, and in case of mistaken submission, an academic with permissions had to delete the previously submitted file, prior to any other re-submission. This is not a frequent situation for last-year students, but it is rather frequent, however, when first-year students do it.

A more modern approach to tackle this problem is the use of an integrated environment of a LCMS such as the one offered by Blackboard 9.1 at the ADD. The main advantage of such an approach is that LCMS typically integrates a number of other tools, and this characteristic can be exploited in order to improve eventual needs. For instance, in case the development of a practical requires the resolution of many challenges by students, any of the communication tools available at Blackboard could be used for such a purpose. Besides, the Web interface of the system makes it accessible from most of the environments: Blackboard is not constrained to specific operating systems or machines is not needed, a characteristic which benefits subjects such as introduction to programming in industrial engineering degree where UNIX is not introduced and Windows is the Operating System used. The listing of students is also integrated into the course account in Blackboard, but most importantly, it can be configured in such a way that multiple submissions of a practical exercise are allowed and even the system tracks all of them. Blackboard also integrates the submissions with the qualification centre, so that once an exercise is assessed, then it can be notified to each student in isolation via the Blackboard systems itself.

Figure 7.10 shows all the features described, comparing both technical solutions. The LCMS-based solution does not offer a built-in environment for edition and compilation of source files, and this is something that must be done in the traditional way. Additionally, the assessment may require from professors to download the source files and put them into the computational environment, so that the compilation and testing can be accomplished by professors. In spite of this, however, the usage of a LCMS-based solution has as an advantage that makes it a better solution than the traditional one, which is scalability. Indeed, the usage of LCMS for this activity allows professors to exploit the whole variety of tools that LCMS integrate seamlessly, and that can be utilised in order to improve learning processes –i.e by promoting communication skills, fostering students’ participation, etc.