CS425: Internet Technologies

Schedule and Learning Outcomes

Course Schedule and Learning Outcomes »

Module 1: Introduction to the Internet and the World-Wide Web
Lecture 1: Tu. 5/9 Introduction to CS425. Internet History and TCP/IP Review. Notes Learning outcome: Explore Internet history and evolution. Overview and basic principles of TCP/IP.
Readings and Videos:
Precept 1: Tu. 5/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 1: Wed. 6/9 Cloud Computing and the Amazon Elastic Compute Cloud. Notes
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.
Lab 2: Fri. 8/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: Tu. 12/9 Internet Architecture. Notes 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 2: Tu. 12/9 Net Neutrality. Learning outcome: Understand the concept of Net Neutrality and key challenges pertinent to this issue.
Readings: Additional References and Videos:
Lab 3: We. 13/9 Installing and Running Web Servers on Amazon and Google Cloud.
Learning outcome:
  • Launch your own virtual server instance on Amazon Elastic Cloud and Google Cloud Engine.
  • Install, run and test two popular open source Web servers on your virtual server: APACHE and NGINX.
  • 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 3: Fri. 15/9 History and Architecture of 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 Αrchitecture and Infrastructure
Lecture 4: Tu. 19/9 Client-Server Architecture and the Web.
Learning outcome:
  • Introduce the principles of the Client-Server computing model.
  • Overview of the Web system architecture.
  • Web servers, web clients, three-tier Web-site architecture.
  • Understand the concept and principles of Web caching.
  • Review the concepts of latency, bandwidth and load banacing.
Readings:
Precept 3: Tu. 19/9 Internet Trends in 2017. Learning outcome: Understand the how the industry perceives the evolution of the Internet in 2017.
Readings, Videos and References:
Lab 4: We. 20/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 5: Fri. 22/9 Web Infrastructure Fundamentals: Cluster Architecture and Metrics.
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:
Lecture 6: Tue. 26/9 Web Infrastructure Fundamentals: Partitioning, Replication and Availability.
Learning outcome: Introduction to concepts of QD Metric, Partioning, Replication, Availability under failure, Admission control.
Readings:
Precept 4: Tue. 26/9 What is Web Science?
Learning outcome:
  • Understand what is Web Science and discuss the unique challenges of developing applications for the Web.
  • Introduction to Modeling of the Web graph; understand the challenges of Web scale analysis.
Reading: "Web Science: An Interdisciplinary Approach to Understanding the Web." James Hendler, Nigel Shadbolt, Wendy Hall, Tim Berners-Lee, and Daniel Weitzner. Communications of the ACM. Vol. 51, No. 7, July 2008. pp. 60-69.
Lab 5: We. 27/9 Overview of Open-source Version Control through Github.
Learning outcome:
  • Learn the basics of Git and GitHub.
  • Learn how to setup and use your Github account and GitHub Education Resources.
  • Learn how to create a Git repository on GitHub and attach it to EPL425 repository.
Readings and References:
Lecture 7: Tue. 29/9 Names on the Internet and the Web: DNS and URIs.
Learning outcome:
  • Introduction to the concept of Naming Services.
  • Overview of the Domain Name System (DNS) and its operation.
  • Understand the principles of naming for the Web,the function of Naming Services and the Domain Name Service.
Readings:
Lecture 8: Tue. 3/10 The HTTP Protocol.
Learning outcome:
  • History and Overview of the HTTP Protocol.
  • Gain basic familiarity of the HTTP Protocol, its functionality and syntax.
  • Basic Caching support in HTTP.
Readings:
  • The HTTP Protocol.
  • "HTTP: The Definitive Guide" by D. Gourney, B. Totty et al., O'Reilly, 2002.
Module 3: Introduction to Hypertext and Hypermedia
Lecture 9: Fri. 6/10 Introduction to HyperText.
Learning outcome:
  • Review the basic principles of Hypertext and its History.
  • Understand the key principles of hypertext (nodes, hyperlinks, navigation) and the properties that hypertext systems need to abide to.
Readings: Chapters 1-5. Multimedia and Hypertext: The Internet and Beyond. J. Nielsen, AP Professional, 1995.
Lecture 10: Tu. 10/10 Advanced HyperText Concepts. Learning outcome:
  • Overview of Usability. Usability of hypertext systems.
  • Understand the notion of information overloading, network disorientation. Definition of information retrieval and information filtering. Navigation support mechanisms: backtracking, bookmarking, history mechanisms, milestones.
Readings: Chapters 8-10. Multimedia and Hypertext: The Internet and Beyond. J. Nielsen, AP Professional, 1995.
Precept 5: Tue. 10/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:
Lab 6: We. 11/10 Processing HTTP traffic.
Learning outcome: Gain practical experience with monitoring HTTP traffic exchanged with your browser, and with processing HTTP traffic.
Readings and References:
  • The HTTP Protocol.
  • "HTTP: The Definitive Guide" by D. Gourney, B. Totty et al., O'Reilly, 2002.
Module 4: Introduction to HTML
Lecture 11: Fri. 13/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 Structure of HTML Documents.
Readings:
Lecture 12: Tu. 17/10 HTML Elements. Learning outcome: Familiarize with HTML elements, head, anchors, lists, tables, quotations, pre-formattedtext, advanced elements, images.
Readings:
  • Chapter 2. Web Programming Step by Step (Second edition) M. Stepp, J. Miller and V. Kirst, Lulu 2012.
  • Chapter 12, 13. Interact with Web Standards. A Holistic Approach to Web Design. E. Anderson , V. DeVolt et al., New Riders 2010.
Precept 6: Tue. 17/10 Semantic Web.
Learning outcome: Understand the concept of semantics and the Semantic Web. Overview of basic principles and syntax of the Resource Description Framework (RDF). Overview of Microformats and RDFa.
Lab 7: We. 18/10 HTML / CSS Playgrounds
Learning outcomes: Get practical experience with HTML/CSS development and testing using online and offline tools. Students will:
  • Test their HTML code and CSS (front-end code) straight away through online playgrounds.
  • Track down bugs in their code.
  • Explore the code behind existing webpages and how they are layout using CSS.
  • Use developer tools to obtain code optimization tips.
  • Inspect DOM and identify styles.
  • Use analytics tool to observe and record site loading performance (network & rendering).
  • Receive insights on which functional blocks need improvement.
  • Receive actionable recommendation on optimizing your website.
Module 5: Cascading Style Sheets (CSS)
Lecture 13: Fri. 20/10 Basic CSS.
Learning outcome: Introduction to CSS concept, syntax and properties.
Readings:
  • Chapter 3. Web Programming Step by Step (Second edition) M. Stepp, J. Miller and V. Kirst, Lulu 2012.
  • http://www.w3.org/wiki/CSS_basics
  • Chapter 11. Interact with Web Standards. A Holistic Approach to Web Design. E. Anderson , V. DeVolt et al., New Riders 2010.
Midterm: Μodules 1-4.
Lab 8: We. 25/10 Responsive Web Pages with Bootstrap
Learning outcomes: Become familiar with developing with Bootstrap, using the Sublime editor. Learn how to resolve questions and explore Bootstrap capabilities using credible online resources, such as stackoverflow.
Readings and References:
Lecture 14: Fri. 27/10 More CSS Syntax. Learning outcome: Learning advanced CSS syntax. Linking CSS files with HTML. Readings:
  • Chapter 3. Web Programming Step by Step (Second edition) M. Stepp, J. Miller and V. Kirst, Lulu 2012.
  • Chapter 11. Interact with Web Standards. A Holistic Approach to Web Design. E. Anderson , V. DeVolt et al., New Riders 2010.
  • CSS Tutorial from w3schools.
  • CSS Tutorial from W3C.
  • CSS Tutorial from Mozilla Foundation.
Lecture 15: Tu. 31/10 Box Model, Inheritance and Cascading in CSS. Learning outcome: CSS Shorthand. The Box Model and white space. CSS Measurement Units. Cascading Rules and Conflict Resolution. Explore how to craft an HTML page, selecting fonts, colors and targeting elements with IDs and Classes. Readings:
  • Chapter 4. Web Programming Step by Step (Second edition) M. Stepp, J. Miller and V. Kirst, Lulu 2012.
  • Chapter 11, 14. Interact with Web Standards. A Holistic Approach to Web Design. E. Anderson , V. DeVolt et al., New Riders 2010.
  • CSS Tutorial from w3schools.
  • CSS Tutorial from W3C.
Precept 7: Tue. 31/10 CSS Examples.
Learning outcome: Review of CSS examples.
Lab 9: We. 1/11 CSS Examples
Learning outcomes: Become familiar with using CSS to float and position HTML elements..
Readings and References:
  • Chapter 4. Web Programming Step by Step (Second edition) M. Stepp, J. Miller and V. Kirst, Lulu 2012.
Lecture 16: Fri. 3/11 Page Layout, Floating and Positioning. Learning outcome: Learn how to combine HTML with CSS to style page sections. Become familiar with the principles of HTML layout using CSS. Using the Box Model. Learn how to float and position HTML elements using CSS. Introduction to other CSS tricks. Explore styling pages, sections, floating elements, positioning and sizing in practice. Readings:
  • Chapter 4. Web Programming Step by Step (Second edition) M. Stepp, J. Miller and V. Kirst, Lulu 2012.
  • Chapter 20, 21. Interact with Web Standards. A Holistic Approach to Web Design. E. Anderson , V. DeVolt et al., New Riders 2010.
  • CSS Tutorial from w3schools.
  • CSS Tutorial from W3C.
Module 6: Server-side Programming through PHP and HTML Forms
Lecture 17: Tue. 7/11 Introduction to PHP.
Learning outcome: Introduction to PhP. Revisit the lifecycle of a Web request. Gain familiarity with PhP structure and syntax. Gain a working knowledge of the PhP scripting language. Learn how to combine PhP with HTML, using embedded PhP.
Readings:
  • Chapter 5. Web Programming Step by Step (Second edition) M. Stepp, J. Miller and V. Kirst, Lulu 2012.
  • PhP tutorials.
Precept 8: Tue. 7/11 Advanced PhP Syntax and Examples.
Learning outcome: Overview of PhP functions, I/O, classes and objects. Case Study: Word of the Day.
Lecture 18: We. 8/11 HTML Forms processing
Learning outcome: Master the Syntax, Functionality and Control of HTML Forms. Understand how HTML Forms are used to submit data to server-side programs.
Readings: Chapter 6 Web Programming Step by Step (Second edition) M. Stepp, J. Miller and V. Kirst, Lulu 2012.
Module 7: Introduction to Javascript
Lecture 19: Fri. 10/11 Introduction to Javascript Learning outcome: Learn the basic concepts of Javascript programming and syntax. Introduction to working the Document Object Model (DOM) with Javascript. Readings: Chapter 8 Web Programming Step by Step (Second edition) M. Stepp, J. Miller and V. Kirst, Lulu 2012.
Lecture 20: Tue. 14/11 Advanced Javascript: Objects and the Document Object Model Learning outcome: Gain further exposure to advanced Javascript syntax and program logic (functions and objects). Object Prototypes. Unobtrusive JavaScript. Learn how to process DOM Objects and how to traverse programmatically the DOM tree with Javascript.
Readings:
  • Chapter 8. Web Programming Step by Step (Second edition) M. Stepp, J. Miller and V. Kirst, Lulu 2012.
  • Chapter 9. Web Programming Step by Step (Second edition) M. Stepp, J. Miller and V. Kirst, Lulu 2012.
Precept 9: Tue. 14/11 JavaScript Examples.
Learning outcome: Simple JavaScript Examples.
Readings:
  • Chapter 8. Web Programming Step by Step (Second edition) M. Stepp, J. Miller and V. Kirst, Lulu 2012.
  • Chapter 9. Web Programming Step by Step (Second edition) M. Stepp, J. Miller and V. Kirst, Lulu 2012.
Module 8: Principles of Web Design
Lecture 21: Thu. 23/11 Writing and Organising Web Content Learning outcome: Understanding the online user experience. Principles of Web writing. Readings:
  • Chapter 5, 6. Interact with Web Standards: A Holistic Approach to Web Design Erin Anderson et al, New Riders 2010.
  • Chapter 7. Web Programming Step by Step (Second edition) M. Stepp, J. Miller and V. Kirst, Lulu 2012.
Lecture 22: Fri. 24/11 Web writing Tools and Information Architecture Learning outcome: Introduction to the principles of Search Engine Optimisation. Learn the main tools for Web content design and management. Introduction to Information Architecture.
Readings:
  • Chapters 7, 8, 9 Interact with Web Standards: A Holistic Approach to Web Design Erin Anderson et al, New Riders 2010.
  • SEO Starter Guide from Google.