CS306
Software Engineering (Java\Spring)

Faculty
Igor Sakhankov
Staff Software Engineer at Glovo
Course length
Duration
Total hours
Credits
Language
Course type
Fee for single course
Fee for degree students
Skills you’ll learn
Overview
This course will teach you all phases of software development from requirements gathering till project maintenance, introducing processes and best practices. Most of the concepts will be tried in practice using Java Spring. During the course you understand the difference between coding and engineering, working on a project alone or contributing to a large software system.
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
Session 1
What is software engineering? Java basics. Java ecosystem
Session 2
Introduction to Spring. Spring Boot
Session 3
Requirements. Functional requirements, quality attributes, technical constraints
Session 4
Designing the system. Design patterns. Architecture patterns
Session 5
Coding best practices. Style guides and rules
Session 6
Version control and branch management. Code reviews.
Session 7
Documentation. Knowledge sharing
Session 8
System quality. Introduction to testing. Unit and integration testing
Session 9
Continuous integration and delivery
Session 10
User management. Security. OWASP
Session 11
Designing APIs, integrating with 3rd party systems
Session 12
Working in a team. Task trackers. Meeting culture
Session 13
Observability. Monitoring. Alerting
Session 14
Scaling systems. Deprecating legacy parts. Maintaining systems
Session 15
Final exam
Prerequisites
Basic programming skills (in any language).
Methodology
Lectures
Practical seminars where students complete a programming assignment under the professor’s supervision
Homework is assigned after each session
Few quizzes are conducted weekly A final exam
Grading
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 profileApply for this course
Software Engineering (Java\Spring)
by Igor Sakhankov
Total hours
45 Hours
Dates
Jan 31 - Feb 18, 2022
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.

