Option C Study Guide
Option C Study Guide
Summary
[Click a link below to access the relevant section]
1. Vocabulary Bank
2. Internet
3. Practical HTML Guide - HTML Example - HTML Cheat Sheet
4. Practical PHP/mySQL Guide - PHP/mySQL Examples - mySQL Cheat Sheet
5. Database/SQL Guide (for PHP/mySQL) - Databases - SQL Cheat Sheet
6. Search Engines
7. Computing Paradigms
8. Web Graphs (HL)
9. Intelligence Paradigms (HL)
10. Power Law (HL)
Vocabulary Bank
- Internet - Global network of interconnected computer networks that use standardized
communication protocols to enable the exchange of data and information across the
world; Consists of millions of devices including computers, servers, routers, and other
network devices that are connected to each other through a variety of wired and wireless
technologies
- WWW (World Wide Web) - System of interconnected documents and other resources,
linked by hyperlinks and URLs, that can be accessed via the internet
- web browser - software application used to access and view information on the World
Wide Web
- cookie - small text file that is stored on a user's computer by a web server. It is used to
store information about the user's browsing activity on a particular website,
- protocol - A set of rules and guidelines that govern how data is transmitted, received, and
processed across a network
- standard - specifies a set of requirements, specifications, or guidelines that must be
followed in order to achieve a certain level of quality or compatibility between devices
1
- HTTP - A protocol for transmitting information on the WWW
- HTTPS - Secure version of HTTP
- static website - A website that consists of a series of web pages whose content is fixed
and does not change dynamically based on user interaction
- dynamic website - A website that generates content on-the-fly in response to user
requests or other external events
- port - Used by a network protocol to identify a specific process or service running on a
device; identifies service using port number at the end of a URL
- DNS (Domain Name System) - used to translate human-readable domain names, such as
"google.com" or "facebook.com", into IP addresses
- HTML (Hypertext Markup Language) - a markup language used to create structured
documents, primarily for web pages and other types of online content
- CSS (Cascading Style Sheets) - a style sheet language used to describe the presentation
and layout of web pages and other online content.
- Javascript - programming language that is used to create interactive and dynamic web
applications and other types of online content; Client-side scripting language, which
means that it is executed by the user's web browser rather than by a server
- client-side scripting - refers to the use of scripting languages such as JavaScript, HTML5,
and CSS to create interactive and dynamic web content that is executed by the user's
web browser rather than by a server
- server-side scripting - refers to the use of scripting languages such as PHP, Python, and
Ruby to generate web content dynamically on a web server in response to user requests
- search engine
- metatags - HTML tags that are used to provide information about a web page that is not
visible to the user but is used by search engines and other web applications to
understand the content and purpose of the page
- crawling - the use automated software programs to systematically visit websites and
follow links to discover and index new pages; Involves downloading and analyzing the
contents of web pages
- indexing - refers to the process of analyzing and storing the contents of web pages in a
searchable database known as an index
- ranking - the use of complex algorithms to analyze and rank web pages based on various
factors, such as keyword relevance, content quality, and popularity
- surface web - Refers to content accessible by standard search engines
- deep web - Refers to parts of the web not indexed by standard search engines
- dark web - a subset of the deep web intentionally hidden from search engines
- SEO (Search Engine Optimization) - The practice of optimizing websites and their content
to rank higher in search engine results pages (SERPs) for relevant keywords and phrases.
2
- White Hat SEO - ethical and legitimate techniques used to improve a website's search
engine ranking
- Black Hat SEO - the use of unethical or deceptive techniques to improve a website's
search engine ranking
- grid computing - involves sharing computing resources across multiple networks to
achieve a common goal
- mobile computing - refers to the use of portable computing devices such as
smartphones, tablets, and laptops
- ubiquitous computing - refers to the concept of integrating computer technology
seamlessly into everyday life through various devices and sensors
- P2P computing - Each computer in a P2P network acts as both a client and a server, and
can request and provide resources to other computers in the network
- cloud computing - involves the use of remote servers to store, manage, and process data,
rather than relying on local hardware and software
- private cloud - a type of cloud computing environment that is dedicated to a single
organization or user group and is not shared with other organizations or users
- public cloud - a type of cloud computing environment that is hosted and managed by a
third-party provider, and is accessible to multiple organizations and users over the
internet
- interoperability - refers to the ability of different software systems, applications, or
devices to communicate, exchange data, and work together effectively
- semantic web - an extension of the World Wide Web that is designed to make web
content more accessible and meaningful to both humans and machines
- Creative Commons License - type of copyright license that enables creators of original
works to grant others the right to use, share, and modify their work, subject to certain
conditions
- directed graph [HL] - a mathematical structure that consists of a set of vertices (also
called nodes or points) and a set of directed edges (also called arrows or arcs) that
connect the vertices
- web graph (represented as a directed graph) [HL] - each node represents a web page or
website, and each edge represents a link or connection between the pages or sites
- subgraph [HL] - a subset of vertices and edges of a larger graph that form a smaller graph
that is contained within the larger graph.
- ambient intelligence [HL] - a computing paradigm that relies on a combination of sensing
technologies, intelligent algorithms, and human-computer interaction techniques to
create an environment that can perceive, reason, and act autonomously
3
- collective intelligence [HL] - refers to the ability of groups or networks of individuals to
collectively solve problems, make decisions, or generate new ideas that are beyond the
capabilities of any individual member
Internet
- Internet vs. WWW
Can be accessed via various devices such as Can be accessed via the internet using web
computers, mobile devices, and tablets. browsers on compatible devices.
Includes all connected devices and networks Includes all websites and web pages
worldwide. accessible via the internet.
Uses standardized protocols such as TCP/IP Uses standardized protocols such as HTTP
and DNS. Email, FTP (File Transfer Protocol) and HTML.
and Email are considered part of the internet,
but not the WWW.
- Protocols
- a set of rules and guidelines that govern how data is transmitted, received, and
processed across a network
- define the format, timing, sequencing, and error control of data transmitted over
the network
- Examples: TCP/IP, HTTP, FTP, SMTP, (Simple Mail Transfer Protocol)
- Role of Protocols
- Allow successful communication to take place
- Ensure data integrity processes such as error checking
- Regulate speed of data packet flow; prevent a device from sending at a
faster rate than the receiving device can receive
- Manages packet switching
- URLs (Uniform Resource Locators)
- A URL is like the address you type into your browser. Ex: www.google.com
- A URL has a protocol, domain name, and web page/file name.
4
- https://www.businessinsider.com/how-to-organize-tabs-safari
- URIs (Uniform Resource Identifier)
- All URLs are URIs, but not all URIs are URLs
- URLs allow you to access a resource, while, URIs simply identify a resource
- In the following example, #date need not be included to access the resource.
5
- Privacy concerns, particularly if cookies are used to track user behavior
across multiple websites
- DNS (Domain Name System)
- A server that contains a database of URLs and their corresponding IP
addresses
- Web browsers must send a URL to a DNS server to be converted into an IP
address, to which a request is then sent by the web browser
- common resource, regulated by the global, non-governmental such as
Internet Corporation for Assigned Names and Numbers (ICANN)
- operated and manages by ISPs (Internet Service Providers), Domain Name
Registrars (GoDaddy), and other large organizations
- No fixed number of DNS servers globally, but it is a massive network of
servers operated collaboratively.
- DNS Request Cycle
1) When you type a URL into your web browser and hit enter, it gets
sent to a DNS (Domain Name Server).
2) A Domain Name Server checks if a URL exists in its list of URLs and
if so, it returns the corresponding IP address to you, the user. Your
web browser then automatically sends a request using the IP
address.
3) If not, it passes the user request on to other DNS servers in the
hierarchy, until there’s a match at which point, it sends you back
the IP address.
4) When it’s found, the URL is sent back to the original DNS server and
then the user’s web browser to make the request.
- HTTP
- A protocol for transmitting information on the WWW
- Anytime you request a webpage, you are using HTTP
- When you send a request to that web server using an IP, you do it using a
protocol called hypertext transfer protocol (HTTP).
- All this means is that information that you send to the server using an IP
address must be written and stored in a very specific way, following the
rules of HTTP.
- HTTPS
- This is a secure version of HTTP.
All data sent and received via HTTPS is encrypted.
- This encryption follows a certain standard, which can be either SSL
(Secure Sockets Layer) or TLS (Transport Layer Security).
- It uses a digital certificate, which a website needs to apply for from a
certificate authority, which will check if their website is authentic and
trustworthy.
- Your browser will check and validate this certificate before accepting data
6
from the server.
- HTTP/HTTPS Request Cycle
1) DNS resolution: Client sends a DNS (Domain Name System) request to a
DNS server, which returns the IP address of the server.
2) Connection establishment: Once the IP address of the server is known, the
client establishes a TCP (Transmission Control Protocol) connection with
the server. This is done using the Transport Layer Security (TLS) or Secure
Sockets Layer (SSL) protocol.
3) Handshake: During the connection establishment phase, the client and
server perform a TLS/SSL handshake to negotiate the encryption
algorithms and exchange cryptographic keys that will be used to secure
the communication between them. The server also sends its digital
certificate to the client during this phase.
4) Certificate verification: The client (browser) checks the digital certificate
sent by the server to verify that it is valid and issued by a trusted
certificate authority (CA). This involves checking the certificate chain,
verifying the digital signature on the certificate, and checking the validity
period of the certificate.
5) Request sending: Once the client has verified the server's digital
certificate, it sends an HTTP request to the server over the established
secure TCP connection.
6) Request processing: The server receives the request and processes it.
7) Response generation: Once the server has processed the request and
located the requested resource, it generates an HTTP response containing
the requested resource.
8) Response transmission: The server sends the HTTP response back to the
client over the established TCP connection.
9) Rendering: The client receives the HTTP response and renders the content,
typically using HTML, CSS, and JavaScript.
10) Connection termination: Once the client has received the response, the
TCP connection is closed
- Ports
- Usage Example: www.examples.com:80
- Used by a network protocol to identify a specific process or service
running on a device.
- Ports are identified by numbers ranging from 0 to 65535, and each number
is associated with a specific protocol or service.
- Port Examples:
- port 80 is commonly used for HTTP web traffic
7
- port 443 is used for HTTPS secure web traffic
- Important for allowing multiple network services to run simultaneously on
a device, each with its own unique identifier to receive data
- HTML
- used to create web pages and other types of documents that are intended for
display in a web browser
- used to structure content on web pages and provides a way to add text, images,
multimedia, links, and other types of content to a web page
- based on a set of tags that are used to indicate how content such as headings,
paragraphs, lists, tables, and forms should be displayed on the page
- Used in conjunction with CSS and Javascript
- CSS
- Used to style and format HTML documents
- Examples include layout, font and color
- Separates presentation of a website from content
- We can store css in a .css document and apply it to multiple HTML documents so
that they share the same visual styling.
- Javascript
- High-level, interpreted programming language that is used to create interactive
effects within web browsers.
- often used in conjunction with HTML and CSS to create dynamic web pages and
web applications.
- Client-side scripting language, meaning that it runs on the user's web browser
rather than the server, allowing for faster and more responsive web applications.
- Client-Side Scripting
- the process of using scripting or programming languages to add interactive or
dynamic behavior to web pages and web applications
- Client-side scripts (code) are executed in the web browser
- Examples of languages used in client-side scripts include HTML, CSS, and
Javascript
- Javascript is the most commonly used language to add interactivity
- Server-Side Scripting
- the process of using scripts or programming languages to generate web pages on
the server-side before sending them to the client (i.e., the user's web browser)
- Scripts are typically written in languages like PHP, C#, Java, Ruby, etc.
- Server-Side Script Execution Process
1) The user uses their web browser to request a web page from a web server
2) A script (some code) is executed on the server, which can access a data
on a database, manipulate that or other data, and generate some
HTML/CSS/Javascript
3) The generated output is returned to client-side to be displayed in the
user’s browser.
8
- CGI (Common Gateway Interface)
- A program that functions as an intermediary for executing server-side scripts on
web servers
- Sort of a middle-man, accepting an incoming request, executing the
corresponding script, and returning the result to the client
- Enables web servers to execute server-side scripts (in PHP, C#, etc.) to produce
dynamic content
- Largely been replaced by language-specific solutions for executing code on web
servers and returning the result to the user
- Static Web Pages vs. Dynamic Web Pages
9
- Web Paradigms
10
Practical HTML Guide
HTML Example
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,
initial-scale=1.0">
<meta name="description" content="A web page for student
information.">
<meta name="keywords" content="students, education, school">
<title>Student Information</title>
</head>
<body>
<h1>Student Information</h1>
<form>
<label for="name">Name:</label>
<input type="text" id="name" name="name"><br><br>
<label for="email">Email:</label>
<input type="email" id="email" name="email"><br><br>
<label for="major">Major:</label>
<select id="major" name="major">
<option value="Computer Science">Computer Science</option>
<option value="Engineering">Engineering</option>
<option value="Mathematics">Mathematics</option>
<option value="Business">Business</option>
<option value="English">English</option>
</select><br><br>
<input type="submit" value="Submit">
</form>
</body>
</html>
11
Explanation
12
HTML Cheat Sheet
HTML Explanation
<h1>My Website</h1> The h1 element is a heading tag that displays text
with the largest size on a webpage. The h1
element is used to indicate the primary heading or
title of a webpage.
<input type="text" name="username" The input element creates a text input field where
id="username" /> users can enter text. The type="text" attribute
specifies that this is a text input field. The name
attribute defines the name of the input field, which
can be used to identify the input value when
submitting a form. The id attribute is used to
uniquely identify the input field in the HTML
document, which can be useful for styling or
JavaScript functionality.
<input type="email" name="email" The input element creates an email input field
id="email" /> where users can enter an email address. The
type="email" attribute specifies that this is an
email input field, which can trigger email validation
in some browsers. The name and id attributes work
the same way as the text input example above.
13
<span style="color: red;">Hello, The span element is an inline HTML element used
world!</span> to group elements together for styling or
JavaScript functionality. The style attribute can be
used to add CSS styling to the span element, and
the text between the opening and closing span
tags is the content of the span element.
14
Practical PHP/mySQL Guide
Example #1
1) The user fills in the form and hits the “Submit” button.
2) All of the data in the form fields are submitted to main.php using the POST method, which
is stored on an external server.
3) The data from input elements with name=”name”, name=”email”, and name=”age”
become $_POST[“name”], $_POST[“email”], and $_POST[“age”].
4) The strings after the “echo” keyword are sent back to the browser to be displayed. For
the user, they will click the “Submit button” and then see the strings returned by
main.php.
15
Example #2
1. <?php
2. // Connect to database
3. $db_host = 'localhost';
4. $db_name = 'my_database';
5. $db_user = 'my_user';
6. $db_pass = 'my_password';
7.
8. $conn = new mysqli
9. ($db_host, $db_user, $db_pass, $db_name);
10.
11. // Check connection
12. if ($conn->connect_error) {
13. die("Connection failed: " . $conn->connect_error);
14. }
15.
16. // Retrieve form data
17. $name = $_POST['name'];
18. $email = $_POST['email'];
19. $city = $_POST['city'];
20.
21. // Insert data into database
22. $sql = "INSERT INTO my_table (name, email, city) VALUES
('$name', '$email', '$city')";
23.
24. if ($conn->query($sql) === TRUE) {
25. echo "New record created successfully";
26. } else {
27. echo "Error: " . $sql . "<br>" . $conn->error;
28. }
29.
30. // Close database connection
31. $conn->close();
32. ?>
16
Explanation
Line Explanation
1 Start of a PHP code block.
Define variables with the hostname, database name,
username, and password required for the database
3-6 connection.
Use the mysqli constructor to create a new mysqli object
and connect to the database using the credentials
8 provided.
Check if the connection was successful by checking if
$conn->connect_error is not empty. If the connection
fails, it outputs an error message and terminates the script
11-14 using the die() function.
Retrieve the data submitted through a form using the
17 POST method and assign it to the variable $name.
Retrieve the data submitted through a form using the
18 POST method and assign it to the variable $email.
Retrieve the data submitted through a form using the
19 POST method and assign it to the variable $city.
SQL query to insert data into a table named my_table,
22 specifying the columns and values to be inserted.
Use the query() method of the mysqli object to execute
the SQL query. If the query is successful, it outputs a
success message. If not, it outputs an error message and
the error details using the error property of the mysqli
24-28 object.
Close the database connection using the close() method
31 of the mysqli object.
32 End of the PHP code block.
17
Example #3
1. <?php
2. $con = mysqli_connect("library.db");
3. $result = mysqli_query($con, "SELECT * FROM Books WHERE
Author = $_POST["author"]");
4. echo "<table border='1'>
5. <tr>
6. <th>FirstName</th>
7. <th>LastName</th>
8. </tr>";
9. while ($row = mysqli_fetch_array($result))
10. {
11. echo "<tr>";
12. echo "<td>"· $row['FirstName']·"</td>";
13. echo "<td>"$row['LastName'] . "</td>";
14. echo "</tr>";
15. }
16. echo "</table>";
17. mysqli_close($con);
18. ?>
18
Explanation
Line Explanation
1 Start of a PHP code block.
Connect to the database with the name "library.db"
using the mysqli_connect() function and store the
2 connection in the variable $con.
Execute an SQL query to select all the rows from the
"Books" table where the "Author" column matches
3 the value submitted via POST method.
Output an HTML table with two columns: "FirstName"
4-8 and "LastName".
Use a while loop and the mysqli_fetch_array()
function to iterate over the rows returned by the SQL
query, and output each row as a table row with the
values of the "FirstName" and "LastName" columns
9-15 in separate table cells.
16 Close the HTML table.
Close the database connection using the
17 mysqli_close() function.
18 End of the PHP code block.
19
mySQL Cheat Sheet
20
false if there are no more
rows to retrieve. The array can
be indexed using the column
names or column indices
from the SQL query.
21
Database/SQL Guide (for PHP/mySQL)
Databases (Relational)
- Uses columns (for attributes/fields) and rows (for records)
- Records also referred to as tuples
- Tables are related to each other (using foreign keys)
- Each table has a primary key
- Tables
- Store a set of related data, each of which are called records (also called
tuples/rows).
- All of the records in each table share the same fields (also called
attributes/columns) or types of data.
- Each field has a specific data type, similar to data types in programming
- Each tables has one or more fields that are primary keys
- Tables are connected to each other through the use of foreign keys
- Primary Keys
- A field that is distinctive for each record.
- It is generally used to identify a given record in a database.
22
SQL (Structured Query Language) Cheat Sheet
23
INSERT INTO Products(ProductID, ProductName, SupplierID,
CategortID, Unit, Price)VALUES(6, ‘Garam Masala Power’, 1, 2, ‘3
boxes’, 17)
1 Chais 1 1 10 boxes 18
x 20 bags
2 Chang 1 1 24 - 12 19
oz
bottles
3 Aniseed 1 2 12 - 550 10
Syrup mL
bottles
4 Chef 2 2 48 - 6 oz 22
Anton’s jars
Cajun
Seasoning
6 Garam 1 2 3 boxes 17
Masala
Powder
24
SELECT ProductName FROM Products
ProductName
Chais
Chang
Aniseed Syrup
ProductName Price
Chais 18
Chang 19
Aniseed Syrup 10
ProductName
25
SELECT * FROM Products WHERE SupplierID <> 1
4 Chef 2 2 48 - 6 oz 22
Anton’s jars
Cajun
Seasoning
3 Aniseed 1 2 12 - 550 10
Syrup mL
bottles
4 Chef 2 2 48 - 6 oz 22
Anton’s jars
Cajun
Seasoning
26
SELECT ProductName FROM Products WHERE ProductName LIKE ‘Cha’
ProductName
Chais
Chang
SELECT ProductName FROM Products WHERE Price > 20 AND PRICE < 22
ProductName
27
Search Engines
- What is a search engine?
- a software program or online service that enables users to search for information
on the internet by entering keywords or phrases related to their search query
- use algorithms to search through vast amounts of data stored on web servers and
to present the most relevant results to the user.
- Examples: Google, Bing, DuckDuckGo
- How does a search engine work?
1) Crawling - the search engine's crawler to scan the web, following links from page
to page to collect content
2) Indexing - Once the crawler has collected the content, it is organized and stored
in a searchable index, along with information about the page, such as the title,
URL, and other metadata.
3) Ranking - When a user enters a search query, the search engine's algorithm
retrieves the most relevant pages from the index and ranks them based on a
number of factors, including the relevance of the content, the quality of the
website, the popularity of the page, and other factors.
4) Deliver Results - The search engine returns a list of results based on the user's
search query, with the most relevant pages appearing at the top of the list.
5) Refinement - Users can refine their search results using a variety of tools,
including filters, sorting, and advanced search options.
- Search Engine Metrics
- Relevance - the relevance of a web page to the user's query, taking into account
factors such as the title tag, headings, content, and meta descriptions.
- Authority - the number and quality of links pointing to it. Pages with more
high-quality links are generally considered to be more authoritative.
- User experience - factors such as page load time, mobile-friendliness, and ease of
navigation to determine the user experience of a web page.
- Freshness - more recently updated pages are often given a higher ranking.
- Engagement - how users engage with a web page, taking into account factors
such as click-through rate, bounce rate, and time spent on the page. Pages with
high engagement are generally considered to be more valuable to users and are
given a higher ranking.
- Metatags - HTML tags that provide information about a web page to search engines and
other applications that may access the page.
- Typically placed in the head section of an HTML document and provides
information such as the page's title, description, keywords, author, and encoding.
- help search engines and other web services to identify and categorize the
contents of a webpage
- Surface Web - Refers to content accessible by standard search engines
28
- Includes publicly available content viewable in web browsers
- Majority of content exists in the deep web
- Deep Web - Refers to parts of the web not indexed by standard search engines
- Includes private networks, dynamically generated content, non-public databases,
etc.
- Includes password-protected pages
- Includes pages with no incoming links
- Dark Web - A subset of the deep web intentionally hidden from search engines
- Requires specialized software like TOR, a web browser designed to ensure
anonymity to access
- Typically associated with illicit activity
- Search Algorithms
- Inlinks - links from other web pages to web page being ranked
- Outlinks - links from web page being ranked to other web pages
- PageRank Algorithm
- Analyzes links between web pages to rank relevant web pages in terms of
importance
- A web page is considered more credible if other pages link to it
- Each web page assigned a score between 0 and 1 based on quality and
quality of incoming links
- Considerations
- Quantity of inlinks
- Quality (rank) of inlinks
- Relevance of inlinks
- Factors Determining Value of an Inlink
- PageRank score of the inlink’s web page
- Number of outlinks from the inlink’s web page (fewer outlinks
means higher value)
- HITS (Hyperlink-Induced Topic Search) Algorithm
- Identifies a set of web pages relevant to the user query
- Gives each web page an authority score based on the number and
quality of incoming links (Assesses important as a source of
information on the query topic)
- Gives each web page a hub score based on the number and quality
of outgoing links (based on the pages it is linking to)
- Combines authority and hub score to generate a combined score
for each web page
- Ranks web pages based on this score
- Considerations
- authority score - number and quality of incoming links
(inlinks)
- hub score - number and quality of outgoing links (outlinks)
29
- SEO (Search Engine Optimization) - The practice of optimizing websites
and their content to rank higher in search engine results pages (SERPs) for
relevant keywords and phrases.
- White Hat SEO - ethical and legitimate techniques used to improve
a website's search engine ranking
- Black Hat SEO - the use of unethical or deceptive techniques to
improve a website's search engine ranking
- White Hat SEO Techniques
- Keyword optimization - Using relevant keywords throughout
a web page's content, including headings, meta tags, and
descriptions
- Content creation - Creating high-quality, informative, and
engaging content
- Link building - Building high-quality backlinks from
reputable sources
- Site structure optimization - Optimizing a website's
structure, including navigation, sitemap, and URL structure,
can help search engines crawl and index a website more
efficiently
- Mobile optimization - optimizing a website for mobile can
improve user experience and lead to higher search
rankings, as search engines prioritize mobile-friendly sites.
- Black Hat SEO Techniques
- Cloaking - presenting different content or URLs to users
and search engines in order to manipulate search rankings.
- Keyword stuffing - using excessive amounts of keywords or
phrases on a page in order to manipulate search rankings.
- Hidden text or links - hiding text or links on a page that are
only visible to search engines, not users, in order to
manipulate search rankings.
- Link farming - creating artificial links to a website in order
to manipulate search rankings.
30
Computing Paradigms
- Grid Computing - involves sharing computing resources across multiple networks to
achieve a common goal
- Networks can be located in different geographical locations and connected by
various types of communication technologies.
- Typically used by organizations with high-performance computing needs, such as
government agencies, universities, and research institutions
31
- Ubiquitous Computing - refers to the concept of integrating computer technology
seamlessly into everyday life through various devices and sensors
- Examples: mobile devices, wearable computers, smart homes, and the Internet of
Things (IoT)
- P2P Computing - Each computer in a P2P network acts as both a client and a server, and
can request and provide resources to other computers in the network
32
- Cloud Computing
- Refers to the delivery of computing resources over the internet, on a pay-per-use
basis.
- Involves the use of remote servers to store, manage, and process data, rather
than relying on local hardware and software.
- Users can access cloud services from anywhere with an internet connection,
using a web browser or mobile app.
33
- Interoperability - refers to the ability of different systems, applications, devices, and
services to work together seamlessly
- Standard - specifies a set of requirements, specifications, or guidelines that must be
followed in order to achieve a certain level of quality or compatibility between devices
- Protocol - set of rules or guidelines that define how devices or systems communicate
- Standards vs. Protocols Example - standard might specify the physical characteristics of a
network, such as the types of cables and connectors that can be used, while a network
might define how devices on the network should encode and transmit data
- Open Standards - publicly available specification for a specified task
- Agreed set of rules or methods that allow interoperability between different
devices
- Examples: HTML, CSS, XML
- Benefits
- Interoperability - Various devices can communicate with each other
- Encourages Innovation - no fees to make your devices compatible with
others, which means that more people can create new and unique,
compatible devices
- Longevity - Open standards typically developed and maintained by a large,
diverse community - means they are likely to be used for a long time
- Security - because the standards are open, more people can analyze them
and make recommendations to make software better and more secure
- Creative Commons License - Allows others to use and share the work without seeking
explicit permission, as long as they follow the terms of the license
34
Web Graphs (HL)
- Web Graphs (Directed Graphs) - web pages as nodes and hyperlinks as edges (arrows)
between the nodes
- Bowtie Model - directed graph variant used to model the relationships between websites
based on inlinks and outlinks
35
Intelligence Paradigms (HL)
- Ambient Intelligence - refers to the integration of technology in the environment to
create smart spaces that can interact with humans in a natural and intuitive way.
- a computing paradigm that relies on a combination of sensing technologies,
intelligent algorithms, and human-computer interaction techniques to create an
environment that can perceive, reason, and act autonomously
- involves the use of sensors, wireless networks, and other technologies to create
smart environments that can monitor and respond to changes in the user's
environment, such as their location, activities, and social context
- Example: a smart home system that uses sensors, machine learning algorithms,
and other technologies to adjust lighting, temperature, and other environmental
factors based on user behavior and preferences
- Collective Intelligence - refers to the ability of a group of individuals to collaborate and
pool their knowledge, skills, and experiences to solve problems, make decisions, or create
new ideas
- can be facilitated by technology, such as social media platforms, wikis, or
crowdsourcing tools, which allow groups to share and collaborate on information
in real-time
- Example: Wikipedia
36