CS212

Faculty
Andrey Martynenko
Software Engineer at Google
Course length
Duration
Total hours
Credits
Language
Course type
Fee for single course
Fee for degree students
Skills you’ll learn
The course gives a comprehensive overview of modern web development practices and technologies, including 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 focuses primarily 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.
15 classes
Course introduction. Modern web ecosystem.
HTML and CSS introduction.
JavaScript language and ecosystem around it.
JavaScript in the browser. Asynchronous events, event-loop. Browser APIs. Client-server communication.
From jQuery to modern frontend frameworks: React, Vue, Angular. Introduction to React.
Frontend application architectures - SPAs and MPAs. Java language and Spring Framework. Developing and testing HTTP API.
Introduction to databases. Relational databases and SQL. NoSQL databases. Connecting database to the application.
Network protocols: UDP and TCP, HTTP protocol evolution, WebSocket.
WebSocket API. Introduction to canvas. Online drawing application.
Web server architectures. Data encoding formats and data evolution. RPCs.
Authentication and authorization. Approaches and implementations.
Web application security: threats, vulnerabilities, and how to protect against them. Testing web applications.
Designing web applications: load balancing, caches, message queues, replication, and partitioning. Distributed systems and scalability. Analyzing and optimizing web application performance.
Modern infrastructures for web applications. Containers, microservices, Kubernetes, and cloud.
Final exam and project presentation. Discussion of extra topics.
Basic knowledge of: Java/Kotlin, Databases and SQL
Lectures, Seminars, Quiz on the materials of previous lectures, Homework Individual or group projects of choice, Home assignment, Final Exam
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 profileApply for this course
by Andrey Martynenko
Total hours
45 Hours
Dates
Jun 12 - Jun 30, 2023
Fee for single course
€2999
Fee for degree students
€1999
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.