Computer science with Python - Intermediate Level

Difficulty: ⭐️⭐️⭐️☆☆


Building upon our Python for beginners course, this course extends the concepts to more intermediate levels so that students can better use Python in computer science or software development, with deeper insight into the workings of the code.

Learning outcomes:

By the end of this course, students will:

  • Advanced programming skills with Python
  • In-depth understanding of Python code structures, such as for loops, objects, and recursive functions.
  • Knowledge on designing algorithms to solve computation tasks.
  • Ability to extend Python by using various libraries
  • Skills to optimize code for speed and clarity

Curriculum For This Course

      1. Binary Search algorithm implementation
      2. Quick Sort
      3. Binary search and Quick Sort by case studies
      1. What is a Class
      2. Introduction to OOP concepts: Encapsulation, Inheritance, Abstraction and Polymorphism
      3. Polymorphism
      4. OOP by case studies
      1. Singleton
      2. Adapter
      3. Composite
        1. What are the Robert C. Martin’s best principles
        2. Single responsibility principle
        3. Open/closed principle
        4. Liskov substitution principle
        5. Interface segregation principle
        6. Dependency inversion principle
      1. Binary Tree vs Red-Black Binary Tree
      2. Object Oriented Programming by case study
      1. Build a skeleton of online shop using OOP programming
      1. Dynamic programming by case study
      2. Coding review exercises
      1. Memoization
      2. The Coin Change Problem
      3. Fibonacci Modified
      1. ARP
      2. TCP/IP
      3. HTTP
      4. JavaScript Object Notation
      5. Building RESTful APIs

Build an online shop using OOP and web programming


Group name Start date Session duration Number of sessions Standard price
Computer Science with Python - Intermediate Level (February, Group 1) Feb 2 (Sat) 16:00 - 18:00 2h 10 sessions (weekly) 120,000 JPY Register


Below are the courses that you may want to take after this course:


Tokyo Techies Lecturer

Konrad Lykowski

Software Architect

8 years of experience at IT companies in Germany, Poland, Switzerland and Japan.

Formal cloud engineer / Solution architect at Swisscom. Certified Scrum Master.

MS in Computer Science at Poznan University of Technology.

Researcher at Poznan University of Economics.

Volunteer worker at Orphanage.