Skip to main content
TR

DATA STRUCTURES AND DATA ORGANIZATION

Course
ITEC242 - DATA STRUCTURES AND DATA ORGANIZATION
Department
Information Technologies - English - Undergraduate
Course Type
Course
Status
Required
Language
English
Credit
4
ECTS
6
T+P+L
3 + 0 + 2
Course Coordinator(s)
Asst. Prof. Dr. Sara SALEHI
Prerequisite
Keywords

Course Description

This course introduces fundamental data structures and their implementation using the Python programming language. It covers the organization, representation, manipulation, and application of linear and non-linear data structures, including lists, stacks, queues, linked lists, and trees. Students will explore the characteristics, operations, and appropriate applications of different data structures and develop implementations using Python classes and functions. The course also introduces the analysis of basic data structure operations in terms of efficiency and provides practical problem-solving exercises to help students select and apply appropriate data structures to computational and information management problems.

DATA STRUCTURES AND DATA ORGANIZATION

Evaluation Tools (Active Term)

Item Type Weight (%)
Midterm Exam Midterm 35
Quiz Quiz 20
Final Exam Final 45
Total 100

Course outcomes

  1. 01 Problem solving using linear data structures: Stack applications
  2. 02 Examine and explain the working principles of the linear data structures: Stack and Queue
  3. 03 Implement the basic linear data structures: Stack and Queue
  4. 04 Examine and implement the dynamic data structures: Linked List
  5. 05 Examine and implement the hierarchical data structures: Tree

Course Syllabus

Week Topic
Week 1 Introduction to Data Structures and Functions Review
Week 2 Lists, Arrays and Tuples
Week 3 Dictionaries, Classes and Objects
Week 4 Structures and Abstract Data Types
Week 5 Stack
Week 6 Stack Applications
Week 7 Review and Practice
Week 8 MID-TERM EXAM WEEK
Week 9 Queue
Week 10 Linked List
Week 11 Linked List
Week 12 Tree
Week 13 Tree
Week 14 Review and Problem Solving
Week 15 FINAL EXAM WEEK

Reference Books & Course Materials

  1. 01 Goodrich, M. T., Tamassia, R., & Goldwasser, M. H. (2013). Data structures and algorithms in Python. Hoboken, NJ, USA: Wiley.
  2. 02 Miller, B., & Ranum, D. (2013). Problem solving with algorithms and data structures.
  3. 03 Dierbach, C. (2012). Introduction to computer science using python: A computational problem-solving focus. Wiley Publishing.
  4. 04 Horstmann, C. S., & Necaise, R. D. (2022). Python for everyone. John Wiley & Sons.

Learning Outcomes

  1. L01 Examine the use of Python lists in solving basic programming problems and implement common list operations such as insertion, deletion, searching, indexing, and traversal. SOLO 3
  2. L01 Explain the fundamental concepts, characteristics, and operations of data structures and abstract data types. SOLO 1
  3. L02 Examine how structured data can be represented in Python using classes and dataclasses, and implement simple records with related attributes and methods. SOLO 3.5
  4. L02 Implement fundamental data structures such as lists, stacks, queues, linked lists, and trees using Python. SOLO 2
  5. L03 Examine the working principles of stacks and implement stack-based solutions for problems such as expression handling, reversing data, and checking balanced symbols. SOLO 4
  6. L03 Analyze the efficiency of basic data structure operations using appropriate complexity measures. SOLO 3
  7. L04 Examine the working principles of queues and implement basic queue operations such as enqueue, dequeue, peek, and traversal using Python. SOLO 3
  8. L04 Apply appropriate data structures to solve computational and information management problems. SOLO 3
  9. L05 Examine the concept of dynamic data storage and implement linked lists, including node creation, insertion, deletion, searching, and traversal. SOLO 4
  10. L05 Compare different data structures based on their organization, operations, efficiency, and practical applications. SOLO 3
  11. L06 Evaluate alternative data structure solutions and select an appropriate structure for a given problem. SOLO 4
  12. L06 Examine the basic principles of hierarchical data structures and implement tree structures, including nodes, parent-child relationships, traversal, and basic binary tree operations. SOLO 3.5

Program Outcomes

  1. P01 Create a user interface in a contemporary object-oriented language to allow users to access business data
  2. P02 Identify and analyze user needs and take them into account in the selection, creation, integration, evaluation and administration of computing-based systems
  3. P03 Analyze common business functions and identify, design, and develop appropriate information technology solutions
  4. P04 Design and develop software solutions for contemporary business environments by employing appropriate problem-solving strategies
  5. P05 Configure and administer database server to support contemporary business environments.
  6. P06 Administer or mange a relational database for a small to medium size company
  7. P07 Be able to effectively integrate IT-based solutions into the user environment
  8. P08 Understand professional, ethical, legal, security and social issues and responsibilities
  9. P09 Be able to apply effective communication skills consistent with the professional environment
  10. P10 Be able to apply effective collaboration skills in teamwork consistent with the professional environment

Po-Lo Matrix

LO P01 P02 P03 P04 P05 P06 P07 P08 P09 P10 Average
L01 4 4 5 5 5 4 5 3 3 5 4.3
L01 - - - - - - - - - - -
L02 4 3 3 4 4 4 4 4 4 5 3.9
L02 - - - - - - - - - - -
L03 3 4 4 5 4 4 3 5 3 5 4
L03 - - - - - - - - - - -
L04 3 4 4 4 4 5 5 5 5 5 4.4
L04 - - - - - - - - - - -
L05 4 4 4 3 3 3 3 3 4 5 3.6
L05 - - - - - - - - - - -
L06 - - - - - - - - - - -
L06 3 3 3 3 4 4 4 4 4 4 3.6