CSE3110 Iterative Algorithm 1
Advanced · 1 credit · BIT - Business, Admin, Finance and IT
- Description
- Students learn a number of standard iterative data processing algorithms useful for working with data structures such as arrays. These include an iterative version of the binary search, the three basic sorts—exchange (bubble), insertion and selection, and a simple merge. In the process, they learn when and where to apply these algorithms.
- Prerequisite
- CSE2120: Data Structures 1
- Parameters
- Access to appropriate computer equipment, software, the Internet and support materials. Access to an object-oriented programming environment that encourages a formal treatment of objects.
- Supporting courses
- CSE2130: Files & File Structures 1 CSE3010: Computer Science 3 CSE3120: Object-oriented Programming 1
Outcomes The student will:
1 analyze and represent the nature, structure and utility of common iterative algorithms
1.1 compare and contrast search, sort and merge algorithms
1.2 explain the way in which search, sort and merge algorithms manipulate data
1.3 describe the data structures required by search, sort and merge algorithms
1.4 describe how search, sort and merge algorithms are implemented in a programming environment
1.5 describe and represent iterative search algorithms including:
1.5.1 linear search
1.5.2 binary search
1.5.3 compare and contrast how linear and binary searches manipulate data
1.5.4 compare and contrast the data structures required and the computational efficiencies of linear and binary searches
1.6 describe and represent basic iterative sort algorithms including:
1.6.1 exchange sort; e.g., bubble sort, cocktail sort, gnome sort, comb sort
1.6.2 selection sort; e.g., selection sort, strand sort
1.6.3 insertion sort; e.g., insertion sort, library sort
1.6.4 comparing and contrasting how different classes of sorts manipulate data
1.6.5 comparing and contrasting the data structures required and the computational efficiencies of different classes of sorts
1.7 describe and represent simple iterative merge algorithms
2 create and/or modify algorithms that use searches, sorts and merges to solve problems
2.1 demonstrate the use of appropriate general design techniques for the programming environment being considered for implementation
2.2 analyze and decompose the problem into appropriate subsections using the decomposition techniques appropriate for the chosen design approach
2.3 evaluate subsections and identify any that may require some type of search, sort and/or merge algorithm, based on the nature of the data to be processed and the type of processing operations
2.4 identify which algorithms are appropriate or required to search, sort and/or merge data
2.5 sequence the various subsections appropriately
2.6 test and modify the developing algorithm with appropriate data using a “fail-on-paper” process
3 create and/or modify programs that use searches, sorts and merges to solve problems
3.1 convert algorithms calling for standard iterative structures into programs that reflect the algorithm’s design
3.2 use original (user-created) or pre-existing search, sort and/or merge algorithms appropriate to the data being manipulated
3.3 utilize the appropriate operators, methods, functions or procedures required to carry out the standard algorithms
3.4 use internal and external documentation
4 compare program operation and outcomes with the intent of the algorithm and modify, as required
4.1 use appropriate error-trapping mechanisms built into the programming environment, as well as programmer-directed error-trapping techniques, to eliminate logic errors and debug the program
4.2 compare the congruency between the outcomes of the debugged program and the original intent of the algorithm and modify both, as required
5 demonstrate basic competencies
5.1 demonstrate fundamental skills to:
5.1.1 communicate
5.1.2 manage information
5.1.3 use numbers
5.1.4 think and solve problems
5.2 demonstrate personal management skills to:
5.2.1 demonstrate positive attitudes and behaviours
5.2.2 be responsible
5.2.3 be adaptable
5.2.4 learn continuously
5.2.5 work safely
5.3 demonstrate teamwork skills to:
5.3.1 work with others
5.3.2 participate in projects and tasks
6 create a transitional strategy to accommodate personal changes and build personal values
6.1 identify short-term and long-term goals
6.2 identify steps to achieve goals
Program of Studies 2009. Source document, © Alberta Education.