virtual-cat-app
The virtual Cross Array Task (CAT) application serves as a digital platform to assess algorithmic thinking (AT) skills within Swiss compulsory education.
Science Score: 49.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 26 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.1%) to scientific vocabulary
Keywords
Repository
The virtual Cross Array Task (CAT) application serves as a digital platform to assess algorithmic thinking (AT) skills within Swiss compulsory education.
Basic Info
- Host: GitHub
- Owner: GiorgiaAuroraAdorni
- License: gpl-3.0
- Language: Dart
- Default Branch: main
- Homepage: https://doi.org/10.5281/zenodo.10027851
- Size: 934 MB
Statistics
- Stars: 1
- Watchers: 1
- Forks: 2
- Open Issues: 0
- Releases: 8
Topics
Metadata Files
README.md
virtual CAT app
Citation
If you use the materials provided in this repository, please cite the following work:
bibtex
@misc{adorni_virtualCAT_2023,
author = {Adorni, Giorgia and Piatti, Simone and Karpenko, Volodymyr},
doi = {10.5281/zenodo.10027851},
month = oct,
title = {{virtual CAT: An app for algorithmic thinking assessment within Swiss compulsory education}},
note = {Zenodo Software. \url{https://doi.org/10.5281/zenodo.10027851}},
year = {2023}
}
Overview
The virtual Cross Array Task (CAT) application serves as a digital platform to assess algorithmic thinking (AT) skills within Swiss compulsory education.
The Virtual CAT is a digital embodiment of the Cross Array Task (CAT), a unique assessment activity initially conceived as an unplugged task, meticulously explored in our article [1]. The essence of CAT lies in its ability to evaluate algorithmic skills by challenging individuals to develop a sequence of instructions, essentially an algorithm, to replicate intricate colour patterns on a cross array.
The transition from an unplugged activity to a digital platform arose from the necessity to scale the assessment process, making it conducive for larger cohorts and reducing human-induced inconsistencies in data collection.
Features
- Multifaceted Interaction Modes: The app offers gesture-based and visual block-based programming interfaces, replicating embodied and symbolic artefacts in the unplugged CAT. These interactive modes cater to a diverse learner base, making the app accessible and adaptable.
- Multilingual Support: The app's multilingual support facilitates its usability across diverse linguistic backgrounds. In particular, it is available in four languages:
- Italian, French, and German to cater to the diverse linguistic landscape of Switzerland.
- English to extend the apps utility to a broader range of educational institutions, ensuring that a wider student demographic can benefit from its learning experience, paving the way for potential adoption beyond Switzerlands borders.
- Automated Assessment: The app automates the assessment process, providing real-time feedback, error notifications, and potential suggestions for rectification, enabling a streamlined evaluation of AT skills.
- Cross-Platform Availability: Developed using Flutter, the app maintains a consistent user experience across iOS, Android, and macOS, ensuring wide accessibility.
Evaluation and Impact
Both a pilot and a main evaluation of the virtual CAT were orchestrated in Switzerland, showcasing the platform's robustness in appraising AT skills amongst a heterogeneous ensemble of students and at a large scale. The dataset collected during the pilot study is available here [2]. That collected during the main large-scale study is available here [3].
Core Architectural Pillars
The backbone of the virtual CAT app is structured around three fundamental components, each playing a crucial role in the orchestration and functionality of the system. Here's an in-depth look at these pivotal pillars:
- CAT programming language:
- The core purpose behind defining the CAT programming language was to standardise the instructions users could use within the application interfaces to craft the required algorithm. This language encodes and formalises all commands and actions derived from the original experimental study with the unplugged CAT.
- Cross Representation: The board's layout is referenced using a coordinate system, simplifying the task of identifying, moving around, and manipulating the cross-board dots.
- Moves: These functions enable traversing the board by jumping directly to a specific coordinate or moving a certain number of dots in one of the eight available directions.
- Basic Colouring: A range of methods is provided to apply colours to the board, allowing both singular and pattern-based colouring.
- Repetition-based Colouring: For more complex operations, methods have been devised to repeat a sequence of commands across specific coordinates or to replicate colours from one set of coordinates to another.
- Symmetry-based Colouring: Methods in this category facilitate the creation of symmetrical colouring patterns either across the entire board or within specified segments.
- virtual CAT programming language interpreter [4]:
- This interpreter is integral in converting user interactions via gesture or visual programming blocks into executable, machine-readable instructions.
- Each command undergoes a validation process to catch semantic errors, with real-time feedback provided to the user throughout.
- A dedicated Dart package was developed and integrated within the Flutter project to facilitate seamless interaction with the interpreter component.
- virtual CAT data infrastructure [5]:
- Considering the frequent unavailability of secure networks in educational settings, a technical framework was devised to ensure participant privacy and responsible data management.
- The setup requires a local network infrastructure, connecting all devices to a designated data collection point, where a database captures and securely stores the data.
- Post-assessment, data can be transferred to a dedicated repository via a private network connection.
REFERENCES
[1] A. Piatti, G. Adorni, L. El-Hamamsy, L. Negrini, D. Assaf, L. Gambardella & F. Mondada. (2022). The CT-cube: A framework for the design and the assessment of computational thinking activities. Computers in Human Behavior Reports, 5, 100166. https://doi.org/10.1016/j.chbr.2021.100166
[2] Adorni, G. (2023). Dataset for algorithmic thinking skills assessment: Results from the virtual CAT pilot study in Swiss compulsory education. Zenodo Dataset. https://doi.org/10.5281/zenodo.10018292
[3] Adorni, G. (2024). Dataset for algorithmic thinking skills assessment: Results from the virtual CAT large-scale study in Swiss compulsory education. Zenodo Dataset. https://doi.org/10.5281/zenodo.10912339
[4] Adorni, G., & Karpenko, V. (2023). virtual CAT programming language interpreter. Zenodo Software. https://doi.org/10.5281/zenodo.10016535 On GitHub: https://github.com/GiorgiaAuroraAdorni/virtual-CAT-programming-language-interpreter/
[5] Adorni, G., & Karpenko, V. (2023). virtual CAT data infrastructure. Zenodo Software. https://doi.org/10.5281/zenodo.10015011 On GitHub: https://github.com/GiorgiaAuroraAdorni/virtual-CAT-data-infrastructure
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
Prerequisites
- Flutter 3.13.8
You can download it from the official website https://docs.flutter.dev/get-started/install or clone it from GitHub.
Make sure to switch to the stable channel by running flutter channel stable. - Dart 3.1.4
- DevTools 2.25.0
- Android Studio or Visual Studio (only for Windows) Follow this guide
- XCode (only for macOS)
Installing
- Clone this repository:
shell
git clone https://github.com/GiorgiaAuroraAdorni/virtual-CAT-app.git
cd virtual-CAT-app
- Get the dependencies:
shell
flutter pub get
Building
For iOS (IPA)
shell
flutter build ipa
For macOS
shell
flutter build macos
For Android
shell
flutter build apk
Running
- Connect your device or start your emulator/simulator
- Run the command
flutter runin the project directory, select the device if asked, and if there are no errors, it's good to go. - Alternatively:
- You can run the app as a release using the command
flutter run --release. - You can also run from some IDE. Read the section Run the app from here for android studio.
- You can run the app as a release using the command
Latest Release
In the latest release, the updated versions of the virtual CAT app for iOS, Android, and macOS have been uploaded. You can find the respective files for download in the Releases section of this repository.
- iOS: Download the latest
.ipafile to install the app on your iOS device. - Android: Download the latest
.apkfile to install the app on your Android device. - macOS: Download the latest macOS app to install it on your Mac.
Each release contains improvements, bug fixes, and new features to provide a better user experience and enhance the app's functionality.
To install the app on your device, follow the standard installation procedure for each platform.
For iOS, you may need to use iTunes or an alternative method if your device isn't jailbroken.
For Android, enable installations from unknown sources in your device settings to install the .apk file.
For macOS, drag the downloaded app to your Applications folder.
Documentation
The documentation of the platform is available here: virtual CAT Documentation
Owner
- Name: GiorgiaAuroraAdorni
- Login: GiorgiaAuroraAdorni
- Kind: user
- Location: Lugano, Ticino, Switzerland
- Company: @IDSIA — USI / SUPSI
- Website: https://giorgiaadorni.carrd.co
- Twitter: GiorgiaAdorni
- Repositories: 13
- Profile: https://github.com/GiorgiaAuroraAdorni
Ph.D. Student @ IDSIA - Intelligent Tutoring and Assessment Systems in Education