Software Engineering Educational Experience in Building an Intelligent Tutoring System
- URL: http://arxiv.org/abs/2310.05472v3
- Date: Wed, 18 Dec 2024 16:54:32 GMT
- Title: Software Engineering Educational Experience in Building an Intelligent Tutoring System
- Authors: Zhiyu Fan, Yannic Noller, Ashish Dandekar, Abhik Roychoudhury,
- Abstract summary: This paper discusses the Intelligent Tutoring System architecture, our teaching concept in the SE course, and our experience with the built ITS.<n>This SE course envisions building a full-fledged Intelligent Tutoring System to provide automated, real-time feedback for novice students in programming courses over multiple years.
- Score: 10.935408461248173
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: The growing number of students enrolling in Computer Science (CS) programmes is pushing CS educators to their limits. This poses significant challenges to computing education, particularly the teaching of introductory programming and advanced software engineering (SE) courses. First-year programming courses often face overwhelming enrollments, including interdisciplinary students who are not CS majors. The high teacher-to-student ratio makes it challenging to provide timely and high-quality feedback. Meanwhile, software engineering education comes with inherent difficulties like acquiring industry partners and the dilemma that such software projects are often under or over-specified and one-time efforts within one team or one course. To address these challenges, we designed a novel foundational SE course. This SE course envisions building a full-fledged Intelligent Tutoring System (ITS) of Programming Assignments to provide automated, real-time feedback for novice students in programming courses over multiple years. Each year, SE students contribute to specific short-running SE projects that improve the existing ITS implementation, while at the same time, we can deploy the ITS for usage by students for learning programming. This project setup builds awareness among SE students about their contribution to a "to-be-deployed" software project. In this multi-year teaching effort, we have incrementally built an ITS that is now deployed in various programming courses. This paper discusses the Intelligent Tutoring System architecture, our teaching concept in the SE course, our experience with the built ITS, and our view of future computing education.
Related papers
- Challenges and Paths Towards AI for Software Engineering [55.95365538122656]
We discuss progress in AI for software engineering in threefold manner.
First, we provide a structured taxonomy of concrete tasks in AI for software engineering.
Second, we outline several key bottlenecks that limit current approaches.
arXiv Detail & Related papers (2025-03-28T17:17:57Z) - 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) - WIP: A Unit Testing Framework for Self-Guided Personalized Online Robotics Learning [3.613641107321095]
This paper focuses on creating a system for unit testing while integrating it into the course workflow.
In line with the framework's personalized student-centered approach, this method makes it easier for students to revise, and debug their programming work.
The course workflow updated to include unit tests will strengthen the learning environment and make it more interactive so that students can learn how to program robots in a self-guided fashion.
arXiv Detail & Related papers (2024-05-18T00:56:46Z) - Automatic Programming: Large Language Models and Beyond [48.34544922560503]
We study concerns around code quality, security and related issues of programmer responsibility.
We discuss how advances in software engineering can enable automatic programming.
We conclude with a forward looking view, focusing on the programming environment of the near future.
arXiv Detail & Related papers (2024-05-03T16:19:24Z) - 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) - Automated Computer Program Evaluation and Projects -- Our Experiences [0.0]
We describe the details of how we set up the tools and customized those for computer science courses.
Based on our experiences, we also provide a few insights on using these tools for effective learning.
arXiv Detail & Related papers (2024-04-06T06:42:58Z) - Charting a Path to Efficient Onboarding: The Role of Software
Visualization [49.1574468325115]
The present study aims to explore the familiarity of managers, leaders, and developers with software visualization tools.
This approach incorporated quantitative and qualitative analyses of data collected from practitioners using questionnaires and semi-structured interviews.
arXiv Detail & Related papers (2024-01-17T21:30:45Z) - 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) - 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) - An Analysis of Programming Course Evaluations Before and After the
Introduction of an Autograder [1.329950749508442]
This paper studies the answers to the standardized university evaluation questionnaires of foundational computer science courses which recently introduced autograding.
We hypothesize how the autograder might have contributed to the significant changes in the data, such as, improved interactions between tutors and students, improved overall course quality, improved learning success, increased time spent, and reduced difficulty.
The autograder technology can be validated as a teaching method to improve student satisfaction with programming courses.
arXiv Detail & Related papers (2021-10-28T14:09:44Z) - 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) - ProtoTransformer: A Meta-Learning Approach to Providing Student Feedback [54.142719510638614]
In this paper, we frame the problem of providing feedback as few-shot classification.
A meta-learner adapts to give feedback to student code on a new programming question from just a few examples by instructors.
Our approach was successfully deployed to deliver feedback to 16,000 student exam-solutions in a programming course offered by a tier 1 university.
arXiv Detail & Related papers (2021-07-23T22:41:28Z) - 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) - Securing Bring-Your-Own-Device (BYOD) Programming Exams [1.9164932573056916]
Traditional pen and paper exams are inadequate for modern university programming courses.
Many institutions lack the resources or space to be able to run assessments in dedicated computer labs.
This has motivated the development of bring-your-own-device (BYOD) exam formats.
arXiv Detail & Related papers (2020-01-12T15:01:13Z)
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.