Data Structures. Level 6 C30151. www.fetac.ie. Module Descriptor



Similar documents
Operating Systems. Module Descriptor

Graphic Design. Module Descriptor

Data Structure [Question Bank]

DATA STRUCTURES USING C

Sports Psychology. Level 6 N Module Descriptor

1) The postfix expression for the infix expression A+B*(C+D)/F+D*E is ABCD+*F/DE*++

10CS35: Data Structures Using C

PES Institute of Technology-BSC QUESTION BANK

Database Methods. September Module Descriptor.

Krishna Institute of Engineering & Technology, Ghaziabad Department of Computer Application MCA-213 : DATA STRUCTURES USING C

MAX = 5 Current = 0 'This will declare an array with 5 elements. Inserting a Value onto the Stack (Push)

Printed Circuit Board Design & Fabrication

Questions 1 through 25 are worth 2 points each. Choose one best answer for each.

Ordered Lists and Binary Trees

Event Management. Module Descriptor

Binary Search Trees (BST)

Binary Search Trees CMPSC 122

ECE 250 Data Structures and Algorithms MIDTERM EXAMINATION /5:15-6:45 REC-200, EVI-350, RCH-106, HH-139

GUJARAT TECHNOLOGICAL UNIVERSITY, AHMEDABAD, GUJARAT. Course Curriculum. DATA STRUCTURES (Code: )

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

Veterinary Practice Management

1. The memory address of the first element of an array is called A. floor address B. foundation addressc. first address D.

Converting a Number from Decimal to Binary

Web Authoring. Module Descriptor

Data Structures and Algorithms

Computer Graphics. Module Descriptor

Network Administration

Child Psychology. Module Descriptor

Algorithms and Data Structures

Sorting revisited. Build the binary search tree: O(n^2) Traverse the binary tree: O(n) Total: O(n^2) + O(n) = O(n^2)

Data Structure with C

Binary Search Trees. A Generic Tree. Binary Trees. Nodes in a binary search tree ( B-S-T) are of the form. P parent. Key. Satellite data L R

COMHAIRLE NÁISIÚNTA NA NATIONAL COUNCIL FOR VOCATIONAL AWARDS PILOT. Consultative Draft Module Descriptor. Relational Database

AP Computer Science AB Syllabus 1

TREE BASIC TERMINOLOGIES

5. A full binary tree with n leaves contains [A] n nodes. [B] log n 2 nodes. [C] 2n 1 nodes. [D] n 2 nodes.

Data Structures and Data Manipulation

Criminal Law. Level 5 N Module Descriptor

Start Your Own Business

Analysis of Algorithms I: Binary Search Trees

Home-based Childcare

Operating Department Care Skills

Data Structures, Practice Homework 3, with Solutions (not to be handed in)

root node level: internal node edge leaf node Data Structures & Algorithms McQuain

Previous Lectures. B-Trees. External storage. Two types of memory. B-trees. Main principles

Exercises Software Development I. 11 Recursion, Binary (Search) Trees. Towers of Hanoi // Tree Traversal. January 16, 2013

Binary Heap Algorithms

Web Hosting & Maintenance

Client Server Networks

Symbol Tables. Introduction

Linked Lists, Stacks, Queues, Deques. It s time for a chainge!

Reception. September Module Descriptor.

Binary Trees and Huffman Encoding Binary Search Trees

Nutrition. September Module Descriptor.

Child Development. Module Descriptor

Animal Anatomy and Physiology

Home Page. Data Structures. Title Page. Page 1 of 24. Go Back. Full Screen. Close. Quit

Web Authoring CSS. Module Descriptor

Data Structures and Algorithms Written Examination

Analysis of a Search Algorithm

Quiz 4 Solutions EECS 211: FUNDAMENTALS OF COMPUTER PROGRAMMING II. 1 Q u i z 4 S o l u t i o n s

Audio Transcription. Level 6 N Module Descriptor

Algorithms Chapter 12 Binary Search Trees

Data Structure and Algorithm I Midterm Examination 120 points Time: 9:10am-12:10pm (180 minutes), Friday, November 12, 2010

B-Trees. Algorithms and data structures for external memory as opposed to the main memory B-Trees. B -trees

Algorithms and Data Structures Written Exam Proposed SOLUTION

Sample Questions Csci 1112 A. Bellaachia

Exam study sheet for CS2711. List of topics

Introduction to Data Structures and Algorithms

A binary search tree or BST is a binary tree that is either empty or in which the data element of each node has a key, and:

A binary search tree is a binary tree with a special property called the BST-property, which is given as follows:

In-Memory Database: Query Optimisation. S S Kausik ( ) Aamod Kore ( ) Mehul Goyal ( ) Nisheeth Lahoti ( )

Parallelization: Binary Tree Traversal

Java Software Structures

Any two nodes which are connected by an edge in a graph are called adjacent node.

Sound Engineering and Music Technology

BCS2B02: OOP Concepts and Data Structures Using C++

3 Abstract Data Types and Search

Atmiya Infotech Pvt. Ltd. Data Structure. By Ajay Raiyani. Yogidham, Kalawad Road, Rajkot. Ph : ,

CSE 326, Data Structures. Sample Final Exam. Problem Max Points Score 1 14 (2x7) 2 18 (3x6) Total 92.

Data Structures Using C++ 2E. Chapter 5 Linked Lists

Unit Write iterative and recursive C functions to find the greatest common divisor of two integers. [6]

BSc (Hons) Business Information Systems, BSc (Hons) Computer Science with Network Security. & BSc. (Hons.) Software Engineering

Data Structures Using C++

Data Structures Fibonacci Heaps, Amortized Analysis

ER E P M A S S I CONSTRUCTING A BINARY TREE EFFICIENTLYFROM ITS TRAVERSALS DEPARTMENT OF COMPUTER SCIENCE UNIVERSITY OF TAMPERE REPORT A

Lecture 2: Data Structures Steven Skiena. skiena

Memory Allocation. Static Allocation. Dynamic Allocation. Memory Management. Dynamic Allocation. Dynamic Storage Allocation

Data Structures UNIT III. Model Question Answer

KITES TECHNOLOGY COURSE MODULE (C, C++, DS)

Abstract Data Type. EECS 281: Data Structures and Algorithms. The Foundation: Data Structures and Abstract Data Types

Big Data and Scripting. Part 4: Memory Hierarchies

Heaps & Priority Queues in the C++ STL 2-3 Trees

Cork Education and Training Board. Programme Module for. 3 Dimensional Computer Graphics. Leading to. Level 5 FETAC

The following themes form the major topics of this chapter: The terms and concepts related to trees (Section 5.2).

The Elective Part of the NSS ICT Curriculum D. Software Development

The Tower of Hanoi. Recursion Solution. Recursive Function. Time Complexity. Recursive Thinking. Why Recursion? n! = n* (n-1)!

Transcription:

The Further Education and Training Awards Council (FETAC) was set up as a statutory body on 11 June 2001 by the Minister for Education and Science. Under the Qualifications (Education & Training) Act, 1999, FETAC now has responsibility for making awards previously made by NCVA. Module Descriptor Data Structures Level 6 C30151 www.fetac.ie

1 Title Data Structures 2 Code C30151 3 Level 6 4 Value 2 credits 5 Purpose This module has been designed to enable the learner to understand the concept of a data type and a data structure. The learner will become familiar with the different types of data structures and their application in software development. This is an elective module on Advanced Certificate, Networks and Software Systems at Level 6. 6 Preferred Entry Level Level 5 Certificate or equivalent. 7 Special Requirements The learner should have successfully completed FETAC Computer Programming (C20013) or its equivalent. 8 General Aims This module aims to enable the learner to: 8.1 acquire the skills necessary to understand the concept of a data structure 8.2 understand the need for structuring data in different ways 8.3 understand the need for dynamic memory allocation 8.4 distinguish between linear structures and non-linear structures 8.5 design data structures for specific tasks 8.6 implement the different data structures in a programming language 8.7 develop good work practices in the use and care of computing equipment. 1

9 Units Unit 1 Unit 2 Unit 3 Unit 4 Fundamentals Sorting and Searching Linear Structures Non-linear Structures 10 Specific Learning Outcomes Unit 1 Fundamentals The learner should be able to: 10.1.1 define a data type 10.1.2 list basic data types: intger real char boolean 10.1.3 list operations on basic data types 10.1.4 explain the meaning of operations on basic types 10.1.5 explain user defined data types 10.1.6 explain the term record or structure 10.1.7 write a program that implements user defined types 10.1.8 define the term data structure 10.1.9 define the following data structures: array stack queue 10.1.10 differentiate between compile-time and run-time allocation of data storage 10.1.11 explain the importance of dynamic allocation of memory 10.1.12 give an example of an application for which dynamic memory allocation is necessary 10.1.13 define the term pointer 10.1.14 distinguish between a pointer variable and an ordinary variable 10.1.15 explain how memory is allocated and freed 10.1.16 write a program using pointers 2

10.1.17 explain the term dynamic array 10.1.18 explain how pointers are used to implement dynamic arrays 10.1.19 write a program that use dynamic arrays for data storage. Unit 2 Sorting and Searching The learner should be able to: 10.2.1 explain the need to sort data 10.2.2 distinguish between: linear searching binary searching 10.2.3 explain the advantages of binary searching over linear searching 10.2.4 write an algorithm for a: linear search binary search 10.2.5 write functions which implement both searching strategies 10.2.6 write programs to test these functions 10.2.7 write programs to test these functions 10.2.8 explain the following techniques: selection sort bubble sort insertion sort 10.2.9 write an algorithm for a: selection sort bubble sort insertion sort 10.2.10 write procedures to implement 10.2.9 10.2.11 write programs to test 10.2.10 10.2.12 explain why these sorting algorithms are O(N 2 ) 10.2.13 write algorithms to partition arrays about given values 10.2.14 explain the problem known as the Dutch National Flag 10.2.15 write an algorithm to solve the problem of the Dutch National Flag 10.2.16 explain the algorithm Quicksort 10.2.17 write a procedure to implement Quicksort 10.2.18 explain why Quicksort is better than the algorithms outlined in 10.2.4 and 10.2.9. 3

Unit 3 Linear Structures The learner should be able to: 10.3.1 define a singly linked list 10.3.2 define a node in a list 10.3.3 explain how nodes are dynamically linked to form a linear list 10.3.4 write code to create an empty singly linked list 10.3.5 write code to insert a node in a singly linked list 10.3.6 write code to print contents of a singly linked list 10.3.7 write code to delete a node from a singly linked list STACKS 10.3.8 define a stack 10.3.9 explain how to implement a stack using an array 10.3.10 write procedures using an array for: new-stack push pop top empty_stack delete_stack 10.3.11 explain how to implement a stack using a singly linked list 10.3.12 write procedures using a singly linked list for: new-stack push pop top empty_stack delete_stack 10.3.13 write a program that uses a stack to store data 10.3.14 give two examples from programming where stacks are useful QUEUES 10.3.15 define a queue 10.3.16 explain how to implement a queue using an array 10.3.17 write procedures using an array for: new-queue insert 4

remove head empty_queue delete_queue 10.3.18 explain how to implement a queue using a singly linked list 10.3.19 write procedures using a singly linked list for: new-queue insert remove head empty_queue delete_queue 10.3.20 write a program that uses a queue to store data 10.3.21 give two examples from programming where queues are useful. Unit 4 Non-linear Structures The learner should be able to: 10.4.1 define recursion 10.4.2 explain the connection between recursive definition and iteration 10.4.3 write recursive routines e.g. read a list of integer values and print them in reverse order 10.4.4 define a binary search tree 10.4.5 explain the following terms: root node path leaf node parent node sibling 10.4.6 construct a binary search tree from a given list of integer values 10.4.7 explain the following traversal algorithms: inorder pre-order post-order 10.4.8 explain the significance of applying an inorder traversal to a binary search tree 10.4.9 explain how to delete an element from the tree for a given binary search tree 5

10.4.10 implement the definition of a node in a binary search tree 10.4.11 write a procedure to insert an element in a binary search tree 10.4.12 write procedures for the three traversal algorithms 10.4.13 write a procedure to delete an element from a tree 10.4.14 write a procedure to search for a given element 10.4.15 write a program that uses binary search trees to store data. 11 Assessment Summary Portfolio of Coursework 60% Examination 40% 11.1 Technique Portfolio of Coursework Format The portfolio of coursework is to consist of 2 programming assignments. 11.1.1 Assignment 1 30% Details The assignment must be an application that will involve the use of linear data structures. E.g. Implement the data type set_of_ integer and the operations new_set, union, subset, intersection and is_an_element_of 11.1.2 Assignment 2 30% Details The assignment must be an application that will involve the use of non-linear data structures. 11.2 Technique Written Examination Format The examination is to be based on all units of the module. Section A 20% One structured question Section B 20% Three structured questions. Two questions to be answered All questions carry equal marks. 12 Grading Pass 50-64% Merit 65-79% Distinction 80-100% 6

Individual Candidate ing Sheet 1 Data Structures C30151 Assignment 1: Programming linear data Weighting 30% Candidate Name: PPSN: Centre: Centre No: Performance Criteria Maximum Candidate Programme Documentation 20 Design and Implementation of a data structure to solve a given problem Reasons for choosing the given data structure, e.g. suitability, performance issues etc. 25 Application development and use of Data Structure in solving a given problem 40 Test and Evaluation 15 Total s 100 WEIGHED TOTAL (= TOTAL X 0.3) 30% Assessor s Signature: Date: External Authenticator s Signature: Date: 7

Individual Candidate ing Sheet 2 Data Structures C30151 Assignment 2: Programming non-linear data Weighting 30% Candidate Name: PPSN: Centre: Centre No: Performance Criteria Maximum Candidate Programme Documentation 20 Design and Implementation of a data structure to solve a given problem Reasons for choosing the given data structure, e.g. suitability, performance issues etc. 25 Application development and use of Data Structure in solving a given problem 40 Test and Evaluation 15 Total s 100 WEIGHED TOTAL (= TOTAL X 0.3) 30% Assessor s Signature: Date: External Authenticator s Signature: Date: 8

Individual Candidate ing Sheet 3 Data Structures C30151 Written Examination 40% Candidate Name: PPSN: Centre: Centre No: Performance Criteria Maximum Candidate Section A Question 1 50 Section B Answer 2 questions Question ( ) 25 Question ( ) 25 Total 100 WEIGHED TOTAL (= TOTAL X 0.4) 40% Assessor s Signature: Date: External Authenticator s Signature: Date: 9

FETAC Module Results Summary Sheet Module: Data Structures Module Code: C30151 Portfolio of Coursework Elements of Assessment Written % Assignment 1 Assignment 2 Examination s Maximum s per element of assessment 40% 30% 30% 100% Candidate Name Exam No. Grade* Signed: Teacher/Assessor: Date: This sheet is for teachers/assessors to record the overall marks of individual candidates. It should be retained in the centre. The marks awarded should be trans ferred to the official FETAC Module Results Sheet issued to centres before the visit of the external Authenticator. Grade* D: 80-100% M: 65-79% P: 50-64% U: 0-49% W: candidates entered who did not present for assessment 10