Home   >   CSC-OpenAccess Library   >    Manuscript Information
Full Text Available

This is an Open Access publication published under CSC-OpenAccess Policy.
Publications from CSC-OpenAccess Library are being accessed from over 74 countries worldwide.
iBaTs: Interactive Bash Shell Adaptive Tutoring System
Narasimha Karpoor Shashidhar, Cihan Varol, Keerthi Koneru
Pages - 1 - 9     |    Revised - 30-04-2020     |    Published - 01-06-2020
Volume - 11   Issue - 1    |    Publication Date - June 2020  Table of Contents
Adaptive Learning, Bash, Console, Command-line, Interactive Shell, Shell Scripting.
A vast majority of students in computing and related disciplines expect to interact with their systems and computing devices using a graphical user interface. Any other means of interacting with a device is deemed unseemly and is quickly met with frustration and rejection. This can partly be attributed to the fact that most operating systems and the tools that run on these platforms offer a rich “point-and-click” interface in an effort to make their systems user friendly. However, in contrast, when it comes to the study of system and cyber security, a mastery over the console and the command-line interface is imperative. In our experience in teaching most courses on system and cyber security, students seem to have the greatest difficulty in using the console/command-prompt/shell. This issue is further exacerbated since many security and related open source forensics tools are designed to run in a Unix-based environment, typically a shell, and even fewer students are familiar with the UNIX environment and find the entire experience all the more daunting. Even the simple command-prompt, ubiquitous on all Microsoft Windows operating systems, is met with significant disdain by today's students, both at the graduate and undergraduate levels. There are several solutions that have been proposed and designed to alleviate this exact issue in the field of computer programming. Video tool, Dragon Drop Pictorial Programming, Alice and Jpie are various stand-alone tools introduced to ease the inherent challenges in learning a new programming language and environment. To alleviate this situation, in this paper, we propose the first tool of its kind, to the best of our knowledge, which aims to tutor a console application using a graphical interface and adapts to the students' progress. The ultimate aim is to eliminate students' dependence on graphical interfaces and convert her to a power user of a system. Our tool, called Interactive Bash Shell Adaptive Tutoring System (iBaTs), enables students to familiarize themselves with the UNIX environment and the Bash Shell on a Windows operating system. In this work, we discuss the architecture of our tutoring program and demonstrate that our system sports several innovative pedagogical features that makes it a unique, fun, encouraging and adaptive learning environment. To the best of our knowledge, this is the first such effort that aims to address this issue.
1 Betancur, J. A., Rodriguez, C., and Ezparragoza, I. (2011). An undergraduate collaborative design experience among institutions in the Americas. In Proc. 8th WSEAS International Conference on Engineering Education (EDUCATION'11), pages 263-265.
2 Blaho, M.-F., Fodrek, M., and Murgas, P. (2012). J.: Students perspective on improving programming courses. International Journal of Education and Information Technologies.- ISSN, pages 2074-1316.
3 Carlisle, M. C., Wilson, T. A., Humphries, J. W., and Hadfield, S. M. (2004). Raptor: introducing programming to non-majors with flowcharts. Journal of Computing Sciences in Colleges, 19(4):52-60.
4 Cinto, T., Leite, H. M., Peixoto, C. S., and Arantes, D. S. (2014). Virtual learning environments: Proposals for authoring and visualization of educational content. International Journal of Digital Information and Wireless Communications (IJDIWC), 4(3):387-400.
5 Cohoon, J. M. (2001). Toward improving female retention in the computer science major. Communications of the ACM, 44(5):108-114.
6 Corda, F., Onnis, M., Pes, M., Spano, L. D., and Scateni, R. (2019). Bashdungeon. Multimedia Tools and Applications, 78(10):13731-13746.
7 Dann, W. and Cooper, S. (2009). Education Alice 3: concrete to abstract. Communications of the ACM, 52(8):27-29.
8 Del Fatto, V., Dodero, G., and Gennari, R. (2016). How measuring student performances allows for measuring blended extreme apprenticeship for learning bash programming. Computers in Human Behavior, 55:1231-1240.
9 Garner, S. (2005). The cloze procedure and the learning of programming. In International Conference on Learning, Granada, Spain.
10 Hanzu-Pazara, R. and Barsan, E. (2010). Teaching techniques-modern bridges between lecturers and students. In 7th WSEAS International Conference on Engineering Education, Corfu Island, Greece, published in Latest Trends on Engineering Education, pages 176-181.
11 Henriksen, P. and Kolling, M. (2004). Greenfoot: combining object visualization with interaction. In Companion to the 19th annual ACM SIGPLAN conference on Object- oriented programming systems, languages, and applications, pages 73-82. ACM.
12 Klassen, M. (2006). Visual approach for teaching programming concepts. In Proceedings of the 9th International Conference on Engineering Education (ICEE 2006), pages 23-28.
13 Marasco, E. and Behjat, L.(2013). Integrating creativity into elementary electrical engineering education using cdio and project-based learning. In Microelectronic Systems Education (MSE), 2013 IEEE International Conference on, pages 44-47. IEEE.
14 Marin-Garcia, J. A. and Mauri, J. L. (2007). Teamwork with university engineering students. Group process assessment tool. Feedback, 4:10.
15 McDowell, C., Werner, L., Bullock, H. E., and Fernald, J. (2006). Pair programming improves student retention, confidence, and program quality. Communications of the ACM, 49(8):90-95.
16 Phuong, D. T. D. and Shimakawa, H. (2008). Collaborative learning environment to improve novice programmer with convincing opinions. WSEAS Transactions on Advances in Engineering Education, 5(9):635-644.
17 Powers, K., Gross, P., Cooper, S., McNally, M., Goldman, K. J., Proulx, V., and Carlisle, M. (2006). Tools for teaching introductory programming: what works? In ACM SIGCSE Bulletin, volume 38, pages 560-561. ACM.
18 Ricca, B., Lulis, E., and Bade, D. (2006). Lego mindstorms and the growth of critical thinking. In Intelligent tutoring systems workshop on teaching with robots, agents, and NLP. Citeseer.
19 Silessi, S., Varol, H., and Varol, C. (2013). Non-computer science majored women students perspective on a pictorial programming environment. International Journal of Education and Information Technologies, 7(2).
20 Styron Jr, R. (2010). Student satisfaction and persistence: Factors vital to student retention. Research in Higher Education Journal, 6:1.
21 Vihavainen, A., Paksula, M., Luukkainen, M., and Kurhila, J. (2011). Extreme apprenticeship method: key practices and upward scalability. In Proceedings of the 16th annual joint conference on Innovation and technology in computer science education, pages 273{277. ACM.
22 Zweben, S. (2011). Computing degree and enrollment trends. Computing Research Association.
Dr. Narasimha Karpoor Shashidhar
Department of Computer Science, Sam Houston State University, Huntsville - United States of America
Dr. Cihan Varol
Department of Computer Science, Sam Houston State University, Huntsville - United States of America
Mrs. Keerthi Koneru
Department of Computer Science, Sam Houston State University, Huntsville - United States of America