CTSPlanner
Sign-in not configured
Computing Science

CSE2120 Data Structures 1

Intermediate · 1 credit · BIT - Business, Admin, Finance and IT

Description
Students learn how to design code and debug programs that use a set of data structures that can be used to handle lists of related data. Building on their knowledge of basic or primitive data types, they learn how to work with fundamental data structures such as the array and the record. As part of this process, they learn what types of problems benefit from the use of these types of data structures.
Prerequisite
CSE2110: Procedural Programming 1
Parameters
Access to appropriate computer equipment, software, support materials, the Internet and a programming environment that encourages modular programming through the use of subprograms.
Supporting courses
CSE2010: Computer Science 2 CSE2130: Files & File Structures 1 and/or any Intermediate project course involving imperative programming

Outcomes The student will:

  • 1 analyze and represent the nature, structure and utility of fundamental data types

    • 1.1 describe and represent the general nature of static data structures including:

      • 1.1.1 how data structures are stored in memory

      • 1.1.2 the advantages and disadvantages of fundamental data structures in relation to primitive data types

      • 1.1.3 the advantages and disadvantages of the various fundamental data structures

    • 1.2 describe and represent the nature and mechanics of basic data structures including:

      • 1.2.1 the static array including: use of cells to store data, data homogeneity, use of an index (or indices) to identify the location of data elements, types; e.g., single dimensional arrays (lists), double dimensional arrays (tables) and parallel arrays (look-up or associative tables)

      • 1.2.2 the record including: the use of fields to store data, data heterogeneity, the use of field names to identify the location of data elements

      • 1.2.3 the dynamic array including: sizes, types; e.g., single dimensional arrays (lists), double dimensional arrays (tables) and parallel arrays (look-up or associative tables)

    • 1.3 describe and represent the operations associated with data structures including:

      • 1.3.1 creating the structure

      • 1.3.2 inserting, deleting and replacing data in the structure

      • 1.3.3 searching, finding and retrieving data from the structure

      • 1.3.4 determining the size of the structure

      • 1.3.5 copying the structure

      • 1.3.6 comparing two structures of the same type

  • 2 create and/or modify algorithms that make effective use of fundamental data structures to solve problems

    • 2.1 use appropriate general design techniques for a specific programming environment

    • 2.2 analyze and decompose the problem into appropriate subsections using techniques appropriate for the chosen design approach

    • 2.3 evaluate subsections and identify any that may require some type of fundamental data structure, based on the nature of the data to be processed and type of processing operations

    • 2.4 identify and use or construct the appropriate data structure; e.g., array, using appropriate variant or variants, where required

    • 2.5 identify and sequence the operations required to process the data to be contained in the data structure

    • 2.6 sequence the various subsections appropriately

    • 2.7 test and modify the algorithm using appropriate “fail-on-paper” techniques

  • 3 create and/or modify programs based on algorithms that make effective use of fundamental data structures

    • 3.1 convert algorithms calling for the use of data structures into programs that reflect the algorithm’s design

    • 3.2 use cohesive subprograms with helper subprograms to hide and/or protect data and separate the implementation of the data structure and its operations from its calling modules

    • 3.3 use original (user-created) or built-in, environment supported data structures and their attendant operations appropriate to the data being manipulated

  • 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 identify possible life roles related to the skills and content of this cluster

    • 6.1 recognize and then analyze the opportunities and barriers in the immediate environment

    • 6.2 identify potential resources to minimize barriers and maximize opportunities

Program of Studies 2009. Source document, © Alberta Education.