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 Computer Programing, Advanced
Printable Version Printable Version (pdf)

 

arrow icon Course Introduction

 

Core Standards of the Course

Strand 1
Students will develop applications which make advanced use of the skills and concepts developed in Computer Programming 1 and Computer Programming 2.

Standard 1
Demonstrate the ability to develop complex applications.

  1. Develop complex applications using input, calculations, and output.
  2. Develop complex applications using control structures. (loops, if else, select, etc.)
  3. Develop complex applications in object-oriented programming.
  4. Develop complex applications using data structures.
  5. Develop complex applications using files (sequential files).

Standard 2
Utilize recursive algorithms.

  1. Analyze and solve recursive functions or methods.
  2. Utilize recursive algorithms to solve a problem.
  3. Identify the base case, recursive case, and action of each recursive function or method.
  4. (Optional) Understand the use of a recursive helper function or method.

Standard 3
Create advanced functions and methods.

  1. Create and use overloaded constructors and methods.
  2. Create and use overloaded operators (C++).

Performance Skills

  1. Develop advanced applications using input, calculations, output, IF structures, iteration, sub-programs, recursion, arrays, sorting and a database.
  2. Demonstrate the ability to use random access files in a program.

Strand 2
Students will use searching and sorting algorithms.

Standard 1
Demonstrate the ability to search data structures in programs.

  1. Develop a binary search.
  2. Compare the efficiency and appropriateness of sequential and binary searches.

Standard 2
Demonstrate the ability to sort data structures in programs.

  1. Sort arrays using iterative sorting algorithms (selection, insertion, bubble).
  2. Recognize recursive sorting algorithms (merge, quick, heap).
  3. Compare the efficiency of different sorting algorithms.

Performance Skills

  1. Demonstrate the ability to search data structures using binary and hash searches comparing the efficiency between sequential and binary searches.
  2. Demonstrate the ability to sort data structures using quadratic (n2) and binary (n log n) sorts comparing the efficiency between various sorts using BigO notation.

Strand 3
Students will utilize multidimensional arrays.

Standard 1
Utilize multidimensional arrays.

  1. Initialize multidimensional arrays.
  2. Input and output data into and from multidimensional arrays.
  3. Perform operations on multidimensional arrays.
  4. Perform searches on multidimensional arrays.

Strand 4
Students will properly employ dynamic data structures / abstract data types (ADTs).

Standard 1
Demonstrate the ability to use stacks in programs.

  1. Declare stack structures.
  2. Initialize stacks.
  3. Check for empty and full stacks.
  4. Push on to and pop off values from stacks.
  5. Develop an application that utilizes stacks.

Standard 2
Demonstrate the ability to use queues in programs.

  1. Declare queue structures.
  2. Check for empty and full queues.
  3. Initialize queues.
  4. Enqueue values on to and dequeue values off of queues.
  5. Develop an application that utilize queues.

Performance Skills
Demonstrate the ability to use linked lists, stacks, queues, and binary trees.


Strand 5
Students will design and implement advanced objected oriented concepts.

Standard 1
Implement object oriented programs

  1. Create classes with minimal extraneous relationships (high cohesion and low coupling).
  2. Demonstrate and use composition and aggregation (HAS-A) relationships.
  3. Demonstrate the use of class variables (static variables).

Standard 2
Implement inheritance in an objected oriented program.

  1. Utilize class hierarchies (parent-child relationships).
  2. Demonstrate IS-A relationships.
  3. Override methods. Understand how to call the overriding method from the child.
  4. Demonstrate the protected modifier.
  5. Call a parent class constructor from the child's constructor.

Standard 3
Create and use abstract classes.

  1. Create and implement abstract classes.
  2. Implement interfaces (purely abstract classes).
  3. Know difference between abstract & interface classes.

Standard 4
Implement polymorphism.

  1. Demonstrate that a parent object variable can hold an instance of a child class.
  2. Determine IS-A relationships via code e.g. instance of, typeof, isa.
  3. Demonstrate typecasting via method calls of inherited objects.

Performance Skills

  1. Develop advanced application projects.
  2. Develop advanced applications using object-oriented programming.
  3. Create user-defined inherited classes demonstrating overloading techniques.

Strand 6
Students will use Unified Modeling Language (UML) to design object oriented programs

Standard 1
Demonstrate the use of an UML in design.

  1. Create an activity diagram.
  2. Create a class diagram for the class hierarchy of a program.
  3. Create a sequence diagram for a method.
  4. Translate diagrams to code.

Strand 7
Students will develop a program of significant complexity as part of a portfolio.

Standard 1
Create an individual program of significant complexity.

  1. Create design documentation for the project.
  2. Follow accepted object-oriented programming methodology when writing the code.

Standard 2
Compile a portfolio of the individual and group programs developed.

  1. Include sample design work.
  2. Include sample program source code.

Performance Skills

  1. Create an individual program of significant complexity and size (300-500 lines).
  2. Compile a portfolio of the individual and group programs developed during the course.
  3. Participate in a work-based learning experience such as a job shadow, internship, field trip to a software engineering firm or listened to an industry guest speaker and/or competed in a high school programming contest.

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.