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

FE409

Web Performance

Barcelona Campus
Apr 10, 2023 - Apr 28, 2023
Ths course will give you knowledge how browsers work and the different things that affect performance.
Barcelona Campus
Apr 10, 2023 - Apr 28, 2023
Eirikur Nilsson

Faculty

Eirikur Nilsson

Developer of Interactive Web Experiences at Aranja

Course length

3 weeks

Duration

3 hours
per day

Total hours

45 hours

Credits

6 ECTS

Language

English

Course type

Offline

Fee for single course

€1500

Fee for degree students

€750

Skills you’ll learn

Performance MetricsPage Load OptimisationsWebpack Bundle OptimisationsJavaScript Performance
OverviewCourse outlineCourse materialsPrerequisitesMethod & grading

Overview

One of the main user experience factors is performance. Every second that users have to wait dramatically increases their frustration and the likelihood of them giving up and switching to another product or service. Performance is an even more important topic now that most users browse the web on mobile devices and web development revolves more and more around running JavaScript in the browser.

During this course, students will learn how browsers work and the different things that can affect performance. It will guide them through the tools and techniques they can use to research and fix performance issues in real-world projects. The goal of this course is to equip the students with the knowledge required to create fast and smooth web experiences.

Learning highlights

  • Get deep knowledge of the steps a browser takes to load a website
  • Learn about performance metrics and how they are used to measure page load performance
  • Understand how network requests can be optimised to speed up initial page load
  • Learn how to optimise JavaScript bundles with code splitting and tree shaking
  • Learn O notation basics in regards to JavaScript performance and memory use
  • Discover ways to improve animations and perceived performance

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

  • Introduction to web performance
  • Performance fundamentals
  • Critical rendering path
  • Request lifecycle
  • Web Vitals
Tuesday
2

Session 2

  • Network minification
  • Concatenation
  • Minification
  • Compression
Wednesday
3

Session 3

  • Network caching
  • Caching
  • Cache-control
  • Conditional requests
  • Caching strategies
  • Service worker
Thursday
4

Session 4

  • Faster loading
  • Content delivery networks (CDN)
  • Preloading and lazy loading
  • Loading gotchas
Friday
5

Session 5

  • Practice session

Improve page load performance of an example website.

Monday
6

Session 6

  • Smaller JavaScript bundles
  • Bundling
  • Analyzing bundles
  • Lazy loading JS
  • Tree shaking
Tuesday
7

Session 7

  • JavaScript performance
  • Big O Notation
  • Performance gotchas
  • Profiling JavaScript
  • Run code on a background thread
Wednesday
8

Session 8

  • Render performance
  • The pixel pipeline
  • Reflows
  • Layout shifting
Thursday
9

Session 9

  • Performant animations
  • Perceived performance
  • Smooth animations 101
  • GPU layers
  • Minimize repaints
Friday
10

Session 10

  • Practice session
  • Improve JavaScript performance of an example website.
Monday
11

Session 11

  • Server performance
  • API design
  • Server side caching
  • Scaling in the cloud
  • Profiling the server
Tuesday
12

Session 12

  • Memory performance
  • Memory management
  • Garbage collection
  • Profiling memory usage
  • Memory leaks
Wednesday
13

Session 13

  • Web Assembly
  • WASM fundamentals
  • AssemblyScript
Thursday
14

Session 14

  • HTTP2 / HTTP3
  • History
  • Concepts
  • Concerns
Friday
15

Session 15

Final exam

Methodology

Lectures and demonstration format.

Group debates where we’ll discuss problem-solving techniques

Discord channel to ask questions to the teacher

Homework will be given at least twice a week, and it will be reviewed first thing next class

Project presentation and feedback upon completion of the two Friday assignments

Grading

The final grade will be composed of the following criteria:
20% - Homework
30% - Friday assignments
50% - Final exam
Eirikur Nilsson

Faculty

Eirikur Nilsson

Developer of Interactive Web Experiences at Aranja

Eiríkur is a co-founder and CTO at Aranja, a digital agency that specialises in front-end development for websites and apps. He has worked on projects for Google, Facebook, Pinterest, Blue Lagoon and many innovative startups.

Recently, Eirikur has overseen development for scooter sharing service Hopp which was founded by Aranja. He is also the lead architect at Digital Iceland, a public-private partnership developing high-quality digital government services.

See full profile

Apply for this course

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

Web Performance

by Eirikur Nilsson

Total hours

45 Hours

Dates

Apr 10 - Apr 28, 2023

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.