D.12: Algorithm Design
From
Oregon Department of Education knowledge and skills for Algorithm Design
D.12 Algorithm Design: Understand methods of algorithm design and its relationship to data structures.
D.12.1 Design algorithms using recurrence or iteration.
D.12.2 Design algorithms using divide-and-conquer.
D.12.3 Design algorithms using recursion.
D.12.4 Evaluate the efficiency of an algorithm including the order of complexity of algorithms.
D.12.5 Demonstrate understanding of the relationship of set theory, relations, functions, combinatorics, sequences, series, graph theory, and matrices to the design of data structures and algorithms.
D.12.6 Demonstrate understanding of the relationship of data structures to the design of algorithms and use this understanding to analyze algorithms.
Discrete Math Learning modules
Introduction to algorithmic analysis and complexity (from Terrel Smith's class, MS-Powerpoint slide set)
Representing algorithms in PsuedoCode (MS-Word 2003 format)
Worksheets for comparing and implementing Sorts with quiz. (Kathy Roberson)
These are links to modules about Algorithm Design:
Online CS Modules: Algorithms, Part 2
Online CS Modules: Programming Languages
Online CS Modules: Programming Languages, Part 2
Online CS Modules: Software Engineering
Online CS Modules: Software Engineering, Part 2
Online CS Modules: Data Structures
Online CS Modules: Data Structures, Part 2
Note that all of the above links have related Problem Sets in Microsoft WORD format that can be accessed through Mitch Fry's CS 160 site: [1]
Resources for Algorithm Design