Title :
Flexible Algorithms - Selections from a course for beginners
Author_Institution :
Bublik 15/11, Jerusalem 97225, Israel, E-mail: rafi@jct.ac.il Home page: http://cc.jct.ac.il/~rafi
Abstract :
Here flexible algorithms are used for teaching purposes in a course for beginners. Flexible algorithms have a simple notation and are multifaceted. They may be executed in a variety of orders, sequential or parallel, producing results independent of the execution order. They may be converted to sequential algorithms and to hardware block diagrams. They may also be used for giving an overall description of systems. The educational approach is as follows. (1) Reading and executing flexible algorithms - understanding their behaviours. (2) Acquiring an early awareness of parallelism. (3) Converting flexible algorithms to hardware block diagrams (arouse curiosity). (4) Converting flexible algorithms to sequential algorithms (tail recursion). (5) Deeper understanding of flexible algorithms computational induction. (6) Changes to flexible algorithms. (7) Writing flexible algorithms. (8) Overall description of systems using flexible algorithms (arouse curiosity). The "core" algorithmic notation is based on functions with "IN", "OUT" but no "INOUT" parameters, and conditional statements. As in mathematics, variables, parameters, etc., receive a value once only. Blocks, loops, etc. (including nested forms) are not part of the "core" language but viewed as abbreviations for certain compound forms in the "core" language. Our notation has an iterative style and includes a once only assignment statement. This material is suitable for beginning undergraduate students of computing science and for suitable students in their final year of secondary school.
Keywords :
computer science education; teaching; computing science; flexible algorithms; hardware block diagrams; sequential algorithms; teaching purposes; undergraduate students; Algorithm design and analysis; Concurrent computing; Education; Educational institutions; Error correction; Hardware; Information technology; Iterative algorithms; Parallel processing; Writing; Flexible Algorithm;
Conference_Titel :
Information Technology: Research and Education, 2006. ITRE '06. International Conference on
Conference_Location :
Tel-Aviv
Print_ISBN :
1-4244-0858-X
Electronic_ISBN :
1-4244-0859-8
DOI :
10.1109/ITRE.2006.381539