Studies
Admissions
The Institute
Resources
Studies
Admissions
The Institute
Resources
Studies
Admissions
The Institute
Resources

CS209BKK

Programming: Java

Bangkok Campus
Feb 19, 2024 - Mar 08, 2024
This course will introduce students to the Java language and its application in solving real-world programming problems.
Bangkok Campus
Feb 19, 2024 - Mar 08, 2024
Monika Protivova

Faculty

Monika Protivova

Software Engineer at CleverFarm

Course length

3 weeks

Duration

3 hours
per day

Total hours

45 hours

Credits

4 ECTS

Language

English

Course type

Offline

Fee for single course

€1500

Fee for degree students

€750

Skills you’ll learn

Standard libraryJavaSoftware Testing and DebuggingIntroduction to Application Development
OverviewCourse outlinePrerequisitesMethod & grading

Overview

This course will introduce students to the Java language and its application in solving real-world programming problems. We will begin with a basic language introduction and progress to full-blown application development through practical exercises.

In the first part of the course, we will establish a solid understanding of the Java language, its syntax, and common design patterns. We will also learn how to test our code.

In the second part, we will learn how to approach programme design and utilise Java standard libraries for working with data.

Finally, we will apply the skills acquired using one of the most popular application frameworks to deliver an actual application.

Learning highlights

  • The main goal of this course is to explain the use and application of Java through practical examples and exercises while establishing the foundations for SOLID principles in application development.
  • Students will learn not only how to design and programme in Java, but also how to properly test it and observe its real-world behaviour.

Course outline

15 classes

Dive into the details of the course and get a sense of what each class will cover.
Monday
Tuesday
Wednesday
Thursday
Friday
Monday
1

Introduction to Java

Java syntax, Data types, Operators, Conditionals, Array, IDE, Hello World

Tuesday
2

Java basics - object oriented programming

Objects, Classes, Fields, Functions and methods, Anonymous functions, Access modifiers, Errors and exception handling

Wednesday
3

Introduction to testing

Fundamentals of testing, Quality, Debugging, Dependency management

Thursday
4

Java basics - continued

Polymorphism, Inheritance, Generics, Homework

Friday
5

Collections, Stream AP

Lists, Stacks, Sets, Maps, Queues, Utility classes, Functional Interfaces and Stream API, Homework

Monday
6

Standard Java libraries

I/O, Date and time, Homework

Tuesday
7

Java Memory Model, Multithreading

JRE, JDE, Compiler, Multithreading

Wednesday
8

Dependency Injection and Object Oriented Design Patterns

The SOLID principle, Inversion of Control, Reflexion (explained)

Thursday
9

Introduction to application development

Application frameworks, Spring Boot, Spring MVC

Friday
10

Introduction to the project

Design of a REST API, Homework - design a REST API

Monday
11

Project work

Implementing REST and service layers

Tuesday
12

Project work

Connecting to repositories

Wednesday
13

Project work

Microservice architecture, Consuming APIs, Caching

Thursday
14

Project work

Asynchronous programming, Reactive architecture, Spring WebFlux

Friday
15

Project presentation and review

Project presentation and review

Prerequisites

Understanding programming concepts is advantageous but not required.

Proficiency in algorithmization and problem-solving is essential.

Strong analytical thinking skills are necessary.

Basic knowledge of data structures is advantageous.

Methodology

Lectures, Practical exercise in classroom, Homeworks, Final project with presentation

The course aims to provide as many practical examples and hands-on experience as possible. Some theoretical lectures will be included, but a significant part of the course will be practical work.

Grading

The final grade will be composed of the following criteria:
40% - Homework
40% - Final project
20% - Participation
Monika Protivova

Faculty

Monika Protivova

Software Engineer at CleverFarm

Monika is a seasoned software engineer with a career spanning over 15 years. Monika has a background in testing. In her previous positions as a Test Automation Engineer and Test Architect, she played a key role in designing software with a focus on testability as a critical component.

Currently working as a Software Engineer, she primarily focuses on application backends, where she brings a quality-focused approach to development, leveraging her testing background.

See full profile

Apply for this course

Snap up your chance to enroll before all spaces fill up.

Programming: Java

by Monika Protivova

Total hours

45 Hours

Dates

Feb 19 - Mar 08, 2024

Fee for single course

€1500

Fee for degree students

€750

How to secure your spot

Complete the form below to kickstart your application

Schedule your Harbour.Space interview

If successful, get ready to join us on campus

FAQ

Will I receive a certificate after completion?

Yes. Upon completion of the course, you will receive a certificate signed by the director of the program your course belonged to.

Do I need a visa?

This depends on your case. Please check with the Spanish or Thai consulate in your country of residence about visa requirements. We will do our part to provide you with the necessary documents, such as the Certificate of Enrollment.

Can I get a discount?

Yes. The easiest way to enroll in a course at a discounted price is to register for multiple courses. Registering for multiple courses will reduce the cost per individual course. Please ask the Admissions Office for more information about the other kinds of discounts we offer and what you can do to receive one.