1 of 29

Welcome to COMP 426!

Ketan Mayer-Patel

UNC Department of Computer Science

COMP 426: Modern Web Programming (Fall 2026)

Module 1: Fundamentals

Lecture 00

2 of 29

Introductions

  • This course will involve participation and collaboration with your classmates!
    • You will talk to, work with, and learn from your peers during this course.
    • Hopefully make new friends too!
  • Introduce yourself to your classmates: (3-5 min on this!)
  • Name
  • Hometown
  • Year, other majors
  • Do anything fun during summer break?
  • Anything else!

​

Welcome to COMP 426!

COMP 426: Modern Web Programming (Fall ‘26)

M1: Fundamentals

L00

3 of 29

Introductions

Welcome to COMP 426!

COMP 426: Modern Web Programming (Fall ‘26)

M1: Fundamentals

L00

4 of 29

Course Goals

  • COMP 426: Modern Web Programming
  • Teach the fundamentals of full-stack web development with special emphasis on modern tooling, best practices, and industry-prevalent frameworks and methodologies.
  • Understand the architecture and workflow for building production-grade full-stack web applications (concepts fully applicable beyond any specific framework!)
  • Gain hands-on experience with both frontend and backend development concepts.
  • Appreciate and have practice with implementing good design practices.
  • Build skills reading documentation and habitualizing self-learning.
  • Prepare students for internships or industry careers in full-stack development!

Welcome to COMP 426!

COMP 426: Modern Web Programming (Fall ‘26)

M1: Fundamentals

L00

5 of 29

Course Content

Welcome to COMP 426!

COMP 426: Modern Web Programming (Fall ‘26)

Note: Aspects of this schedule are still TBD!

Content is cumulative and builds on each other as we go.

M1: Fundamentals

L00

​

​

Module 1�

​

Web Programming Fundamentals

​

​

(~4 weeks)

​

​

Module 2�

​

​

React

​

​

​

(~2 weeks)

​

​

​

Module 4�

​

Backend Concepts for the Web

​

​

(~4 weeks)

​

​

​

​

Module 3�

​

Next.js

(Modern Frameworks + Web App Architectures)

​

(~2 weeks)

​

​

​

Module 5�

​

​

Design

​

​

​

(~3 weeks)

​

​

​

Module 6�

​

More Web Programming Topics

​

​

(~2 weeks)

​

We are here!

6 of 29

Disclaimers

Welcome to COMP 426!

COMP 426: Modern Web Programming (Fall ‘26)

M1: Fundamentals

L00

  • This course was designed and authored by Ajay Gandecha for Fall 2025.
    • Wherever I am listed as an author on material (slides, course website, etc.), Ajay should be understood as a collaborator by reference.

​

  • I may need to skip and/or change topics from his as we go along.
    • Please excuse my missteps.

7 of 29

Materials

  • All materials (assignments, readings, lectures, etc) for COMP 426 will be posted on the course website, live here:�https://comp426-26f.github.io/�
  • All readings and assignments should be submitted to GradeScope.
  • We will use Canvas for announcements and compiling final grades.
  • You will need a Github account

Welcome to COMP 426!

COMP 426: Modern Web Programming (Fall ‘26)

M1: Fundamentals

L00

8 of 29

Attendance

  • Attendance on MW is required! (Attendance taken each class)
    • Course is designed to include many active learning activities in class!
      • Numerous college education studies highlight the benefits of in-person attendance (paired with active learning) for student learning and outcomes.
    • Numerous recruiter surveys point to communication skills (and other soft skills) being the most important factor in hiring – even over technical skills!
      • Attending class in-person and participating (talking to classmates and fellow CS majors) helps to build this skill.
  • We give up to three free absences (see syllabus) and all lectures will be recorded.
  • Go to Gradescope and complete the L01 Attendance Check assignment.

Welcome to COMP 426!

COMP 426: Modern Web Programming (Fall ‘26)

M1: Fundamentals

L00

9 of 29

Grade Breakdown

  • Attendance / Participation (10%)
  • Reading Assignments (10%)
  • Coding Assignments (30%)
  • Midterms (x2) (20%) 10% each!
  • Final Project (30%)

Welcome to COMP 426!

COMP 426: Modern Web Programming (Fall ‘26)

M1: Fundamentals

L00

10 of 29

The Internet

Ketan Mayer-Patel

UNC Department of Computer Science

COMP 426: Modern Web Programming (Fall 2026)

Module 1: Fundamentals

Lecture 01

11 of 29

The World Wide Web

  • COMP 426: Modern Web Programming
    • This semester, you will be learning how to build applications for the web.

The Internet

COMP 426: Modern Web Programming (Fall ‘26)

  • World Wide Web (WWW): Information system enabling content sharing over the internet.
    • The Internet: Interconnected network of computers around the world.
    • Network: Connection between 2+ computers!*

​

M1: Fundamentals

L01

Any electronic device that can connect to the internet!

12 of 29

The Internet

The Internet

COMP 426: Modern Web Programming (Fall ‘26)

M1: Fundamentals

L01

13 of 29

The Internet

  • We need a way to identify�devices on this network.

​

The Internet

COMP 426: Modern Web Programming (Fall ‘26)

M1: Fundamentals

L01

14 of 29

The Internet

  • We need a way to identify�devices on this network.

→ IP Address

The Internet

COMP 426: Modern Web Programming (Fall ‘26)

127.31.22.465

152.35.43.894

543.33.23.671

127.00.01.343

127.11.22.442

142.99.45.245

892.00.00.221

M1: Fundamentals

L01

15 of 29

The Internet

  • How do computers actually talk to each other?

​

The Internet

COMP 426: Modern Web Programming (Fall ‘26)

127.31.22.465

152.35.43.894

543.33.23.671

127.00.01.343

127.11.22.442

142.99.45.245

892.00.00.221

M1: Fundamentals

L01

16 of 29

The Internet

  • Protocol
    • Set of rules that define exactly how a communication service is implemented

​

The Internet

COMP 426: Modern Web Programming (Fall ‘26)

127.31.22.465

152.35.43.894

543.33.23.671

127.00.01.343

127.11.22.442

142.99.45.245

892.00.00.221

M1: Fundamentals

L01

17 of 29

The Internet

  • Protocol Layering
    • Complex services are defined on top of simpler services.

The Internet

COMP 426: Modern Web Programming (Fall ‘26)

127.31.22.465

152.35.43.894

543.33.23.671

127.00.01.343

127.11.22.442

142.99.45.245

892.00.00.221

M1: Fundamentals

L01

18 of 29

The Internet

  • TCP / IP
    • The two protocols at the heart of the Internet.
    • Process-to-process, full duplex, byte stream.

The Internet

COMP 426: Modern Web Programming (Fall ‘26)

127.31.22.465

152.35.43.894

543.33.23.671

127.00.01.343

127.11.22.442

142.99.45.245

892.00.00.221

M1: Fundamentals

L01

19 of 29

The Internet

  • How do computers actually talk to each other?
    • Computers can request resources from other computers on the network.
      • One computer requests resources – the other responds with that resource.

The Internet

COMP 426: Modern Web Programming (Fall ‘26)

127.31.22.465

152.35.43.894

Requests resource A

Responds w/ resource A

Images, files, data, websites – all resources!

M1: Fundamentals

L01

20 of 29

More Terminology

  • Server: Computer whose job is to provide resources to other devices on the network.

​

    • Client: Computer that requests resources from a server.

​

The Internet

COMP 426: Modern Web Programming (Fall ‘26)

127.31.22.465

152.35.43.894

Requests resource A

Responds w/ resource A

Your computer

Server

Client!

M1: Fundamentals

L01

These requests must be formatted in a way that both computers understand.

21 of 29

    • Request ( ) for a resource from a client, and a
    • Response ( ) containing the requested resource from the server.

Protocols

  • Protocol: Predefined, universal set of rules that computers use to talk to each other.

​

​

  • HTTP (HyperText Transfer Protocol): Protocol used to send information on the web between clients and servers, consisting of a:

The Internet

COMP 426: Modern Web Programming (Fall ‘26)

      • The request and response are formatted consistently every time (conforming to the protocol!) → We will see the exact format in later lectures…

M1: Fundamentals

L01

22 of 29

HTTPS

  • HTTPS: A secure version of HTTP, encrypting the contents of the request and response so nobody else (besides the client and server) can read it.

The Internet

COMP 426: Modern Web Programming (Fall ‘26)

M1: Fundamentals

L01

127.31.22.465

152.35.43.894

Requests resource A�

Responds w/ resource A

​

Your computer

Server

Client!

This should sound familiar!!�Consider a URL:�

https://www.apple.com

(via HTTPS)

(via HTTPS)

23 of 29

Surfing the Internet

  • When we load any webpage, our computer (the client) requests the files necessary to render the website from the server on the internet tasked with storing these files.�

The Internet

COMP 426: Modern Web Programming (Fall ‘26)

M1: Fundamentals

L01

24 of 29

Surfing the Internet

  • When we load any webpage, our computer (the client) requests the files necessary to render the website from the server on the internet tasked with storing these files.�
  • URLs are used to tell the browser where to look for a website’s files and which ones specifically to look for.

The Internet

COMP 426: Modern Web Programming (Fall ‘26)

M1: Fundamentals

L01

https :// apple.com

Protocol used to request a website’s files

Domain: Human-readable name of a website.

25 of 29

Surfing the Internet

  • When we load any webpage, our computer (the client) requests the files necessary to render the website from the server on the internet tasked with storing these files.�
  • URLs are used to tell the browser where to look for a website’s files and which ones specifically to look for.

COMP 426: Modern Web Programming (Fall ‘26)

Example...

The Internet

M1: Fundamentals

L01

Protocol used to request a website’s files

Domain: Human-readable name of a website.

https :// apple.com / iphone

Path: Used to specify a specific resource (like a specific page)

(If omitted, we receive a website’s homepage)

26 of 29

Surfing the Internet

  • Problem: a domain (like apple.com) identifies a website to us humans, but does not exactly tell our computer which server to contact to retrieve our website.
    • So, which server stores a website’s files?
  • To find this, our computers use DNS (Domain Name System).
    • Like an address book, but for websites!
    • www.nslookup.io

The Internet

COMP 426: Modern Web Programming (Fall ‘26)

https://apple.com/

17.253.144.10

DNS Server

M1: Fundamentals

L01

27 of 29

All Together…

The Internet

COMP 426: Modern Web Programming (Fall ‘26)

Your computer

Client!

DNS Server

User types �https://apple.com�into their browser

Browser requests IP from DNS

DNS replies w/ IP of server with website files�(17.253.144.10)

M1: Fundamentals

L01

28 of 29

All Together…

The Internet

COMP 426: Modern Web Programming (Fall ‘26)

17.253.144.10

Requests files @ 17.253.144.10

Responds with Apple’s website

Your computer

Apple’s Server

Client!

DNS Server

Browser requests IP from DNS

DNS replies w/ IP of server with website files�(17.253.144.10)

We will begin exploring what files make up a website next class!

M1: Fundamentals

L01

User types �https://apple.com�into their browser

(via HTTPS)

29 of 29

Homework

Two reading assignments get released today:

  • R00: Syllabus and Pre-Course Survey (Due Friday)
  • R01: HTML and CSS Fundamentals (Due Sunday)

These can be found on the website and GradeScope - feel free to get started!

​

NOTE: If you have any questions, please come to the front!!

The Internet

COMP 426: Modern Web Programming (Fall ‘26)

M1: Fundamentals

L01