Peer code review is a key practice in professional software development, and its integration into computer science education can provide valuable learning experiences for students. However, few reports compare differe...
详细信息
ISBN:
(纸本)9798400705328
Peer code review is a key practice in professional software development, and its integration into computer science education can provide valuable learning experiences for students. However, few reports compare different peer code review methods within a single educational context. This experience report shares insights from implementing various review types-individual, team, and pair code reviews-in a first-year data structures and algorithms course in a bachelor's degree program. Throughout the semester, students took an active role in their learning by completing three programming assignments, each followed by a different peer review method. Feedback was collected through questionnaires to capture the students' perceptions of their data structure knowledge, programming skills, and overall learning experience. Our report outlines the design of the different review learning activities, provides insights into the students' opinions on the review techniques, and reflects on the challenges and successes we encountered. As each method offers unique benefits, we believe that incorporating a variety of peer code review methods can enhance the overall learning experience in computer science courses.
Beginner software engineering students face difficulties while implementing programs with data structures and algorithms. Knowledge gaps, fundamental misconceptions and invalid mental models are major causes for such ...
详细信息
ISBN:
(纸本)9781450370929
Beginner software engineering students face difficulties while implementing programs with data structures and algorithms. Knowledge gaps, fundamental misconceptions and invalid mental models are major causes for such difficulties. For an effective learning process, it is important to address misconceptions and provide targeted guidance. This study aims to identify students' misconceptions related to data structures and algorithms programming in Java and to reveal necessary guidance to overcome observed misconceptions while exploring the possibilities of offering targeted guidance automatically.
data structures and algorithms (DSA) are one of the main pillars of software development;however, abstractions around them are hard to teach and to be understood by students. The most common approaches adopted by inst...
详细信息
ISBN:
(纸本)9781450376518
data structures and algorithms (DSA) are one of the main pillars of software development;however, abstractions around them are hard to teach and to be understood by students. The most common approaches adopted by instructors to demonstrate the behavior of DSAs are the use of resources like slides and whiteboard sketches to create program illustrations. This task may be slow and tedious because these illustrations need to be continuously updated to represent new algorithm inputs and modifications. In this paper, we propose Willow, a tool for Program Visualization Simulation (PVS), which supports user interactions to manipulate the generated visualizations. With these manipulations in the visualization, we expect the user to be able to create better examples, resembling Algorithm Visualization Simulation tools (AVS), which are specialized in providing visualizations for specific DSAs. We evaluated our tool through a preliminary qualitative study with teaching assistants from an introductory Computer Science course who all give review lessons to the students. Our preliminary results show that the tool was well accepted by the participants, but we still need more studies to validate the use of the tool in classrooms. With the use of our tool features in the teaching-learning process, we expect that instructors may be able to interactively and more clearly explain DSAs to their students, without the hassle of hours creating slides or drawing by hand messy examples of algorithms.
AlgoTutor is an innovative educational interactive system designed to transform the learning experience of algorithms and datastructures for modern university students in computer science. Despite the growing demand ...
详细信息
ISBN:
(纸本)9783031619526;9783031619533
AlgoTutor is an innovative educational interactive system designed to transform the learning experience of algorithms and datastructures for modern university students in computer science. Despite the growing demand for robust computer science education, mastering these subjects remains challenging due to their inherent complexity. AlgoTutor offers an integrated learning platform featuring interactive modules, diverse materials, a real-time coding compiler, and visual aids to enhance conceptual understanding. By emphasizing critical thinking, retention, and real-time feedback without direct answers, AlgoTutor facilitates a deeper comprehension of fundamental concepts. Additionally, the platform ensures the quality and relevance of instructional materials by leveraging ChatGPT with the GPT4.0 API to provide high-quality responses. With its focus on accessibility and engagement, AlgoTutor aims to make learning data structures and algorithms more enjoyable and effective, ultimately empowering students to master these essential aspects of computer science education.
The teaching of practical foundations of computer science is still a big challenge. The course on data structures and algorithms is one of the most important foundational courses that are necessary to be included in t...
详细信息
ISBN:
(纸本)9781728131795
The teaching of practical foundations of computer science is still a big challenge. The course on data structures and algorithms is one of the most important foundational courses that are necessary to be included in the curriculum of future IT experts. The content of this course is quite wide and it differs in many universities. In our teaching process, we identified some interesting problems that could be presented more attractively - using the visualizing software. In this paper, we present a purpose, role, design and methodology of our developed software tool for the convenience of teaching and studying the problem of the longest common subsequence.
data structures and algorithms course is a core foundation stone in a computer science curriculum. But there are many complicated algorithms in it. In order to help students to master the algorithms, this paper descri...
详细信息
data structures and algorithms course is a core foundation stone in a computer science curriculum. But there are many complicated algorithms in it. In order to help students to master the algorithms, this paper describes the use of blended learning in data structures and algorithms course teaching. This blended learning model is realized as a combination of teaching methods mixed, project-based teaching, E-learning, course experiment and design mixed, process evaluation and overall evaluation. From the obtained results with performed experimental evaluation, the realized blended learning model may provide more effective and efficient educational experience.
Although undergraduate computer science enrollments are again on the upswing, increased enrollments do not seem to have led to increased diversity -- CS, at least in America, remains a field dominated by white males. ...
详细信息
ISBN:
(纸本)9781450329668
Although undergraduate computer science enrollments are again on the upswing, increased enrollments do not seem to have led to increased diversity -- CS, at least in America, remains a field dominated by white males. A variety of evidence shows that many underrepresented groups, such as women and domestic students of color, are often motivated by course work that includes a clear societal benefit. The Humanitarian Free and Open Source Software (HFOSS) approach suggests that working on FOSS projects that have humanitarian benefits provides such motivation. Unfortunately, adding new themes and topics to courses can be difficult. CS2, in particular, often feels packed enough that it's hard to envision adding something else. And, while HFOSS is attractive, it's sometimes hard for the particular needs of a project to help students develop course-specific knowledge (about data structures and algorithms).I've recently experimented with an idea that I call "HFOSS-lite". Rather than students contributing directly to an HFOSS project, they use an HFOSS project as a source of data for their data structures and algorithms. The Ushahidi crowdmapping platform has proven especially useful. Students can contribute data to Ushahidi sites and even build their own sites. The data can be used in a variety of exercises, from simple searching to sorting algorithms in which they use different criteria (not just alphabetical or by time, but also by distance from a location and a variety of hybrid approaches) and beyond. And, because they are using the HFOSS software, they think about societal impact.
Learn how to build efficient, secure and robust code in C++ by using data structures and algorithms - the building blocks of C++About This Book• Use datastructures such as arrays, stacks, trees, lists, and graphs wit...
详细信息
ISBN:
(数字)9781788831970
ISBN:
(纸本)9781788835213
Learn how to build efficient, secure and robust code in C++ by using data structures and algorithms - the building blocks of C++
About This Book
• Use datastructures such as arrays, stacks, trees, lists, and graphs with real-world examples
• Learn the functional and reactive implementations of the traditional datastructures
• Explore illustrations to present data structures and algorithms, as well as their analysis, in a clear, visual manner
Who This Book Is For
This book is for developers who would like to learn the data structures and algorithms in C++. Basic C++ programming knowledge is expected.
What You Will Learn
• Know how to use arrays and lists to get better results in complex scenarios
• Build enhanced applications by using hashtables, dictionaries, and sets
• Implement searching algorithms such as linear search, binary search, jump search, exponential search, and more
• Have a positive impact on the efficiency of applications with tree traversal
• Explore the design used in sorting algorithms like Heap sort, Quick sort, Merge sort and Radix sort
• Implement various common algorithms in string data types
• Find out how to design an algorithm for a specific task using the common algorithm paradigms
In Detail
C++ is a general-purpose programming language which has evolved over the years and is used to develop software for many different sectors. This book will be your companion as it takes you through implementing classic data structures and algorithms to help you get up and running as a confident C++ programmer.
We begin with an introduction to C++ data structures and algorithms while also covering essential language constructs. Next, we will see how to store data using linked lists, arrays, stacks, and queues. Then, we will learn how to implement different sorting algorithms, such as quick sort and heap sort. Along with these, we will dive into searching algorithms such as linear search, binary search and more. Our next mission will be to attain
This Research to Practice Work in Progress paper develops an adaptive learning module aimed at enriching data structures and algorithms courses (CS2/DS) with introductory parallel computing. We emphasize exploitable s...
详细信息
ISBN:
(纸本)9781728189611
This Research to Practice Work in Progress paper develops an adaptive learning module aimed at enriching data structures and algorithms courses (CS2/DS) with introductory parallel computing. We emphasize exploitable shared-memory parallelism with the intention of teaching students to decompose a problem or its underlying big data structure into parts that can execute effectively in many- or multi-core processes. The module can set up conditional mastery paths and differentiate assignments for individual students automatically. The adaptive learning reflects the student-directed learning by doing and so fits naturally into the conventional CS2/DS courses. We conducted a 50-minute learning session in an adaptive learning CS2/DS class for a group of 56 students in the Fall 2019 semester. The experimental results, from two surveys executed before and after the session, was successful in engaging students, instigating students' interest in parallel computing, and improving the students' awareness and appreciation. The module can be extended to support other parallel computing concepts, such as critical section, race condition, and multi-thread synchronization and cooperation techniques. As a side benefit, we would like to show that adaptive learning prepares students, gets students to engage, and enhances their performance.
This paper presents EASy-DSBuilder, an e-assessment tool for assessing fundamental concepts of binary tree data structure operations (i.e. search, insert, and delete operations) taught in Computer Science (CS) lecture...
详细信息
ISBN:
(纸本)9781450331968
This paper presents EASy-DSBuilder, an e-assessment tool for assessing fundamental concepts of binary tree data structure operations (i.e. search, insert, and delete operations) taught in Computer Science (CS) lectures. Students can manipulate datastructures by adding nodes and freely move them, as well as connect and disconnect nodes within a drag-and-drop interface. At the same time, teachers can easily create new exercises based on their own datastructures by uploading their Java implementation. We discuss EASy-DSBuilder's user interface and its general feedback mechanism. We also conducted a user study evaluating EASy-DSBuilder's user interface, visualisation techniques, and overall performance. Both qualitative and quantitative results show that usability is well-liked and learning success is promising.
暂无评论