Skip Navigation

Utah Core  •  Curriculum Search  •  All CTE/Computer Science & Information Technology Lesson Plans  •  USBE CTE/Computer Science & Information Technology website

 

CTE/Computer Science & Information Technology Curriculum Algorithms and Data Structures
Printable Version Printable Version (pdf)

 

arrow icon Course Introduction

 

Core Standards of the Course

Strand 1
Students will increase their ability to do object-oriented design and implement object-oriented programs using a programming language.

Standard 1
Analyze and perform algorithmic analysis of data operations including:

  1. Insert
  2. Remove
  3. Search
  4. Sort

Strand 2
The students will apply good object-oriented design and analysis methods to develop programs and refine their programming skills

Standard 1
Using an integrated development environment (IDE) and appropriate design procedures, construct reasonably complex programs.

  1. Understand the concept of pointers and reference variables
  2. Use inheritance and polymorphism
  3. Create and use function templates or generics
  4. Create and use class templates or generics
  5. Use standard exception handling techniques
  6. Use recursion
  7. Use appropriate built in structures and algorithms from the language in use including but not limited to:
    • C++ Standard Template Library
    • Java Collections Framework
    • Python Standard libs
    • C# Collections
    • Swift Standard Library

Standard 2
Use appropriate design procedures

  1. Design and use simple and complex data structures to solve sophisticated problems.
  2. Provide reporting from data

Standard 3
List the Big-O notation categories and match them to a program with its Big-O notation.


Strand 3
The students will be able to test and document their programs.

Standard 1
Test and debug programs to assure their quality and usability.

  1. Use language specific unit testing libraries:
    • JUnit
    • NUnit
    • PyUnit
    • XCTest

Standard 2
Document programs for understandability and maintainability.

  1. By providing in-line comments
  2. By standardized class and file headers
  3. By using elements of good programming style.
    • C++:
      • /** to */
    • C#: Documentation Comments
      • ///
    • Java: Javadoc Comments
      • /** to */
    • Python: Docstrings
      • """ to """
    • Swift:
      • Markup Documentation

Strand 4
The students will demonstrate an understanding of different linear and non-linear data structures.

Standard 1
Use arrays.

Standard 2
Use dynamic linear structures

  1. Linked Lists
  2. Stacks
  3. Queues

Standard 3
Use binary trees and multiway (n-ary) trees.

Standard 4
Use graphs.

Standard 5
Use hastables.

Performance Skills
Students will list the benefits and issues of using arrays, linked lists, etc. in relation to computer architecture and performance.


Strand 5
Students will explore and implement multiple algorithms including at least the following:

  • Sorting
  • Searching
  • Traversal
  • Compression
  • Dynamic Programming
  • Shortest Path


Strand 6
The students will use appropriate data structures.

Standard 1
Discuss the basic principles of many software data structures, including efficiencies and tradeoffs including size, speed, complexity

Standard 2
Implement and use several data structures in programs

  1. Using large data sets (greater than 10K entries)
  2. Read and write to a file
  3. Timing of code execution

Overall Performance Skills
Create applications/programs highlighting proper use of linear and non-linear data structures and demonstrating correct use of standard algorithms including:

  1. Using a stack to process postfix notation
  2. Timing execution of events in a priority queue
  3. Traversing a graph of nodes representing a real-world location

Workplace Skills
Workplace Skills taught:

  • Communication
  • Problem Solving
  • Teamwork
  • Critical Thinking
  • Dependability
  • Accountability
  • Legal requirements / expectations



UEN logo http://www.uen.org - in partnership with Utah State Board of Education (USBE) and Utah System of Higher Education (USHE).  Send questions or comments to USBE Specialist - Kristina  Yamada and see the CTE/Computer Science & Information Technology website. For general questions about Utah's Core Standards contact the Director - THALEA  LONGHURST.

These materials have been produced by and for the teachers of the State of Utah. Copies of these materials may be freely reproduced for teacher and classroom use. When distributing these materials, credit should be given to Utah State Board of Education. These materials may not be published, in whole or part, or in any other format, without the written permission of the Utah State Board of Education, 250 East 500 South, PO Box 144200, Salt Lake City, Utah 84114-4200.