scholarly journals Abstraction, Declarative Observations and Algorithmic Problem Solving

2021 ◽  
Vol 20 (4) ◽  
pp. 567-582
Author(s):  
David GINAT
Author(s):  
Anany Levitin ◽  
Maria Levitin

While many think of algorithms as specific to computer science, at its core algorithmic thinking is defined by the use of analytical logic to solve problems. This logic extends far beyond the realm of computer science and into the wide and entertaining world of puzzles. In Algorithmic Puzzles, Anany and Maria Levitin use many classic brainteasers as well as newer examples from job interviews with major corporations to show readers how to apply analytical thinking to solve puzzles requiring well-defined procedures. The book's unique collection of puzzles is supplemented with carefully developed tutorials on algorithm design strategies and analysis techniques intended to walk the reader step-by-step through the various approaches to algorithmic problem solving. Mastery of these strategies--exhaustive search, backtracking, and divide-and-conquer, among others--will aid the reader in solving not only the puzzles contained in this book, but also others encountered in interviews, puzzle collections, and throughout everyday life. Each of the 150 puzzles contains hints and solutions, along with commentary on the puzzle's origins and solution methods. The only book of its kind, Algorithmic Puzzles houses puzzles for all skill levels. Readers with only middle school mathematics will develop their algorithmic problem-solving skills through puzzles at the elementary level, while seasoned puzzle solvers will enjoy the challenge of thinking through more difficult puzzles.


1987 ◽  
Vol 15 (3) ◽  
pp. 281-301 ◽  
Author(s):  
Peter B. Henderson

A computer-aided instructional environment which is based primarily upon the direct manipulation paradigm to promote learning by doing, or discovery learning is described. This environment has been implemented and used in an introductory computer science course to teach algorithmic problem-solving. It has been developed as a modular software system which is easily adapted for a wide range of instructional activities and student populations. It provides a simple, adaptable, and conceptually uniform approach to the development of a class of practical CAI systems. Several important characteristics of this computer-aided instructional environment include guiding students toward understanding a concept without being too obtrusive, introducing example tasks and subtasks so students can discover concepts on their own by generalizing from examples, providing meaningful graphical and/or verbal feedback to students, recognizing and gently correcting misconceptions, and knowing when to terminate a tutoring session.


2021 ◽  
pp. 143-146
Author(s):  
Antti LAAKSONEN

In this article I review two recent competitive programming books, published in 2020, which have not yet been presented in the Olympiads in Informatics journal. The books are Algorithmic Thinking by Daniel Zingaro and Competitive Programming in Python by Christoph Dürr and Jill-Jênn Vie. Both the books are introductory books but their approaches are different. Algorithmic Thinking focuses on the process of learning algorithmic problem solving and uses competitive programming problems as motivating challenges. Competitive Programming in Python develops skills for programming contests and job interviews, and shows how the Python language can be used in competitive programming.


2022 ◽  
pp. 224-252
Author(s):  
Kadir Demir ◽  
Cansu Çaka ◽  
Nihal Dulkadir Yaman ◽  
Hakan İslamoğlu ◽  
Abdullah Kuzu

Computational thinking involves understanding human behavior, designing systems and solving problems by applying the mental tools that reflect the computer science and basic concepts. Development of frameworks of computational thinking helps integrate computational thinking into education and daily life. It is important for students to start using the computational methods and tools as well as algorithmic problem solving in their educations from kindergarten level to university level. Importance of training on programming at early age was explained. In addition, the current situation of programming in education in the world was reviewed. Then curricula and projects in different countries were summarized. It is necessary to start studies at an early age to help individuals acquire these skills.


Sign in / Sign up

Export Citation Format

Share Document