DATA STRUCTURES AND ORGANIZATION
- Course
- ITSE242 - DATA STRUCTURES AND ORGANIZATION
- Department
- Information Technology Security - English - Undergraduate
- Course Type
- Course
- Status
- Required
- Language
- Turkish
- Credit
- 4
- ECTS
- 0
- T+P+L
- 3 + 0 + 2
- Course Coordinator(s)
- Asst. Prof. Dr. Sara SALEHI
- Prerequisite
Course Description
The objective of this course is to provide the basics of data structures and data organization. The course will introduce C/C++ and algorithms for the implementation of data structures, which are stack, queue, linked list, tree. In addition, the applications of data structures covering stack applications that are parenthesis checker infix to postfix and prefix conversions, recursion, dynamic stack and queue, tree traversals. Linked lists with their types and implementations are also studied in details. Theoretical aspects of most widely used data structures will be covered during the lectures. Programming assignments and lab-works cover the C/C++ implementations of applications of data structures that are discussed in the lectures.
DATA STRUCTURES AND ORGANIZATION
Evaluation Tools (Active Term)
| Item | Type | Weight (%) |
|---|---|---|
| Midterm Exam | Midterm | 35 |
| Quiz | Quiz | 20 |
| Final Exam | Final | 45 |
| Total | 100 | |
Course outcomes
- 01 Problem solving using linear data structures: Stack applications
- 02 Examine and explain the working principles of the linear data structures: Stack and Queue
- 03 Implement the basic linear data structures: Stack and Queue
- 04 Examine and implement the dynamic data structures: Linked List
- 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
- 01 Goodrich, M. T., Tamassia, R., & Goldwasser, M. H. (2013). Data structures and algorithms in Python. Hoboken, NJ, USA: Wiley.
- 02 Miller, B., & Ranum, D. (2013). Problem solving with algorithms and data structures.
- 03 Dierbach, C. (2012). Introduction to computer science using python: A computational problem-solving focus. Wiley Publishing.
- 04 Horstmann, C. S., & Necaise, R. D. (2022). Python for everyone. John Wiley & Sons.
Learning Outcomes
- L01 Problem solving using linear data structures: Stack applications SOLO 3
- 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
- L02 Examine and explain the working principles of the linear data structures: Stack and Queue SOLO 3.5
- 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
- L03 Implement the basic linear data structures: Stack and Queue SOLO 4
- 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
- L04 Examine and implement the dynamic data structures: Linked List SOLO 3.5
- L04 Implement the working principles of queues and implement basic queue operations such as enqueue, dequeue, peek, and traversal using Python. SOLO 3.5
- L05 Examine and implement the hierarchical data structures: Tree SOLO 3.5
- L05 Examine the concept of dynamic data storage and implement linked lists, including node creation, insertion, deletion, searching, and traversal. SOLO 4
Program Outcomes
- P01 Be able to understand and apply security protocol and tools to security challenges faced in organizations
- P02 Be able to design security software to combat security issues
- P03 Be able to identify, categorize, and develop security solutions for computer orientated challenges.
- P04 Be able to demonstrate autonomy and responsibility in managing computer security projects
- P05 Be able to follow the state of the arts concepts in computer technology security
- P06 Be able to design, implement, and evaluate a computational system to meet desired security needs within realistic constraints
- P07 Be able to use appropriate security techniques, protocols, skills, and tools necessary for securing computer systems
- P08 Be able to apply effective communication skills consistent with the professional environment
- P09 Be able to apply effective collaboration skills in teamwork consistent with the professional environment
- P10 Be able to apply appropriate security technology and techniques to facilitate a safe operation in an organization
Po-Lo Matrix
| LO | P01 | P02 | P03 | P04 | P05 | P06 | P07 | P08 | P09 | P10 | Average |
|---|---|---|---|---|---|---|---|---|---|---|---|
| L01 | - | - | - | - | - | - | - | - | - | - | - |
| L01 | 4 | 4 | 4 | 4 | 4 | 4 | 5 | 4 | 4 | 4 | 4.1 |
| L02 | - | - | - | - | - | - | - | - | - | - | - |
| L02 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 4 |
| L03 | - | - | - | - | - | - | - | - | - | - | - |
| L03 | 4 | 4 | 4 | 4 | 5 | 4 | 5 | 5 | 5 | 5 | 4.5 |
| L04 | - | - | - | - | - | - | - | - | - | - | - |
| L04 | 5 | 5 | 5 | 5 | 4 | 4 | 4 | 4 | 4 | 4 | 4.4 |
| L05 | - | - | - | - | - | - | - | - | - | - | - |
| L05 | 4 | 5 | 4 | 5 | 4 | 5 | 5 | 4 | 4 | 4 | 4.4 |