Intelligent Tutoring System: Experience of Linking Software Engineering
and Programming Teaching
- URL: http://arxiv.org/abs/2310.05472v2
- Date: Fri, 13 Oct 2023 06:51:17 GMT
- Title: Intelligent Tutoring System: Experience of Linking Software Engineering
and Programming Teaching
- Authors: Zhiyu Fan, Yannic Noller, Ashish Dandekar, Abhik Roychoudhury
- Abstract summary: Existing systems that handle automated grading primarily focus on the automation of test case executions.
We have built an intelligent tutoring system that has the capability of providing automated feedback and grading.
- Score: 11.732008724228798
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: The increasing number of computer science students pushes lecturers and
tutors of first-year programming courses to their limits to provide
high-quality feedback to the students. Existing systems that handle automated
grading primarily focus on the automation of test case executions in the
context of programming assignments. However, they cannot provide customized
feedback about the students' errors, and hence, cannot replace the help of
tutors. While recent research works in the area of automated grading and
feedback generation address this issue by using automated repair techniques, so
far, to the best of our knowledge, there has been no real-world deployment of
such techniques. Based on the research advances in recent years, we have built
an intelligent tutoring system that has the capability of providing automated
feedback and grading. Furthermore, we designed a Software Engineering course
that guides third-year undergraduate students in incrementally developing such
a system over the coming years. Each year, students will make contributions
that improve the current implementation, while at the same time, we can deploy
the current system for usage by first year students. This paper describes our
teaching concept, the intelligent tutoring system architecture, and our
experience with the stakeholders. This software engineering project for the
students has the key advantage that the users of the system are available
in-house (i.e., students, tutors, and lecturers from the first-year programming
courses). This helps organize requirements engineering sessions and builds
awareness about their contribution to a "to be deployed" software project. In
this multi-year teaching effort, we have incrementally built a tutoring system
that can be used in first-year programming courses. Further, it represents a
platform that can integrate the latest research results in APR for education.
Related papers
- Establishing Software Engineering Design Competence with Soft Skills [5.829545587965401]
An engineering design course has been developed for senior level students enrolled in the software engineering program in Canada.
The goals of the course are to provide a realistic design experience, introduce students to industry culture, improve their time management skills, challenge them technically and intellectually, improve their communication skills, raise student level of professionalism, hone their soft skills, and raise awareness of human factors in software engineering.
arXiv Detail & Related papers (2024-08-07T02:20:20Z) - Bridging Gaps, Building Futures: Advancing Software Developer Diversity and Inclusion Through Future-Oriented Research [50.545824691484796]
We present insights from SE researchers and practitioners on challenges and solutions regarding diversity and inclusion in SE.
We share potential utopian and dystopian visions of the future and provide future research directions and implications for academia and industry.
arXiv Detail & Related papers (2024-04-10T16:18:11Z) - Introducing High School Students to Version Control, Continuous
Integration, and Quality Assurance [0.0]
Two high school students volunteered in our lab at Wayne State University where I'm a graduate research assistant and Ph.D. student in computer science.
The students had taken AP Computer Science but had no prior experience with software engineering or software testing.
This paper documents our experience devising a group project to teach the requisite software engineering skills to implement automated tests.
arXiv Detail & Related papers (2023-10-05T21:44:11Z) - Building an Effective Automated Assessment System for C/C++ Introductory
Programming Courses in ODL Environment [0.0]
Traditional ways of assessing students' work are becoming insufficient in terms of both time and effort.
In distance education environment, such assessments become additionally more challenging in terms of hefty remuneration for hiring large number of tutors.
We identify different components that we believe are necessary in building an effective automated assessment system.
arXiv Detail & Related papers (2022-05-24T09:20:43Z) - Enabling Automated Machine Learning for Model-Driven AI Engineering [60.09869520679979]
We propose a novel approach to enable Model-Driven Software Engineering and Model-Driven AI Engineering.
In particular, we support Automated ML, thus assisting software engineers without deep AI knowledge in developing AI-intensive systems.
arXiv Detail & Related papers (2022-03-06T10:12:56Z) - Lifelong Learning Metrics [63.8376359764052]
The DARPA Lifelong Learning Machines (L2M) program seeks to yield advances in artificial intelligence (AI) systems.
This document outlines a formalism for constructing and characterizing the performance of agents performing lifelong learning scenarios.
arXiv Detail & Related papers (2022-01-20T16:29:14Z) - Using Machine Learning to Predict Engineering Technology Students'
Success with Computer Aided Design [50.591267188664666]
We show how data combined with machine learning techniques can predict how well a particular student will perform in a design task.
We found that our models using early design sequence actions are particularly valuable for prediction.
Further improvements to these models could lead to earlier predictions and thus provide students feedback sooner to enhance their learning.
arXiv Detail & Related papers (2021-08-12T20:24:54Z) - Data Science for Engineers: A Teaching Ecosystem [59.00739310930656]
We describe an ecosystem for teaching data science to engineers at the Faculty of Physical and Mathematical Sciences, Universidad de Chile.
This initiative has been motivated by the increasing demand for DS qualifications both from academic and professional environments.
By sharing our teaching principles and the innovative components of our approach to teaching DS, we hope our experience can be useful to those developing their own DS programmes and ecosystems.
arXiv Detail & Related papers (2021-01-14T14:17:57Z) - Machine Learning for Software Engineering: A Systematic Mapping [73.30245214374027]
The software development industry is rapidly adopting machine learning for transitioning modern day software systems towards highly intelligent and self-learning systems.
No comprehensive study exists that explores the current state-of-the-art on the adoption of machine learning across software engineering life cycle stages.
This study introduces a machine learning for software engineering (MLSE) taxonomy classifying the state-of-the-art machine learning techniques according to their applicability to various software engineering life cycle stages.
arXiv Detail & Related papers (2020-05-27T11:56:56Z) - Teaching Software Engineering for AI-Enabled Systems [7.01053472751897]
This course teaches software-engineering skills to students with a background in machine learning.
We describe the course and our infrastructure and share experience and all material from teaching the course for the first time.
arXiv Detail & Related papers (2020-01-18T15:24:17Z)
This list is automatically generated from the titles and abstracts of the papers in this site.
This site does not guarantee the quality of this site (including all information) and is not responsible for any consequences.