Data Structures and Algorithms in Python

This 5-cu course will give the students a close view of data structures and algorithms used in advanced problem solving applications. Python as an Object-Oriented Programming language is used in this course and we will see how an algorithm is implemented by Python OOP features and recursion. Different data structures, including list, linked-list, tree, graph, etc., will be studied and their corresponding algorithms (e.g., spanning tree and Dijkstra algorithms for graphs) will be taught as examples.

Benefits

  • The students will gain a basic idea of what is data structure, what is algorithm, and how strongly these two are associated to each other. The students will be able to solve complex problems in today’s applications, including big data analysis, machine learning and AI, data processing and signal communications, etc.

To you, who

  • This course is for the students or whoever having background in information technology, computer sciences, computer application engineering, data processing and analysis sciences, and communication engineering to improve their programming and data processing skills.
Description Teachers

Content

  • 1. Basics of Python
  • 2. Python OOP Features
  • 3. Algorithm Complexity Analysis
  • 4. Divide-and-Conquer Paradigm: Recursion
  • 5. Math Algorithms: Maclaurin Series, Interpolation, Regression
  • 6. Single-Dimensional Data Structures: List, Stack, Queue
  • 7. Tree Structures, Binary Tree
  • 8. Maps and Hash Tables
  • 9. Graph Algorithms (Routing)
  • 10. AI Algorithms

Mode of Teaching and Methods

  • Live online lectures with real-time monitoring
  • Self-study learning materials
  • Independently completed assignments
  • Weekly assignments
  • Online discussions around the topic
  • Independently implemented projects
  • Timed online exam (optional)

Study Material

  • Material available online (articles, works)

Assessment

  • Numerical 0-5
  • Grade 1: The student has finished all the assignments during the course with a passing score. He understands the difference between data structures and knows the function/result of different algorithms. He is able to tell the complexity of big-O.
  • Grade 3: The student has finished all the assignments during the course with a good score. He knows how to define data into suitable structure and what algorithms are available for such a structure. He knows the complexity of an algorithm by reading the source code or flowchart.
  • Grade 5: The student has finished all the assignments and course project with very good score. The student is able to handle complex/mixed data using inheritance/abstraction/polymorphism, and solve the problem using a combination of different algorithms.

Schedule and Location

  • The lectures will be given on Zoom. The detailed timetable will be agreed with students during the first lecture.

 

If you have any questions about student IDs, fees, or cancellation terms, please contact avoin@vamk.fi

 

We reserve the right to make changes.

Chao Gao

Principal Lecturer

School of Technology | Information Technology

+358 207 663 322

Data Structures and Algorithms in Python

0,00 

5 ECTS