There has been much less debate within the computing research community about teaching algorithms than about teaching introductory programming. However, it is advisable (or even necessary) to hold public discussions a...
详细信息
ISBN:
(纸本)9798400705328
There has been much less debate within the computing research community about teaching algorithms than about teaching introductory programming. However, it is advisable (or even necessary) to hold public discussions about different issues, independently of more focused research efforts. This position paper addresses two themes. Firstly, it advocates for an experiential approach to learning algorithms, as a complement to the more common formal and engineering approaches. We show how visualization and benchmarking can make algorithms more concrete to students and their learning more active and insightful. Secondly, we argue that some conceptual models present in algorithm textbooks are imprecise, or even implicit, making difficult to learn their corresponding topics. We elaborate on this concern by stressing that several algorithm design techniques address a specific class of problems (namely, optimization ones) and by visiting several aspects of three designtechniques (greedy algorithms, dynamic programming and branch-and-bound).
There is both great hope and concern about the future of Computer Science practice and education concerning the recent advent of large language models (LLMs).We present the first study to extensively evaluate the abil...
详细信息
ISBN:
(纸本)9798400705311
There is both great hope and concern about the future of Computer Science practice and education concerning the recent advent of large language models (LLMs).We present the first study to extensively evaluate the ability of such a model to solve problems in Computer Science Theory. Specifically, we tested 165 exam-level problems across 16 specific topics related to computer science theory, ranging from preliminary data structures to algorithmdesign paradigms to theory of computation (automata and complexity). Our results use the recent popular models (GPT-4 and GPT-4o). This is a rapidly evolving field, with model performance continuously improving. We present our results primarily as an indication of what they can already achieve-equivalently how they can already be useful-today, fully expecting them to improve even further in the near *** results show that what was very recently a state-of-the-art model (GPT-4) can solve 77% of free-response problems in data structures and algorithms with little to no guidance. The latest model, GPT-4o, can solve around 46% of the Theory of Computation problems we posed, with predictable categories for which problems it could not solve. When broken down by topic, the model can solve 80% of problems in 4 out of the 15 topics and at least half in 8 other topics. Other problems, namely more visual problems, either require more substantial coaching or seem to still be beyond the capabilities of the language model--for *** understanding the strengths and limitations of these models for solving theory problems, we can open the door to future work, ranging from human educational assessment on the topic to automated tutors for learners of the subject.
In this paper, we present an evolutionary computing solution to the Jump-It game problem, which is a board playing optimization problem. We compare the evolutionary computing solution with a dynamic programming soluti...
详细信息
ISBN:
(纸本)9781450371056
In this paper, we present an evolutionary computing solution to the Jump-It game problem, which is a board playing optimization problem. We compare the evolutionary computing solution with a dynamic programming solution to the problem. We also report on how we used the Jump-It problem to introduce evolutionary computing to undergraduate students in a data mining course.
Learning and teaching problem solving is a hard task, no matter the domain. Computer Science is no exception. Recursion is a paradigm often used for problem solving, but it is non-intuitive and it is unnatural. Most s...
详细信息
Learning and teaching problem solving is a hard task, no matter the domain. Computer Science is no exception. Recursion is a paradigm often used for problem solving, but it is non-intuitive and it is unnatural. Most second programming courses (CS2-level) for Computer Engineering students apply recursion to mathematical problems or basic recursive data structures with a limited focus on problem solving. Third programming courses (CS3-level) deal with search and optimization problems and they use recursion because of its ability, due to its backtracking mechanism, to explore the whole solution space. However, most of them do not rely on a systematic and well-formed approach to teaching this approach to problem solving. Our main contribution is to adopt schema-based instruction for recursion-based problem solving, where schemas come from Enumerative Combinatorics. This is the core of our attempt at developing second-year computer Engineering students' problem-solving skills. We provide the students with these schemas as templates in the C language to guide them step-by-step in solving search and optimization problems with uninformed and complete algorithms. To extend the applicability of this approach to other than small-size problems, we show students how they can introduce pruning to limit search while keeping it complete. We present experimental evidence we gathered for our second-year CS2+CS3 programming course for Computer Engineering students at Politecnico di Torino, a major technical university in Italy. We evaluate students' perception of the approach in terms of understanding and of ability to apply it. We compare students' perception to faculty expectations and we evaluate students' performance in terms of improvement in the success rate at exams. Data prove that the approach we adopt is beneficial both in terms of quantitative results (success rate at exams) and qualitative results (knowledge and skills acquired by students).
There are ongoing efforts to identify students' misconceptions of computing topics, including algorithms. The paper addresses students' misconceptions of optimization problems and their corresponding algorithm...
详细信息
ISBN:
(纸本)9781450363013
There are ongoing efforts to identify students' misconceptions of computing topics, including algorithms. The paper addresses students' misconceptions of optimization problems and their corresponding algorithms. Optimization problems are an important class of problems in computer science, thus their associated misconceptions may form a relevant subset of misconceptions on algorithms. The findings presented are based on a number of evaluations conducted in past years. Assignment reports elaborated by students were used as primary materials for qualitative analysis. We present 8 misunderstandings, structured into 5 general themes. As it could be expected, some themes refer to optimization algorithms or to specific algorithm design techniques, but we also identified misconceptions of two more general themes, namely basic concepts of optimization, and basic concepts of problems and algorithms. We discuss implications of the findings for algorithm instruction and curricula.
This paper documents the development and first offering of an undergraduate course in Digital Image Processing at the Rey Juan Carlos University, Madrid (Spain). The paper describes how the appropriate introduction of...
详细信息
This paper documents the development and first offering of an undergraduate course in Digital Image Processing at the Rey Juan Carlos University, Madrid (Spain). The paper describes how the appropriate introduction of main algorithm design techniques can successfully assist the students to achieve a comprehensive understanding of image operations and related algorithms. Image processing problems offer a natural way to present real world problems where the students can use their algorithmic knowledge. Furthermore, image processing solutions are needed from a methodological development and require efficient well-designed algorithms. This paper presents an effort in the integration of algorithm design techniques in a Digital Image Processing course with a very practical scope.
algorithms have come to be recognized as the cornerstone of computing. Surprisingly, there has been little research or discussion of general techniques for designing algorithms. Though several such techniques have bee...
详细信息
ISBN:
(纸本)1581130856
algorithms have come to be recognized as the cornerstone of computing. Surprisingly, there has been little research or discussion of general techniques for designing algorithms. Though several such techniques have been identified, there are serious shortcomings in the existing taxonomy. The paper points out these shortcomings, reevaluates some of the techniques, and proposes a new, hierarchical classification scheme by grouping techniques according to their level of generality. A variety of examples from different areas of computing are used to demonstrate the power and flexibility of the taxonomy being proposed.
暂无评论