Computer science with Java - Intermediate Level

Difficulty: ⭐️⭐️⭐️☆☆


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

  • Skill Level: Intermediate

Learning outcomes:

By the end of this course, students will:

  • Advanced programming skills with Java
  • In-depth understanding of Java code structures, such as for loops, objects, and recursive functions.
  • Deep understanding of Object Oriented Programming Concepts
  • Knowledge on designing algorithms to solve computation tasks.
  • Ability to extend Java 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

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
      1. Build an online shop using OOP and web programming
      2. Building RESTful APIs


Group name Start date Session duration Number of sessions Standard price


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


Tokyo Techies Lecturer


Machine Learning Researcher

James is undertaking a Master’s degree in Mechano-Informatics at Tokyo University, researching applications of Machine Learning in Computer Vision. He is fascinated by all things AI and hopes that he can contribute to research ensuring safe AI that is beneficial to society.