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

CS203

Foundations of Programming: Java

Barcelona Campus
Nov 08, 2021 - Nov 26, 2021
This introductory course will teach students the features of Java platform with the purpose to develop a complete application for it.
Barcelona Campus
Nov 08, 2021 - Nov 26, 2021
Santiago Faci Miguel

Faculty

Santiago Faci Miguel

Staff Software Engineer at Wikimedia Foundation

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

ProgrammingProject ManagementApplications DevelopmentNetworking ToolsPresentingJavaDesign PatternsMultithreading
OverviewCourse outlineCourse materialsPrerequisitesMethod & grading

Overview

This introductory course will teach students the features of Java platform with the purpose to develop a complete application for it. Students will start taking a look at how Java works and will learn advanced topics such as GUI (Graphical User Interface) design, reactive programming and networking. Finally, students will work on their own projects to consolidate all the knowledge acquired.

Learning highlights

  • Understanding of Java platform
  • Apply OOP principles to develop a software project
  • Identify some design patterns to improve code readability
  • Design a Graphical User Interface
  • Use open data

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 Platform:

Java as a platform, Java as a programming language, Java IDE, Maven, Java application lifecycle, Java Hello World!

Tuesday
2

Java Syntax:

Data types, Operators, Flow control, Arrays, Strings, Enumerations, Packages

Wednesday
3

Java OOP:

Key concepts, Classes, Attributes, Methods, Objects, Inheritance, Method overriding, Polymorphism, Interfaces

Thursday
4

Java Collections Framework:

Lists, Stacks, Sets, Maps, Queues, Utility classes, Java Stream API

Friday
5

Java Error Handling:

Happy path, Exceptions, Logging

Practical session

Monday
6

JavaFX GUI Programming:

GUI Programming fundamentals

Tuesday
7

Java Application Development:

MVC Pattern, Java project structure, Java libraries, JAR files

Wednesday
8

Practical session:

Exercises to consolidate acquired knowledge during previous sessions

Thursday
9

Concurrent and Reactive Programming:

Multithreading, Executors, RxJava

Friday
10

Java Networking:

How to consume a RESTful Web Service

Practical session

Monday
11

Review session

Review session

Tuesday
12

Project session:

Students work in their projects

Wednesday
13

Project session:

Students work in their projects

Thursday
14

Project session:

Students work in their projects

Friday
15

Projects presentation

Projects presentation

Prerequisites

Solid OOP concepts

Knowledge of another Object-Oriented Programming Language (Python or similar)

Basic networking concepts

Methodology

Lectures

Exercises to practice (in the classroom and at home)

Practical session with a small project

Presentation of Final project

Grading

The final grade will be composed of the following criteria:
30% - Exercises: homework and classwork
70% - Final project
Santiago Faci Miguel

Faculty

Santiago Faci Miguel

Staff Software Engineer at Wikimedia Foundation

I have always been linked to education. When I was still studying Computer Science Engineering, I began teaching about software development in a high school and, currently, I keep doing it . So, I have been teaching about software development, with Java related technologies, for almost 20 years. During this time I have taught about databases, Android, videogames and web applications.

Moreover, the last few years I have been working as a Software Engineer in different companies designing, building and managing APIs. Currently, I work as a Staff Software Engineer at Wikimedia Foundation.

See full profile

Apply for this course

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

Foundations of Programming: Java

by Santiago Faci Miguel

Total hours

45 Hours

Dates

Nov 08 - Nov 26, 2021

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.