# Data Structure and Algorithm in Python

Course

Once students have mastered the basics of Python programming, they are ready to learn data processing & Analysis with Python. This is an excellent course for students planning to take AP Computer Science, develop software, want to become a Data Analyst, preparing for college, Information Technology (IT) Specialist Certification Exam or Python Institute Associate Certification (PCEP) Exam.

## Prereq:

- Object-Oriented Programming with Python or equivalent.

## Learning Objectives

Following are the objective of this course:

- Introduce recursive functions
- Learn various algorithms to sort data in an array
- Learn various algorithms to search data in an array

## Topics

- Data representation and algorithms
- Lists
- List
interface ArrayList class Remove(object) from ArrayList Contains() in ArrayList For each Understanding Iteration Understanding Recursion Traversing data structures Insert data into a data structure Deleting data from a data structure Searching for data in a data structure Using Sequential Search algorithm to search data Using a Binary Search algorithm to search data Using the Selection sort algorithm to sort data Using the Insertion sort algorithm to sort data Using the Mergesort algorithm to sort data

## Exercises

- List content of Array
- Using Array List
- Using Stack
- Using Queue
- Recursive
- Recursive with loop
- Using Recursive
- Factorial
- Sorting Array using Arrays.sort()
- Sorting the list of items in an Array
- Sorting Data Using insertionSort
- Sorting Data Using SelectionSort
- Sorting Data Using MergeSort
- Sorting Data Using QuickSort
- Searching through an Array of String
- Searching through an Array of Numbers
- Binary Search

## Assumptions

- The course assumes that the learner is familiar with the Internet and Windows. The student should have a basic knowledge of Java Programming language and Object-Oriented Programming Concepts.
- This course depends on the student's commitment to work in class and, if necessary, to work independently at his/her own time on a project assigned to them that will require access to the computer.

## Learning Resources and Tools

The workload of each unit varies, and each unit consists of the following:

- Lecture: The Lecture consists of notes that can be used by students as reference material.
- Video: The Video consists of a presentation on the topics covered in the lecture note.
- Hands-on Exercise: The hands-on exercises allow students to apply the concepts learned in each unit.
- Quiz: The quiz allows the student to validate their learning further.

## Required Text

Introduction to Data Structure and Algorithm for Teens by NR Computer Learning Center.

## Technical Requirements

Access to a computer and the internet

Here is the course outline:

## 1. Data Processing, Data Structure and AlgorithmIntroduction to Data Processing, Data Structure and Algorithm |

## 2. ListLearn to add, edit and delete an item in a List. |

## 3. TuplesLearn to manage items in a tuple. |

## 4. SetsLearn to work with sets in Python |

## 5. DictionariesLearn to work with key-value pairs in a Python dictionary. |

## 6. RecursiveLearn to write recursive functions in Python |

## 7. Queue & StackLearn to write queues and stack in Python to add, remove and edit items in the list. |

## 8. Sort AlgorithmLearn to write various sort algorithms in Python to sort data. |

## 9. Search AlgorithmLearn to write search algorithms in Python to find data. |

### Completion

The following certificates are awarded when the course is completed:

NRCLC Certificate of Completion |