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

CS213

Web Application Development

Online
Jul 12, 2021 - Jul 30, 2021
The Web Application Development course will introduce students to fundamental web concepts and technologies, frontend frameworks, as well as backend applications and system design.
Online
Jul 12, 2021 - Jul 30, 2021
Andrey Martynenko

Faculty

Andrey Martynenko

Software Engineer at Google

Course length

3 weeks

Duration

3 hours
per day

Total hours

45 hours

Credits

4 ECTS

Language

English

Course type

Online

Fee for single course

€1500

Fee for degree students

€750

Skills you’ll learn

Web appsWeb developmentFrontend developmentJavaScriptJavaSpring
OverviewCourse outlineCourse materialsPrerequisitesMethod & grading

Overview

The course gives a comprehensive overview of modern web development practices and technologies. Topics covered include both frontend development and backend development, as well as many related concepts.

Students will learn about JavaScript and modern frontend frameworks, databases and data systems, networking, security, performance, system design, and scalability in web applications.

The course tries to focus on fundamental concepts and technologies rather than a particular language or framework. Though, on the server-side, Java/Kotlin and Spring Framework are used for code samples and exercises.

Learning highlights

  • Learn to develop single-page frontend applications
  • Learn to build backend applications
  • Learn about system design and scalability
  • Learn how to secure, test and deploy web 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

Session 1

Course introduction. Modern web ecosystem.

Tuesday
2

Session 2

HTML and CSS introduction.

Wednesday
3

Session 3

Web servers. Networking: HTTP, HTTPS.

Tools for network analysis.

Thursday
4

Session 4

JavaScript language and the ecosystem around it.

Friday
5

Session 5

Running JavaScript in the browser.

Asynchronous events, event-loop. Browser APIs.

Client-server communication.

Monday
6

Session 6

From jQuery to modern frontend frameworks: React, Vue, Angular.

Frontend application architectures.

Tuesday
7

Session 7

Databases: data models and query languages. Relational databases and SQL.

NoSQL databases. Designing database schema. ORM frameworks.

Wednesday
8

Session 8

Databases: storage and retrieval. Data structures and indexes.

Transaction processing vs. analytics. Concurrency and transactions.

Thursday
9

Session 9

Communication between applications and dataflows.

Data encoding formats. REST and RPC. Designing and documenting application API.

Friday
10

Session 10

Authentication and authorization.

Approaches and implementations.

Monday
11

Session 11

Testing web applications.

Tuesday
12

Session 12

Web application security: threats, vulnerabilities, and how to protect against them.

Wednesday
13

Session 13

Designing web applications: load balancing, caches, replication and partitioning, message queues.

Distributed systems. Scalability. Analyzing and optimizing web application performance.

Thursday
14

Session 14

Modern infrastructures for deploying and running web applications.

Containers, microservices, Kubernetes, and cloud.

Friday
15

Session 15

Projects presentation. Final exam.

Discussion of extra topics.

Methodology

In-class lesson:

Quiz on the materials of previous lectures.

The lecture part, which usually takes about 1 hour and covers the theory on the topic.

The seminar part, which includes discussions of examples, work on projects and assignments.

Homework:

Work on projects of choice. The goal is to choose any project (e.g., e-commerce application, social networking service, etc.) and build it gradually over the course.

Work on assignments. Assignments may vary depending on the topic. The goal is to get students more familiar with the technologies discussed in the lecture.

Grading

The final grade will be composed of the following criteria:
40% - Project
20% - Quizzes
20% - Homework Assignments
20% - Final Exam
-
Andrey Martynenko

Faculty

Andrey Martynenko

Software Engineer at Google

Graduated with a master’s degree in applied physics and mathematics from the Moscow Institute of Physics and Technology

Has started his career as a frontend developer and then gradually switched to full-stack and backend development

See full profile

Apply for this course

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

Web Application Development

by Andrey Martynenko

Total hours

45 Hours

Dates

Jul 12 - Jul 30, 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.