Elements of Web
Programming
Dr. Devdatta Kulkarni
devdatta@[Link]
Computer Science Department
The University of Texas at Austin
Fall 2026
Class links
• Canvas
• GitHub
• [Link]
• Instructor web page
• [Link]
Web Apps and GenAI tools
• Is learning how to develop Modern Web Apps in today’s world worth
it?
• YES!
• You need to learn the concepts to be able to ask GenAI tools the right
questions (and understand the generated output)
• Analogy: Learning the concept of multiplication of numbers is still required, even if there
are calculators
• Approach: Use GenAI tools to accelerate code development after you
have learnt and mastered the concepts (in your future projects)
What is:
• What is “web”?
• Internet
• What is Internet?
• Interconnected machines with data/content, etc. that can be accessed by users
remotely.
• A web page
• A web site
• A web app
Common things
1. Have user friendly names
2. Accessible over Internet
3. A lock icon appears in the address bar when
accessing them
Web page
Web app
Web site
Static content (does not change based on who is
accessing it)
Dynamic content
Web page
Web app
Differences
- A web page has static content
- A website is a collection of web pages
- A web app requires user accounts (logins)
- Content on a web app changes based on who is
logging in (dynamic content)
Web site
What is:
• A web page: A web page is static content that can be accessed over
the Internet
• A web site: A website is a collection of web pages (static)
• A web app: A web app is an application that can be accessed over the
Internet. It has way for users to login and generate dynamic output
based on who is logging in.
• It can have static content page (login page – static)
• Other web pages will be generated based on who is logging in (dynamic)
Desktop/Laptop applications
Java Swing frontend Application Processing
File
System
Execution environment: Operating System
Self-contained and run within the Operating System
User is: whoever is running the application
Web Apps
HTML Python
Front Java
CSS Back
End NodeJS
JavaScript (executes on End
(executes on
User’s MySQL (database that provides persistent
Web server)
browser) storage)
Laptops/Desktops (web is being
developed)
Execution Environment Public Cloud Providers (AWS,
Platform-as-a-Service Heroku)
User is: Not the person who is running the web app
User is: Anyone who has an account on the web app
Person/team that runs a web app is called a application hosting provider
Execution Environment: Needs to be a setup which can be accessed by users remotely (via browser)
Web App - Code
• Mixed language application
• Front-end
• JavaScript
• HTML
• CSS
• Back end
• Python
• Database
• SQL
• Host it in a public server
• Bash script
• SSH and setup the application on remote servers
Topics/Technologies we will study
• Hypertext Markup Language
• Cascading Style Sheets • Logins
• JavaScript
• Architecture patterns – MVC,
• Bootstrap (CSS library) ETL, Synchronous,
• Jinja2 Asynchronous
• AJAX • 12-factor Web app design
• HTTP – Sessions, Caching • Cloud deployments Platform-
• Python Flask as-a-Service (PaaS) (Heroku,
• REST APIs Elastic Beanstalk)
• Relational databases and SQL
• SQLite and SQLAlchemy ORM
Reference
• [Link]