Building Strong Problem-Solving Skills in First-Year Students
A new tool helps first-year students develop essential abstraction skills in computer science.
― 6 min read
Table of Contents
Transitioning from secondary school to higher education can be challenging for first-year students. In a university setting, students are expected to learn topics more independently, which can feel overwhelming. This is especially true in courses related to computer science, where skills in math and problem-solving are essential but not always adequately prepared for.
The aim of this work is to help first-year students develop the skills they need to solve problems effectively. While learning to code, students often miss the importance of abstract thinking, which is necessary to break down complex issues into manageable parts. To address this, a tool was created to help students practice their Abstraction skills.
The Need for Abstraction Skills
Abstraction in problem-solving means taking a complex issue and simplifying it to understand and solve it better. In computer science, students need to learn how to take general problems and represent them in a way that makes coding easier. However, many students jump straight into coding without fully grasping this process, which can lead to misunderstandings and frustration.
In the classroom, students often struggle to grasp abstract concepts because they want immediate results. They prefer to focus on specific problems rather than spending time on abstraction, which feels like a slow process without clear outcomes. This can lead to high failure rates, especially in introductory courses.
Introducing a New Tool for Learning
To help students with this challenge, a tool was designed to support their learning from the very beginning of their university experience. The tool encourages students to practice abstraction skills through a series of graphical Programming tasks. This allows them to visualize their solutions and think through their problems step by step.
The tool is used in an introductory programming course, often referred to as CS1. It allows students to submit their work multiple times, receiving immediate Feedback on their performance. This feedback helps students understand what they did well and where they need to improve.
Engagement
Teaching Methods and StudentIn this course, keeping students engaged is essential. Regular activities are organized to encourage active participation in their learning. Students are expected to apply their abstraction skills, which are vital for any computer scientist. These skills are equally important in other fields like science, technology, engineering, and mathematics.
Through the tool, students can break down problems into smaller parts and tackle them one at a time. They represent their solutions graphically, which helps them visualize their thought processes and understand how to translate these ideas into code.
The use of this tool is not just about coding; it aims to foster a deeper understanding of how to think abstractly about problems. By regularly practicing these skills, students begin to build a strong foundation for their future studies.
Structure of the Course and Activities
The course is structured to allow students to work on problems throughout the semester. Each week, they receive new tasks aligned with the material covered in class. These tasks require students to model their solutions graphically and submit their work for review.
Students can submit their solutions multiple times, which encourages them to reflect on their mistakes and learn from them. They receive detailed feedback on their submissions, which helps them improve their understanding of the subject. This process also helps reduce anxiety around assessments, as students can practice without immediate pressure.
Two types of activities are incorporated into the course: the Programming Challenge Activity and other optional exercises. The Programming Challenge Activity consists of a series of statements that students must solve. This allows them to practice their skills in a structured way.
The optional exercises give students the freedom to tackle problems in a more flexible manner, allowing them to explore concepts at their own pace. This approach fosters a learning environment where students feel supported in their efforts to grasp complex ideas.
Understanding Student Participation
A significant part of the course involves monitoring how students engage with the tool and the activities. Data is collected throughout the semester to see how students interact with the platform. Understanding participation helps instructors adjust the learning material to better support students.
Surveys are conducted at the end of the term to gather students' opinions about the tool and its effectiveness. Many students report feeling more motivated and engaged, especially when the activities are well-aligned with their learning needs. However, some students still find it challenging to grasp the concepts fully.
Overall, participation in activities tends to peak around assessment periods when students feel more pressure to perform. This pattern reveals that many students gravitate toward studying only when there’s a deadline. Encouraging consistent engagement throughout the semester is a goal for improving learning outcomes.
Challenges and Limitations
Despite the advantages of this approach, there are challenges to overcome. Some students may become frustrated if they do not see immediate results. Additionally, the diverse backgrounds of students can create disparities in foundational knowledge, particularly in math and abstract thinking.
Those who enter the course with stronger math skills may adapt more quickly, while others may struggle. This disparity highlights the need for additional support and resources to help all students succeed. It is crucial to create an inclusive learning environment where every student can thrive.
Future Directions and Expanding the Tool
The goal is to expand the functionalities of the tool to support a wider range of learning experiences. This includes integrating activities beyond programming, such as physics and other STEM fields, where abstract thinking is equally important.
By adapting the tool for different subjects, more students can benefit from this approach. It could be used to teach concepts in various disciplines, offering a consistent framework for learning that emphasizes problem-solving and abstraction.
Further developments may include adding features that allow students to visualize their progress over time and receive more tailored feedback. This could enhance their development and foster greater self-regulation in their studies.
Conclusion
The transition to higher education can be daunting, but it is essential for students to develop strong problem-solving skills. By focusing on abstraction, the tool designed for this course encourages students to think critically and approach problems logically.
With regular practice and feedback, students can develop the skills they need to succeed academically and in their future careers. By continually refining this approach and addressing challenges, the aim is to create a supportive learning environment that fosters growth and understanding in all students.
Title: Training Students' Abstraction Skills Around a CAF\'E 2.0
Abstract: Shaping first year students' mind to help them master abstraction skills is as crucial as it is challenging. Although abstraction is a key competence in problem-solving (in particular in STEM disciplines), students are often found to rush that process because they find it hard and do not get any direct outcome out of it. They prefer to invest their efforts directly in a concrete ground, rather than using abstraction to create a solution. To overcome that situation, in the context of our CS1 course, we implemented a tool called CAF\'E 2.0. It allows students to actively and regularly practice (thanks to a longitudinal activity) their abstraction skills through a graphical programming methodology. Moreover, further than reviewing students' final implementation, CAF\'E 2.0 produces a personalized feedback on how students modeled their solution, and on how consistent it is with their final code. This paper describes CAF\'E 2.0 in a general setting and also provides a concrete example in our CS1 course context. This paper also assesses students' interaction with CAF\'E 2.0 through perception and participation data. Finally, we explain how CAF\'E 2.0 could extended in another context than a CS1 course.
Authors: Géraldine Brieven, Lev Malcev, Benoit Donnet
Last Update: 2023-09-18 00:00:00
Language: English
Source URL: https://arxiv.org/abs/2309.09562
Source PDF: https://arxiv.org/pdf/2309.09562
Licence: https://creativecommons.org/licenses/by/4.0/
Changes: This summary was created with assistance from AI and may have inaccuracies. For accurate information, please refer to the original source documents linked here.
Thank you to arxiv for use of its open access interoperability.