CS425: Internet Technologies

Schedule and Learning Outcomes

Course Schedule and Learning Outcomes »

Module 1: Internet and Web - Basic Concepts
Lecture 1: Tu. 4/9 Introduction to CS425 Notes
Learning outcome:
  • An overview of CS425 syllabus, structure, contract and expectations.
  • A short overview of Internet history and evolution.
  • Explore alternative definitions of the Internet and understand its impact on the modern world.
  • Think how digital technology shapes the future of economy, society and work.
Readings and Videos:
  • CS425 contract.
  • What is the Internet? A 3:5min video with Vint Cerf
  • Attend the lecture by Η.Ε. the President of India, Shri Ram Nath Kovind, entitled "Youth, technology and ideas: shaping the contours of the 21st century." The event will take place on the 4th of September 2018 at 11:00 a.m. Amphitheatre B108, Building Council-Senate "Anastasios G. Leventis."
Lab 1: Tu. 4/9 Cloud Computing and the Google Cloud
Learning outcome:
  • Understand the notion of virtual Linux servers and obtain hands-on familiarization with Virtualization concepts (physical vs virtual host, image vs instance).
  • Introduction and focus on Google Cloud Services
  • Launch your own virtual server instance on Google Cloud Engine.
  • Identify and select an existing Virtual Machine based on prefereneces such as Linux distribution, installed software packages and libraries and learn how to configure the AMI resources (CPU, memory, storage, network) and deployment region.
  • Learn what is public/private key authentication. Create and upload an SSH key to your instance.
  • Launch and monitor your instance status, save your launched instance preferences, access your instance through an SSH client, and terminate your Instance.
Readings and References:
Lecture 2: Fri. 7/9 TCP/IP Review Learning outcome:Overview and basic principles of TCP/IP.
Readings and Videos:
Lecture 3: Tu. 11/9 Internet Architecture Learning outcome: Introduction to the Internet architecture: protocol layers and end-to-end design. Gain an understanding of the principles behind Internet's successful design and evolution. Gain a good working knowledge of the basic building blocks of and the main keywords related to the Internet infrastructure. Internet as a federation of Autonomous Systems.
Readings and Videos:
Precept 1: Tu. 11/9 Focus and Learning in the Internet era Learning outcome: Understand the implications of the Internet on cognitive capabilities and social practices of humans. How are human learning and focus affected in the Internet era.
Readings, Videos and References:
Lab 2: Tu. 11/9 Cloud Computing and the Amazon Elastic Compute Cloud
Learning outcome:
  • Understand the notion of virtual Linux servers and obtain hands-on familiarization with Virtualization concepts (physical vs virtual host, image vs instance).
  • Brief overview of the Virtualization / Cloud Provider landscape (IaaS vs PaaS vs SaaS)
  • Introduction and focus on Amazon Web Services (AWS)
  • Launch your own virtual server instance on Amazon and learn about Amazon Machine Images (AMI's) and the Image Marketplace.
  • Identify and select an existing AMI based on prefereneces such as Linux distribution, installed software packages and libraries and learn how to configure the AMI resources (CPU, memory, storage, network) and deployment region.
  • Learn what is public/private key authentication. Create and upload an SSH key to your instance.
  • Launch and monitor your instance status, save your launched instance preferences, access your instance through an SSH client, and terminate your Instance.
Lecture 4: Fri. 14/9 Introduction to the World-Wide Web
Learning outcome:
  • Get acquainted with the Definition, History, Evolution, Impact and Key Ideas behind the World-Wide Web.
  • Learn the main elements of the Web.
Readings:
Module 2: World-Wide Web - Architecture and Infrastructure
Precept 2: Tu. 18/9 A Review of Web Science
Learning outcome: Understand how the Web concept evolves, and how Web application development is different from traditional software development. Review what is Web Science and key concepts of Web analysis. Introduction to the concept of network effects and "Metcalf's Law."
Readings:
Lecture 5: Tue. 18/9 Names on the Internet: The Domain Name Service
Learning outcome:
  • Introduction to the concept of Naming Services.
  • Overview of the Domain Name System (DNS) and its operation.
  • Understand the concept of Autonomous Systems.
Readings:
Lab 3: Tu. 18/9 Client-Server Programming in JAVA
Learning outcome:
  • Learn how to write a simple multithreaded server and a simple client program in JAVA.
  • Learn how to implement client-server communication through TCP sockets.
  • Deploy a simple Java-based server program on the Cloud and interact with it through a client program.
Lecture 6: Fri. 21/9 What's Next for the Net? Security, Reliability, Capability, Performance, Flexibility and More
Learning outcome: Explore current Internet trends and challenges. Understand some of the security issues threatening the Web. Discuss the role of global Internet platforms and services like Cloudflare, with two of Cloudflare's senior technical advisors. Understand the implications that Internet-services' policies have on freedom of speech and expression on the WWW.
Lecture 7: Tu. 25/9 Uniform Resource Identifiers
Learning outcome:
  • Understand the URI specification and the concepts of URI, URL and URN.
  • Understand the concepts of information resource, name resolution, dereference, and retrieval.
  • Become familiar with different URI schemes.
Precept 3: Tu. 25/9 Net Neutrality
Learning outcome: Understand the concept of Net Neutrality and key challenges pertinent to this issue.
Readings: Additional References and Videos:
Lab 4: Tu. 25/9 Install and Running Web Servers on AWS
Learning outcome:
  • Learn about the LAMP software bundle
  • Learn about the Apache HTTP Server
  • Learn about the NGINX Web Server
  • Learn about the differences between Apache & NGINX
  • Install and configure LAMP in AWS
  • Install and configure phpMyAdmin in AWS
  • Install and configure NGINX in AWS
Lecture 8: Fri. 28/9 Distributed Computing Models and the Web System Architecture
Learning outcome:
  • Introduce the principles of the Client-Server computing and other distributed computing models.
  • Overview of the Web system architecture.
  • Web servers, web clients, three-tier Web-site architecture.
  • Review the concepts of latency, bandwidth and load banacing.
Readings:
Precept 4: Tu. 2/10 Web Clients, Servers and Proxies
Learning outcome:
  • Explore the core functionalities of Web clients and servers.
  • Understand the concept of Web Intermediaries and their functionality.
  • Introduction to Web caching.
Lecture 9: Tu. 2/10 Web Infrastructure Fundamentals: Cluster Architectures
Learning outcome:
  • Understand the architecture and key components of Web service infrastructures: Clusters, Load Balancers.
  • Learn the concepts of Load Balancing.
  • Overview of availability metrics: uptime, yield, harvest.
Readings:
Lab 5: Tu. 02/10 Software Revision with Git
Learning outcome:
  • What is a Version Control System (VCS)
  • Types of Version Control Systems
  • What is Git
  • Data on Git Vs on other VCS
  • Git Basic Commands
  • Install Git locally and on a AWS VM
  • Hands-on practice with Git
  • Install VS Code
Lecture 10: Fri. 5/10 Web Infrastructure Metrics
Learning outcome:
  • Analysis of availability metrics: uptime, yield, harvest, DQ and their relative merits.
  • Understand the concepts of workload and read/write queries.
  • Understand the concepts of replication and partitioning, and their effect on availability metrics.
Readings:
Lecture 11: Tu. 9/10 The HTTP Protocol
Learning outcome:
  • History and Overview of the HTTP Protocol.
  • Gain basic familiarity of the HTTP Protocol, its functionality and syntax.
  • Understand the key concepts of HTTP: statelessness, headers, caching support, pipelining.
Readings:
  • The HTTP Protocol.
  • "HTTP: The Definitive Guide" by D. Gourney, B. Totty et al., O'Reilly, 2002.
Precept 5: Tu. 9/10 From SPDY to HTTP/2
Learning outcome:
  • Discuss the main changes brought by SPDY and HTTP/2.
  • Understand the concept of multiplexing and server push.
Readings: "SPDYing up the Web" by Bryce Thomas, Raja Jurdak, and Ian Atkinson, Communications of the ACM, Dec. 2012.
Lab 6: Tu. 09/10 HTTP Requests and Traffic
Learning outcome:
  • What’s the OSI model?
  • Introduction to HTTP (Hypertext Transfer Protocol)
  • HTTP Requests/Responses
  • HTTP handling with Java
  • Introduction to HTTP2
  • Monitoring HTTP Traffic
Module 3: Hypertext and the Hypertext Markup Language (HTML)
Lecture 12: Fri. 12/10 Introduction to Markup Languages and HTML.
Learning outcome: Introduction to document structure and markup Languages. Become familiar with main concepts of markup languages, SGML, Document Type Definitions (DTD). Introduction to HTML: History, Syntax. Understand and familiarize with the tree structure of HTML documents and the Document Object Model (DOM).
Readings:
Midterm 16/10: Μodules 1-2.
Lab 7: Tu. 16/10 HTML (Hyper Text Markup Language
Learning outcome:
  • What is HTML
  • HTML Building Blocks
  • A quick overview of the most used HTML elements
  • HTML DOM (Document Object Model)
  • What are some of the new HTML5 elements
  • What are some of the new HTML5 API’s
  • Hands-on practice: Start creating a Portfolio page!
Lecture 13: Fri. 19/10 Information Overload and the Attention Economy
Learning outcome: Understand the implications of hypertext principles and evolution to the emergence of the "attention economy."
Readings:
Module 4: Cascading Style Sheets (CSS)
Module 5: Server-side Programming through PHP and HTML Forms
Module 6: Client-side Programming: Javascript, DOM, AJAX
Module 7: Web Databases and Cookies