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

CS306

Software Engineering (Java\Spring)

Barcelona Campus
Jan 31, 2024 - Feb 16, 2024
This course will teach you all phases of software development from requirements gathering till project maintenance, introducing processes and best practices.
Barcelona Campus
Jan 31, 2024 - Feb 16, 2024
Igor Sakhankov

Faculty

Igor Sakhankov

Staff Software Engineer at Glovo

Course length

3 weeks

Duration

3 hours
per day

Total hours

39 hours

Credits

6 ECTS

Language

English

Course type

Offline

Fee for single course

€1500

Fee for degree students

€750

Skills you’ll learn

Software EngineeringSoftware DesignJavaScriptJavaTesting
OverviewCourse outlineCourse materialsPrerequisitesMethod & grading

Overview

There is a big difference between coding and engineering, working on a project alone or contributing to a large software system. In this course, we will discuss what software engineering is and how to become one. We will cover all phases of software development from requirements gathering to project maintenance, and discuss processes and best practices. Most of the concepts will be tried in practice using Java and Spring Framework.

Learning highlights

  • Learn about software management processes
  • Learn about requirements elicitation
  • Learn how to design software system
  • Learn how to build and maintain software system
  • Learn how to test software systems
  • Get hands-on experience with Java Spring applications

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

Snow Summit

-

Tuesday
2

Snow Summit

-

Wednesday
3

Session 1

What is software engineering? Java basics. Java ecosystem.

Thursday
4

Session 2

Introduction to Spring. First Spring application. Coding best practices.

Friday
5

Session 3

Spring Boot. Web application. Style guides and rules.

Monday
6

Session 4

Requirements. Functional requirements, quality attributes, technical constraints.

Tuesday
7

Session 5

System quality. Introduction to testing. Unit and integration testing.

Wednesday
8

Session 6

Using Data Stores. Test Containers framework.

Thursday
9

Session 7

Version control. Code reviews. Continuous integration and delivery.

Friday
10

Session 8

Designing the system. Design patterns. Architecture patterns.

Monday
11

Session 9

Documentation. Knowledge sharing. Working in a team. Meeting culture.

Tuesday
12

Session 10

Designing APIs, integrating with 3rd party systems.

Wednesday
13

Session 11

Observability. Monitoring. Alerting. Security. OWASP.

Thursday
14

Session 12

Scaling systems. Deprecating legacy parts. Maintaining systems. Chaos Engineering

Friday
15

Session 13

Final exam

Prerequisites

Basic programming skills (in any language).

Methodology

The course sessions consist of lectures given by the professor as well as practical seminars where students complete a programming assignment under the professor’s supervision.

Homework is assigned after each session to strengthen the understanding of the material

Every week a few quizzes are conducted. A final exam happens at the end of the course

Grading

The final grade will be composed of the following criteria:
10% - Class participation
20% - Quizzes
50% - Individual assignments
20% - Exam
Igor Sakhankov

Faculty

Igor Sakhankov

Staff Software Engineer at Glovo

Igor is a software engineer with experience in distributed systems, microservices, data pipelines and setting up team processes. He worked for the companies like Uber and Booking.com, right now works for Glovo.

Igor graduated from Innopolis University with a Master's degree in Software Engineering backed by MSIT SE CMU original program.

See full profile

Apply for this course

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

Software Engineering (Java\Spring)

by Igor Sakhankov

Total hours

39 Hours

Dates

Jan 31 - Feb 16, 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.