Go To Curriculum Resources

Computer Programming II

UEN | Curriculum Search | All CTE/Information Technology Education Lesson Plans |
USOE CTE/Information Technology Education Home Page

Credit: 1.00
Course Preface
Core Code: 35-02-00-00-040
Printable Version: Computer Programming II (pdf)


Course Description
An advanced course in computer programming/software engineering and applications. Reviews and builds on the concepts introduced in CEI. Introduces students to dynamic allocation of data, advanced utilization of classes, advanced GUI techniques, and advanced applications of recursion. Prerequisite: Computer Programming I.


Core Standards of the Course

Standard 110202-01
Students will develop applications which make advanced use of the skills and concepts developed in Computer Programming I.

Objective 110202-0101
Demonstrate the ability to develop advanced applications.
  • Develop advanced applications using input, calculations, and output.
  • Develop advanced applications using IF structures.
  • Develop advanced applications using iteration.
  • Develop advanced applications using sub-programs.
  • Develop advanced applications in object-oriented programming.
  • Develop advanced applications using recursion.
  • Develop advanced applications using arrays.
  • Develop advanced application projects.
  • Sort arrays using binary (n log n) sorts.
  • Develop advanced applications using files (random access files) or a simple database.

Standard 110202-02
Students will use more efficient searching and sorting algorithms.

Objective 110202-0201
Demonstrate the ability to search data structures in programs.
  • Develop a binary search.
  • Develop a hash search including best and worst, average and hash searches.
  • Compare efficiency of sequential and binary searches.

Objective 110202-0202
Demonstrate the ability to sort data structures in programs.
  • Sort arrays using quadratic (nē) sorts.
  • Sort arrays using binary (n log n) sorts.
  • Compare the efficiency of the various sorts using BigO notation including best, worst and average.

Standard 110202-03
Students will implement and manipulate a simple database.

Objective 110202-0301
Demonstrate the ability to use random access files in programs.
  • Create and initialize random access files.
  • Store data to random access files.
  • Read data from random access files.
  • Update random access files.
  • Index random access files.
  • Utilize hashing on random access files.

Standard 110202-04
Students will properly employ dynamic data structures and abstract data types (ADTs).

Objective 110202-0401
Demonstrate the ability to use linked lists in programs.
  • Declare pointer identifiers.
  • Create node identifiers.
  • Insert nodes into a linked list (front, middle, end).
  • Delete nodes from a linked list (front, middle, end).
  • Output the values in a linked list.
  • Search for a value in a linked list.
  • Use header and non-header linked lists.
  • Perform other linked list operations.
  • Develop linked list applications.

Objective 110202-0402
Demonstrate the ability to use stacks (arrays and linked lists) in programs.
  • Declare stack structures.
  • Initialize stacks.
  • Check for empty and full stacks.
  • Push on to and pop off values from stacks.
  • Develop stack applications.

Objective 110202-0403
Demonstrate the ability to use queues (arrays and linked lists) in programs.
  • Declare queue structures.
  • Check for empty and full queues.
  • Initialize queues.
  • Enqueue values on to and dequeue values off of queues.
  • Develop queue applications.

Objective 110202-0404
Demonstrate the ability to use binary trees in programs.
  • Declare pointer identifiers.
  • Create binary tree nodes identifiers.
  • Insert nodes into a binary tree.
  • Delete nodes from a binary tree.
  • Output the values in a binary tree.
  • Search for values in ordered binary trees.
  • Develop binary tree applications.

Standard 110202-05
Students will design and implement classes using inheritance and composition.

Objective 110202-0501
Create user-defined inherited classes.

Objective 110202-0502
Demonstrate overloading techniques.
  • Demonstrate function overloading
  • Demonstrate operator overloading (C++ only)

Standard 110202-06
Students will develop an individual program of significant complexity and size (300-500 lines).

Objective 110202-0601
Create an individual program of significant complexity and size (300-500 lines).

Objective 110202-0602
Compile a portfolio of the individual and group programs developed during the course.

Standard 110202-07
Students will participate in a work-based learning experience and/or competition.

Objective 110202-0701
Participate in a work-based learning experience.
  • Field trip to a software engineering firm
  • Job shadow
  • Internship
  • Industry guest speaker
  • Post-secondary guest speaker
  • Industry interview

Objective 110202-0702
Participate at a student programming competition.
  • University of Utah High School Computer Programming Contest
  • Utah State University High School Computer Programming Contest
  • Utah Valley State College Technology Fair (robotics)

   
UEN logo

http://www.uen.org - in partnership with Utah State Office of Education (USOE) and Utah System of Higher Education (USHE).  Send questions or comments to USOE Specialist - Carl Lyman and see the CTE/Information Technology Education Home Page. For general questions about Utah's Core Curriculum contact the Director - MARY SHUMWAY   email:   mary.shumway@schools.utah.gov


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 Office 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 Office of Education, 250 East 500 South, PO Box 144200, Salt Lake City, Utah 84114-4200.