[go: up one dir, main page]

0% found this document useful (0 votes)
74 views262 pages

INFO100 Notes

The document discusses the history and development of information technology. It covers topics like binary systems, algorithms, programming, punch cards, transistors, integrated circuits, and how they enabled modern computing. It also discusses data, information, and knowledge models and defines information.

Uploaded by

g
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
74 views262 pages

INFO100 Notes

The document discusses the history and development of information technology. It covers topics like binary systems, algorithms, programming, punch cards, transistors, integrated circuits, and how they enabled modern computing. It also discusses data, information, and knowledge models and defines information.

Uploaded by

g
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 262

INFO100: Lecture 1: Information

and communication technology


Agenda
•Definition of the information
•Development of information technology
•Decimal vs. binary system
•Algorithms and programs
•ICT Technology

What is Information and Information


Technology?
•Information, in a general sense, is processed, organised and
structured data. It provides context for data and enables
decision making.
•Information technology (IT) is the use of computers to
create, process, store, and exchange all kinds of electronic
data[1] and information. IT is typically used within the context
of business operations as opposed to personal or
entertainment technologies.
•Information and Communication Technology (ICT) is the
part of IT that is based on communication between people.

Typical lifecycle of information


Digitizing Information
• The dictionary definition of digitize is to represent
information in digital form.
• Digit means the ten Arabic numerals 0 through 9
• Digitizing also means representing information by
symbols

Binary System
• PandA is the name used for two fundamental
patterns of digital information:
– Presence
– Absence
• The PandA definition
– mnemonic for “Presence and Absence”

Binary Systems
• The presence or absence can be viewed as “true” or “false”
• Such a formulation is said to be discrete
• Discrete means “distinct” or “separable”
• The PandA encoding has two patterns: present and absent
• The two possible alternatives make PandA observations a binary
system

•Computers use base-2 to represent numbers,


also known as the binary number system
•when counting in binary you are limited to only
use 0 and 1
•0, 1, 10, 11, 100, 101, 110, 111, 1000, ...
The 10-base and binary number systems

Place value in a binary number


Decoding the binary representation of
100101

How to convert a decimal number into a binary


number?
•Step 1: Divide the decimal number by 2 and record the reminder.
•Step 2: As long as the quotient obtained is not zero, continue to
divide the newest quotient by 2 and record the reminder.
•Step 3: If a quotient of zero is obtained, the binary representation
of the original decimal number consists of the reminders listed
(recent to oldest) in the order they were recorded.

Introducing machines to create & read digital


information
• Data represented as numbers was a breakthrough as machines
could read digital information
• Census data card (1890): Herman Hollerith invented a machine to
tabulate data based on holes punched in cards.
• He is creadited with the first production application of digital
information.
IBM digitizes the punch card
• Herman Hollerith: founder of IBM in 1924
• Punch cards digitized the process (not a computer, a
card reader). It can perform information-processing
activities.

Punching cards
• A punch card is moved toward the left by a metal roller
• Above the roller is a bundle of metal wires called brush.
• When the hole moves over the roller, the brush pokes through
the hole and touches the roller, making an electrical connection.
• Once the machine senses the presence of the hole it passes
the signal on to another part of the machine for further
processing.

Tabulating machines
• Tabulating machines were electro-mechanical devices.
• They were all hardware built out of wires, rollers, and motors.
• To change the operations that the machine performed required it to
be rewired.
• Main problem: Only very simple operations were possible when the
«program» was expressed using wires.

•Cryptography – the science of encrypting and decrypting messages into


cipher text
•Encryption – converting plain text into cipher text
•Decryption – converting cipher text into plain text
•Plain text – the original message that you can ready normally
•Cipher text – the secret message that you cannot read normally
•Key – the settings used to encrypt and decrypt

•Number of keys in Enigma machine:


158,962,555,217,826,360,000

Turing machine
A Turing machine is a mathematical model of computation that
defines an abstract machine that manipulates symbols on a strip of
tape according to a table of rules. Despite the model's simplicity,
given any computer algorithm, a Turing machine capable of
simulating that algorithm's logic can be constructed.
The machine operates on an infinite memory tape divided into
discrete "cells.
[Wikipedia]

https://www.youtube.com/watch".?v=Hb44bGY2KdU

Initiating computing machines


•On computable numbers with an application to the
Entscheidungs Problem
•A single machine which can be used to compute any
computable sequence.
•Consists of:
• A tape
• An finite alphabet of symbols
• A set of states
• A read/write head which can move along the tape.

Introducing concepts of storage


As We May Think, Atlantic magazine, 1945
A memex is a device in which an individual stores all his
books, records, and communicates, and which is mechanized
so that it may be consulted with exceeding speed and
flexibility. It is an enlarged intimate supplement to his
memory.

EINAC: Electronic Numerical Integrator


and Calculator
•ENIAC (1946). The Electronic Numerical
Integrator and Calculator.
• Weight: 30 tons
• Contains 17,000+ vacuum tubes

From tubes to transistors


•low power, less heat
•extremely reliable
•small in size and weight
•the problem: lots of assembly required

Nobel Prize for the semiconductor


transistor
•In 1956, the three Bell Labs scientists
– John Bardeen, Walter Brattain, and William
Shockley –
received the Nobel Prize for their 1947 invention
of the semiconductor transistor

Integrated Circuits
• The problem of efficiently assembling computers out of
transistors, capacitors, and wires was solved by
integration.
• Integrated circuits (ICs) are chips made of silicon and
closely related to elements in which both active parts
like transistors and connective parts like wires are
fabricated together in a multistep process.

Enabling technology
An enabling technology is an invention or innovation that can be
applied to drive radical change in the capabilities of a user or
culture. [Wikipedia]
Software: putting programs into machines
(computers)
•Software is a collective term for programs
•Software “instructs” the computer (hardware), by providing
the steps needed to perform a task
•The computer follows the program and carries out the
instructions

Algorithms
An algorithm is a precise, systematic method for
producing a specified result. We use and invent
algorithms all the time to solve our problems
Five must have properties
For a process to be an algorithm, it must have the five
properties:
1. Input specified means to say what the computation is given
as data
2. Output specified means to say what the computation will
produce as a result
3. Definite means the whole process is spelled out
unambiguously
4. Effective means it is within the abilities of the agent
following
the instructions.
5. Finite means the agent will eventually finish the
computation,
giving the right answer, or stop and report that none is
possible.

Algorithm example (Find ’20’)


•Finding an item ‘e’ in a list, such as finding a specific number from a list.
The process has five steps:
•Input: A list containing one or more items, and an item e
•Output: A report that will be either “Yes, e found” or “e Not found”
1. Point to the first item in the list
2. if you do not point to any thing, answer "no" (and end)
3. if you point to e, answer "Yes" (and end)
4. move your finger to the next item 1
5. proceed from step 2
Algorithms vs. Programs
PROGRAMS
• Programs are algorithms that have been specialized to a
specific set of conditions and assumptions, and (usually)
written in a specific programming language
• In most cases, we use the terms interchangeably
ALGORITHMS
• Computers need to be told what to do
• For a method to be precise enough for a computer to follow,
everything needs to be spelled out
• Programmers make algorithms perfectly precise for
computers by writing them in a programming language

Algorithms using flowcharts


Algorithms are generally more abstract than programs:
► Design algorithms to communicate and reason
► Implement programs to instruct computers

Information and Communication


Technologies (ICT)
•Information and Communication Technologies (ICTs) is
a broader term for Information Technology (IT), which
refers to all communication technologies, including:
• the internet, wireless networks, cell phones,
•computers, software, middleware,
•video-conferencing, social networking,
•other media applications and services enabling users to
access, retrieve, store, transmit, and manipulate
information in a digital form.

ICT in business
The role of ICT in the development of business architecture is
important due to its vast and limitless applicability.
Many enterprises are highly dependent on ICT applications
and their business benefits generated from ICT applications.

Information sphere
•Since the 1950s, computer science and ICTs have
exercised both an extrovert and introvert influence,
changing not only our interactions with the world but
also our self-understanding.
•In many respects we are not standalone entities, but
rather interconnected informational organisms or inforgs,
sharing with biological agents and engineered artefacts
a global environment ultimately made of information, the
infosphere.
Floridi [8-14]
INFO100: Data, Information, Knowledge

Data, Information, and Knowledge (DIK)


Models

The General Definition of information


(GDI)
GDI) σ is an instance of information, understood as
semantic content,
if and only if:
GDI.1) σ consists of n data, for n ≥ 1;
GDI.2) the data are well formed;
GDI.3) the well-formed data are meaningful.
[Floridi s.21]

GD1: Information is made of data


GDI.2: The data are well formed
‘well formed’ means that the data are rightly put together
accordingly to the rules (syntax) that governs the chosen
system, code, or language being used.
GDI.3: The well-formed data are
meaningful.
•‘Meaningful’ means that the data must comply with the
meanings (semantics) of the chosen system, code, or
language in question.

A map of information concepts

Understand the fundamental nature of


data
x being distinct from y, where x and y are two
uninterpreted
variables and the relation of ‘being distinct’, as well as
the
domain, are left open to further interpretation.
Can be applied in three main ways
(1) Lacks of uniformity in the real world.
(1) Examples: A red light against a dark background.
(2) Lacks of uniformity between two
physical states of a system or signals.

(3) Lacks of uniformity between two symbols.

Digital and analogue data [Floridi pp. 25]


•Digital, Discrete

•Analogue, Continues
Analogue data and systems
How do analogue computers perform calculations?
Analogue computers perform calculations through the
interaction of continuously varying physical phenomenoa.
“Karakuri puppets” for serving tee, they move forward when they sensor they
weigh of tee cup; when cup is lifted, they go back.

Analogue Data and Systems [Floridi pp 26]


Examples of old analogue systems
Digital or discrete information systems
•Digital or discrete information systems have finite number of
states.
•Example of a discrete state machine: Coffee vending machine

Digital Computers
Computers are usually seen as digital or discrete information
systems.

Analogue Computers
•Given their physical nature, analogue computers
operate in real time (i.e., time corresponding to time in
the real world) and therefore can be used to monitor and
control events as they happen
•1:1 relation between the time of the event and the time
of computation.

Digitizing data
What information do we need to digitize?
- Numbers
- Text
- Image
- Sound
- Video recordings
Color and the light

LCD Display Technology


Adding color to image

AI colorization applied on restoring old black and white video:


https://www.youtube.com/watch?v=YGSMJWZYViM

Digitizing sound
• An object creates sound by vibrating in a medium
(such
as air)
• Vibrations push the air causing pressure waves to
emanate from the object, which in turn vibrate our
eardrums
• Vibrations are then transmitted by three tiny bones to
the
fine hairs of our cochlea, stimulating nerves that allow us
to sense the waves and “hear” them as sound
How do we represent analogue signals?

Digitizing sound
• To digitize means, convert to bits
• For a sound wave, binary numbers are used to record
the amount that the wave is above or below the 0
line at a given point on the graph
• At what point do you measure?
– There are infinitely many points along the line, too many
to record every position of the wave
– Solution: sampling

Sampling
Binary Arithmetic
• We can store two different values in 1 bit: 0 or 1.
• In general, in n bits, we can store 2n different values.
• So with 4 bits, we can store 16 values - 0 to 15, but
there are no negative values.

What must be represented in English


language?
–26 uppercase,
–26 lowercase letters,
–10 numerals,
–20 punctuation characters,
–10 useful arithmetic characters,
– 3 other characters (new line, tab, and backspace)
95 symbols is enough for English.

How many bits we need?


• To represent 95 distinct symbols, we need 7 bits
– 6 bits gives only 2^6 = 64 symbols
– 7 bits give 2^7 = 128 symbols
• 128 symbols is ample for the 95 different characters
needed for English characters
• Some additional characters must also be represented
Introducing standard coding
• ASCII stands for American Standard Code for
Information Interchange
• ASCII is a widely used 7-bit (2^7) code
• Advantages of a “standard”:
– Computer parts built by different manufacturers can be
connected
– Programs can create data and store it so that other
programs can process it later, and so forth

ASCII standard
•Unicode
Transformation Format (UTF)
•UTF-8 : from 1 to 6 bytes, consistent with ASCII,
most commonly use
Quantities of bytes
Primary and Secondary Data
PRIMARY
These are the principal data stored in a database, for example:

• A simple array of numbers in a spreadsheet.


• A string of zeros and ones.
•These are the data an information-management system is generally
designed to convey to the user in the first place, in the form of information.

SECONDARY
Secondary data are the converse of primary data, constituted by their
absence.
For example:
• John tried to stat the engine of his car but the engine did not make any
noise. So he suspected that the battery is flat.
• In Silver Blaze, Sherlock Holmes solves the case by noting the unusual
silence of the dog.
Meta Data: Data about Data
•These are indications about the nature of some other (usually primary)
data.
•Metainformation is information about the nature of information.
•For example: MIME (Multipurpose Internet Mail Extensions) Type
information is a standard that indicates the nature and format of a
document or file.
–'text/plain': This is the default for textual files.
–'text/html' : All HTML content should be served with this type.
–'image/jpeg' : JPEG images.
•Example: The copyright note on a car's operation manual.

Operational Data
Derivate Data
•Data that can be extracted from some data as indirect
sources in search of patterns, clues, or inferential evidence
about other things than those directly addressed by the data
themselves.
•Example:
–The use of Credit card information could be used to derive
information of the whereabouts of the user.
–Bank data
–Social media data (extracted)

Environmental information
On Knowledge [Floridi]
The classic definition:
•Knowledge is well-founded and correct beliefs
("Well-justified true belief")
•The simplest form of knowledge is a direct fact.
•Epistemology is the (philosophical) study of knowledge

Types of knowledge:
•explicit and implicit ("silent")
•internalized (personalized) and externalized
•descriptive ("knowing that ...") and procedural ("knowing how
...")
•individual and collective

Individual vs. Collective Knowledge


Individual knowledge view:
•focus on individual /
cognition
•objective concepts and
facts
•transmission through text
•reuse of knowledge
•capture and storage
knowledge
•technology is critical
•knowledge as individual
resource
Collective view of knowledge:
•focus on community
•experience in social context
•transmission in social
networks
•awareness of sources sharing
•knowledge trust is critical
•knowledge as a collective
social process

How do we measure information?


The Shannon information can be interpreted as quantifying
the level of "surprise" of a particular outcome.
It also appears in several other settings, such as the length of
a message needed to transmit the event given an optimal
source coding of the random variable.

Claude Shannon: A Mathematical Theory of


Communication
Logical Information Theory

Communication model

Communication model (applied)


….

What is HTML?
•HyperText Markup Language (HTML), is the language used to create Web
pages
•Using HTML, you can create a Web page with text, graphics, sound, and
video
•HTML tags are keywords surrounded with angle brackets like <html>
•A tag is a keyword enclosed by angle brackets ( Example: <i> )
Structure of a webpage
•All Web pages share a common structure
•All Web pages should contain a pair of <HTML>, <HEAD>, <TITLE>, and
<BODY> tags

Implementation
•Where we write code?
–We write HTML code using text editor e.g., Sublime Text, Notepad++,
Wordpad, etc.
–There exists HTML editors such as Jetbrains Webstorm:
–https://www.jetbrains.com/webstorm/

Where we execute/run the code?


We use web browser such as internet-explorer, mozilla firefox, google chrome,
safari to open a html document.

Text formatting tags


•<B> Bold Face </B>
•<I> Italics </I>
•<U> Underline </U>
•<P> New Paragraph </P>
•<BR> Next Line
Live demo:
https://www.tutorialspoint.com/html/html_formatting.htm

Text formatting tags


•The expression <FONT FACE = “fontname”> ... </FONT> can be used to change the
font of the enclosed text

Example:
<font face = "Times New Roman" >Times New Roman</font>
•To change the size of text use the expression <FONT SIZE=n> ....
</FONT> where n is a number between 1 and 7

Example:
<font size = "1">SmallText</font>

Live demo:
https://www.tutorialspoint.com/html/html_fonts.htm
https://www.tutorialspoint.com/online_html_editor.php

Text formatting tags


•To change the color, use
<FONT COLOR=“red”>.... </FONT>;
The color can also be defined using
hexadecimal representation ( Example: #ffffff )
•These attributes can be combined to change the font, size, and color of
the text all at once;
•Example: <FONT SIZE=4 FACE=“Courier” COLOR=“red”> .... </FONT>

Headings
•Web pages are typically organized into sections with headings;
•To create a heading use the expression <Hn>....</Hn> where n is a
number between 1 and 7
•In this case, the 1 corresponds to the largest size heading while the 7
corresponds to the smallest size

Aligning text
•The ALIGN attribute can be inserted in the <P> and <Hn> tags to right
justify, center, or left justify the text
•For example, <H1 ALIGN=CENTER> The New York Times </H1> would
create a centered heading of the largest size

Comment statement
•Comment statements are notes in the HTML code that explain the
important features of the code
•The comments do not appear on the Web page itself but are a useful
reference to the author of the page and other programmers
•To create a comment statement, use the <!-- .... --> tags

Page formatting
To define the background color, use the BGCOLOR attribute in the
<BODY> tag
To define the text color, use the TEXT attribute in the <BODY> tag

<BODY BGCOLOR=“black”
TEXT=“white”>
This is where you would include the text and images on your Web
page.
</BODY>

Inserting images
•Type <IMG SRC = “image.ext”>, where image.ext indicates the location of
the image file
•The WIDTH=n and HEIGHT=n attributes can be used to adjust the
size of an image
•The attribute BORDER=n can be used to add a border n pixels thick
around the image

Alternate text
•Some browsers don’t support images. In this case, the ALT attribute can
be used to create text that appears instead of the image.

•Example:
<IMG SRC=“satellite.jpg” ALT = “Picture of satellite”>

Hyperlinks
A link lets you move from one page to another, play movies and sound,
send email, download files, and more....

A link has three parts: a destination, a label,


and a target
To create a link type
<A HREF=“page.html”> label </A>

In the above link, “page.html” is the destination. The destination specifies


the address of the Web page or file the user will access when he/she clicks
on the link.

The label is the text that appears underlined or highlighted on the page

Ordered list
•Ordered lists are a list of numbered
items.
•To create an ordered list, type:
<OL>
<LI> This is step one.
<LI> This is step two.
<LI> This is step three.
</OL>

Creating table
<TABLE BORDER=10>
<TR>
<TD>One</TD>
<TD>Two</TD>
</TR>
<TR>
<TD>Three</TD>
<TD>Four</TD>
</TR>
</TABLE>
INFO100: Computers
Agenda
•Computers:
•Subsystems
–Control, ALU, Memory, Input, Output
•Units
–Processor, Operating System(s), SW, Instructions
–Fetch/Execute Cycle, Memory, HW
•Computations
•Programming computers
•CSS

All computers, regardless of their implementing


technology, have five basic parts or subsystems:

FIVE Principal Subsystems of Computer


First Programmers & Inventors
ENIAC 1946

IBM 305 RAMAC (1956)


Random Access Method of Accounting and Control (RAMAC)

Memory Unit: Secondary Storage


•Hard disk drive uses magnetic recording to
store and retrieve data.
•Pros: Permanent storage Can store a lot of
information.
•Cons: Operation (seek) time is high.

Random Access Memory (RAM)


•By the term ‘computer memory’ we refer to ‘Random Access
Memory (RAM)’.

•The modifier ‘random access’ means that the computer can refer to
the memory locations in any order.

•RAM is much faster in accessing data compare to hard disk drive.


RAM is made up of small memory chips.

•RAM is considered as volatile memory, which means that the


stored information is lost when it is disconnected from the power
source.

RAM Structure
•Memory stores both the program while it is running and the data on
which the program operates.

•Memory is organized as a sequence of discrete locations.

•In modern memory, each location is composed of 1 byte (8 bits).

RAM Properties
•Addresses: Every memory location has an address.
•Values: Memory locations record or store values.
•Finite capacity: Memory locations have a finite capacity (limited
size).
•Byte-Size Memory Location: Discrete locations are shown as
boxes holding 1-byte each.
•That 1-byte memory location can store one ASCII character or a
number less than 256.
•Blocks of four bytes are used as a unit so often that they are called
memory words.
Control Processing Unit (CPU) [Snyder, pp.260-
264]
•“Instruction Execution Engine”:
–a machine that cycles through a series of operations
•Series is called: Fetch/Execute Cycle
–Get the next instruction
–Figure out what to do
–Gathering the data needed to do it
–Do it
–Save the result, and
–Repeat (billions of times/second)

CPU Properties
• The control unit of a computer is where the
Fetch/Execute Cycle occurs
• Its circuitry fetches an instruction from memory and
performs the other operations of the Fetch/Execute
Cycle on it
• A typical machine instruction has the form ADD 4000,
2000, 2080

CPU Operations
• The step names suggest the operations described as
Fetch/Execute Cycle
• These operations are repeated in a never-ending sequence
Example: Instruction Fetch (IF)
Example: Instruction Fetch (IF)

A Machine Instruction
Instruction ‘ADD’
ADD 4000, 2000, 2080•Looks like those three numbers
should be added together

•What it really means is that whatever numbers are


stored in memory locations 2000 and 2080 be added
together, and the result be stored in location 4000

Arithmetic Logic Unit (ALU)


The Peripheral Units
Input and Output Units

Hard Drive

Instruction Execution (EX)


Machine Instructions

Instruction Fetch (IF)


Instruction Decode (ID)

Data Fetch (DF)


Return Results (RR)
The Program Counter: The PC's PC [Snyder,
pp.266]
•The computer gets ready to process the next instruction
•It assumes that the next instruction is the next instruction in
sequence
•Because instructions use 4 bytes of memory, the next
instruction must be at the memory address PC + 4 or 4 bytes
further along the sequence

Branch and Jump Instructions


•Not all instructions are in a strict sequence
•The instruction may include a memory location
(address) to go to next
•This changes the PC, so instead of going to PC+4
automatically, the computer "jumps" or "branches" to the
specified location to continue execution

The computer clock


One cycle per clock tick [Snyder, pp.270-271]

Pipelining: Completing the Instructions


•They pass off completing the instruction to other circuitry
•This process is called pipelining and frees the fetch unit to
start the next instruction before the last one is done
•It is not quite true that 1,000 instructions are executed in
1,000 ticks
Assembly Language
•Primitive programming language
•Uses words instead of 0s and 1s
•ADD Opacity, TwoCths, Opacity
•To convert source code into assembly code, the source
code needs to be compiled
•Every programming language has its own compiler

Assembly Language

Programming Languages
•Most modern software is written in a high-level programming
language
•High-level languages are compiled (translated) into assembly
language, which is then assembled into binary
•These languages are preferred because they have special
statement forms that help programmers describe the complicated
tasks they want done
•Most modern software is written in a high-level programming
language
•High-level languages are compiled (translated) into assembly
language, which is then assembled into binary
•These languages are preferred because they have special
statement forms that help programmers describe the complicated
tasks they want done

Super Computers
•Ken Jennings (left), supercomputer Watson (center), Brad Rutter (right).
•IBM Watson wins Jeopardy in 2011.

Quantum Computing
•Binary data are encoded, stored, and processed by allowing each bit to be only in one fully determined,
definite state at a time.
•Quantum states of atomic particles can be used to store data in a definable but still undetermined quantum
superposition of two states at the same time.
•The result of such a superposition of states is known as a qubit (quantum bit).
•A qubit is actually in both the 0-state and the 1-state simultaneously, although possibly to different
extents.
•A quantum computer (QC) handles qubits, and this is why, if it could be built, it would be extraordinarily
powerful.
•Take a 3-qubit register QC for example, with some simplifications we can load the quantum register to represent
2^3 states simulteneously. It allows us to generate a state containing 2^3 possible states.
•A single QC can then perform 8 operations at once, sifting through all the qubit patters simultaneously.
This is known as quantum parallelism.
•A QC can explore all possible solutions of the problem in one step.
•The larger its register, the more exponentially powerful a QC becomes, and a QC with a register of 64 qubits
could outsmart any network of supercomputers.

Managing Data on the World Wide Web


•Behavior
•Style
•Structure
What is CSS?
•CSS is a style sheet language used for describing the presentation of a
document written in a markup language like HTML.
•Simply speaking CSS are rules.
•They were established by the World Wide Web Consortium (W3C).
•CSS rules control the look (Style) of web pages or XML files by providing
central locations (Sheets) where HTML or XML tags are interpreted by the
browser.
Each rule consists of a selector and a declaration (which, in turn, is made up of a
property and a value).
INFO100: Computers
Agenda
•Algorithmic Thinking
•Essential Properties of Algorithms
•Examples of Algorithms:
•Sorting
• Algorithmic Complexity
•Programming Paradigms
• Object oriented Programming

Algorithms
• What’s an algorithm?
– An algorithm is a precise, systematic method for
producing a specified result
• We use and invent algorithms all the time to
solve our problems

Programs
• Computers need to be told what to do
• For a method to be precise enough for a computer to follow, everything needs to be
spelled out
• Programmers make algorithms perfectly precise for computers by writing them in a
programming language
Five Properties of an Algorithm
1. Input specified: The input is the data to be transformed during the
computation to produce the output.
2. Output specified: The output is the data resulting from the computation,
the intended result.
3. Definiteness: Algorithms must specify every step and the order to
perform them.
4. Effectiveness: It must be possible for the agent to execute the algorithm
mechanically.
5. Finiteness: An algorithm must have finiteness; it must eventually stop,
either with the right output or with a statement that no solution is possible.

Basic Flowchart Symbols and Meaning


If - Else Condition, While Loop
Flowchart: Printing Example
A flowchart is the graphical representation of an algorithm which uses
various symbols and arrows to specify how a problem can be solved by an
agent.
Pseudocode
•Pseudocode is an informal language that helps programmers
develop algorithms.
•Pseudocode is a "text-based" detail of the steps of an algorithm.

Sorting Algorithms

Select Sort Algorithm


Merge Sort Algorithm
Complexity of Algorithms
•Also called complexity or running time.
•Algorithmic complexity is a measure of how long an
algorithm would take to complete (executed) given an input of
size n.
•If an algorithm has to scale, it should compute the result
within a finite and practical time bound even for large values
of n.
•For this reason, complexity is calculated asymptotically as n
approaches infinity.
Why is the Complexity Important?
•Analysis of an algorithm's complexity is helpful when
comparing algorithms or seeking improvements. Algorithmic
complexity falls within a branch of theoretical computer
science called computational complexity theory.
•It's important to note that we're concerned about the order of
an algorithm's complexity, not the actual execution time in
terms of milliseconds.
•While complexity is usually in terms of time, sometimes
complexity is also analyzed in terms of space, which
translates to the algorithm's memory requirements.

Algorithm Types
•Algorithms are developed to solve a class of problems.
With adjustments they can be used on different data sets.

Big-O notation of algorithmic complexity


Big-O notation: the order of growth
•The notation tells clearly how the algorithm scales when
input size increases: this is often called the order of
growth.
Constant runtime is represented by O(1)O(1);
•linear growth is O(n)O(n);
•logarithmic growth is O(logn)O(logn);
•log-linear growth is O(nlogn)O(nlogn);
•quadratic growth is O(n2)O(n2);
•exponential growth is O(2n)O(2n);
•factorial growth is O(n!)O(n!).

Examples
•Suppose you are given an unsorted list and asked to
find all duplicates, then the complexity becomes
quadratic.
–Checking for duplicates for one item is of linear
complexity. If we do this for all items, complexity
becomes quadratic.
•Similarly, if all people in a room are asked to shake
hands with every other person, the complexity is
quadratic.

Algorithmic Complexity Related to Data


Structures:
Complexity of Operations

Overview of Complexity of Sorting


Algorithms
https://www.toptal.com/developers/sorting-algorithms

Algoritms and Data Structures

Algorithmic Complexity Related to Data


Structures: Complexity of Operations
Assembly Language
•Comprised of 1s and 0s
•The “native” language of a computer
•Difficult to program – one misplaced 1 or 0 will cause the
program to fail.
•Example of code:
1110100010101
111010101110
10111010110100
10100011110111

Assembly Language
•Assembly languages are a step towards easierprogramming.
•Assembly languages are comprised of a set of elemental
commands which are tied to a specific processor.
•Assembly language code needs to be translated to machine
language before the computer processes it.
•Example:
ADD 4000, 2000, 2080

High-Level Languages
•High-level languages are easier to understand for human.
•The syntax of high-level languages is similar to English language.
Structure of Compiler
The Compilation Process

Parser as a Part of Compiler


•A parser is a compiler or interpreter component that breaks data into
smaller elements for easy translation into another language.
•In formal language theory, a Context-Free Grammar (CFG) is a
certain type of formal grammar that describe all possible strings in a
given formal language.
First computer programmers:
a set of instructions for the analytical
engine

Structured Programming
•Structured programming is a disciplined approach to programming.

•Structured programming is a disciplined approach to programming.

Top-down Design
•A program is divided into a main module and its related
submodules, so that program become easy to
understand.
Stepwise Refinement

A Structured Program
A Structured Program

A Sub-program
Declarative Programming
•In declarative programming paradigm, we emphasizes the concept
of what to do rather than how to do it.
–Example: Finding data from a database table with SQL.
•SELECT * FROM Users database WHERE city = ’Sacramento’;

Declarative programming: Logic


programming
In Logic programming:
•We define facts and rules and give this to the logic program
•Ask it what we want to know
•It will look and reason, using available facts and rules, and then
tells us an answer (or answers).
uib.no

Object oriented Programming (OOP)


•The focus of OOP languages is not on structure, but on modeling
data.
•Programmer's code using “blueprints” of data models called
classes.
•Examples of OOP languages include Simula, C++, Visual
Basic.NET, Java and many others

Classes and Objects


Class
A class provides a definition for an object, describing an object’s
attributes (data) and methods (operations).
uib.no

Object is created from the class


An object is an instance of a class. With one class, you can have as

many objects as required.

Classes and Objects


• A class is a data type that allows programmers to create objects.
• A class provides a s an instance of a class. With definition for an
object, describing an object’s attributes (data) and methods
(operations).
• An object in one class, you can have as many objects as required.
• This is analogous to a variable and a data type, the class is the
data type and the object is the variable.

Classes and
Objects
•A class is a data type that allows programmers to create objects. A class provides a definition for an
object, describing an object’s attributes (data) and methods (operations).
•An object is an instance of a class. With one class, you can have as many objects as required.
•This is analogous to a variable and a data type, the class is the data type and the object is the variable.
OOP-
Encapsulation
• Wrapping code and data together into a single unit.
• Incorporation into a class of data & operations in one unit (e.g., class/package)
• It is a way to achieve “Information Hiding”
• Encapsulation makes our programming code
• maintainable,
• extensible and
• flexible.

OOP:
Inheritance
• Allows programmers to create new classes based on an existing class
• Methods and attributes from the parent class are inherited by the newly-created
class
• New methods and attributes can be created in the new class, but don’t affect the parent
class’s definition

OOP: Inheritance
•Allows programmers to create new classes based on an
existing class
•Methods and attributes from the parent class are inherited by
the newly-created class
•New methods and attributes can be created in the new
class, but don’t affect the parent class’s definition

OOP: Polymorphism
•Creating methods which describe the way to do some
general function (Example: The “getArea()” method in the
Shape class)
•Polymorphic methods can adapt to specific types of objects.
Object-Oriented Programming
Benefits & Drawbecks
INFO100: Internet

Agenda
•Communication types
–Point to point; broadcast and multicast
•History of Internet: ARPA Network
•TCP/IP Protocols
•Ethernet Network
•WAN and LAN
•Internet and Intranet
•Connecting to Internet
•Domains, Addresses, SSH protocol

What is Communication?
•Communication is simply the act of transferring information
from one place, person or group to another. Every
communication involves (at least) one sender, a message
and a recipient.
•Digital communication is any type of data sent
digitally.

Types of Communication
Synchronous and Asynchronous
Communication
Synchronous
•Sending and receiving occur at the same time;
•Sender and the receiver are active at the same time
Asynchronous
•The sending and receiving occur at different times
Internet ́s Communication Properties
•The Internet supports point-to-point asynchronous
communication.
•The Internet is fast enough to mimic synchronous
communication (like using a phone).
•Multicasting is also possible, allowing groups to communicate in
chat rooms.
•Users can post video that can be accessed by anyone, as a form
of broadcasting (e.g., live sport, YouTube theses presentations).
•The Internet provides a general communication "fabric" linking all

computers connected to it.

History of Internet: ARPA Network


Department of Information Science and Media Studies
8

•In 1969 Advanced Research Project Agency (ARPA) was


established.
•The ARPA Network served as a test bed for new networking
technologies.
•Initially the ARPAnet established a network connection
among
4 universities and research centers:
(1) Research Institute in Palo Alto(SRI)
(2) University of California in Los Angeles(UCLA)
(3) University of California in Santa Barbara (UCSB)
(4) University of Utah

ARPAnet Growth
•By the end of 1970, ARPAnet had grown to 13 nodes,
including MIT, Harvard.

Packet-Switching Technology
ARPANET used a novel technology called packet-
switching:
•It refers to protocols in which messages are divided into packets
before they are sent.
•Each packet is then transmitted individually and can follow different
routes to its destination.
•Once all packets forming a message arrive at the destination, the
packets are composed into the original message.

Advantages and Disadvantages of


Packet-Switching
Advantages:
Efficiency: Packets can be transferred to their destination without
the need for a dedicated channel.
Reliability: Packets can be resent if they don’t reach to their
destination. This helps to reduce packet loss.
Low cost: Since it does not require dedicated channel, it can
support communication to and from multiple nodes at the same time
by means of sharing resources.

Disadvantages:
•If there are too much traffic then it increases packet delay.
•The biggest limitation of packet switching is that it is unsuitable
for applications that require minimal latency.
 Latency: the computation delay before a transfer of data begins following
an instruction for its transfer.

NORSAR: Extension to Norway and


London
•NORSAR * becomes the first non-US node on ARPANET.
•In 1973 ARPAnet became International with a satellite link
connecting Norway via Sweden and Virginia to the US nodes.
•It become the connection point for UC London in July 1973.

ARPAnet Continued Development


•There were about 40 nodes connected to ARPAnet.
•In 1971, Ray Tomlinson of BBN sent the first network
email.
•In 1973, 75% of the ARPAnet traffic was email.
•By 1973, the File Transfer Protocol (FTP) specification
had been defined and implemented, enabling file
transfer over the ARPAnet.
•In 1982 Scott Fahlman introducerad smiley emitocon

ARPAnet Becomes Internet in 1981


•The entire ARPAnet was managed by the
military.
•In 1984, the network became decentralized.
–Under this scheme, different networks are controlled by
different organizations. However, they are able to communicate
using shared standards (TCP/IP).
•TCP/IP is a network standard which was developed by
Vinton Cerf and Robert Kahn in the 1970s.
•The ARPAnet was decommissioned in 1990.
Transition Control Protocol (TCP)/
Internet Protocol (IP)
TCP/IP Postcard Analogy
• The Internet is like sending a novel to your publisher
using postcards.
• The novel is broken into small units that fit on a
postcard.
• The “postcards” are numbered to indicate where each
belongs in the novel.
• As each postcard is completed, it is mailed.

TCP/IP Postcard Analogy


• Sooner or later, your publisher received the postcards, but
not necessarily in sequential order.
• Nor do they take the same route
• The cards are finally arranged in order.
• These “postcards” are really IP packets; they hold:
• one unit of information,
• the destination IP, and
• their sequence number (which packet they are).

TCP/IP Characteristics
• Because each packet can take a different route, congestion
and service interruptions do not delay transmissions.
• Each TCP/IP packet is independent.
• The TCP/IP protocol works under adverse conditions
• If traffic is heavy and the packet progress is slow, the
protocol allows the packet to be thrown away.
• If a packet is deleted for whatever reason, the recipient
will request a resend.
• Packets can arrive out of order because they take
different routes.
WAN and LAN
• The Internet is a collection of wide area networks (WAN).
• These are networks that are not geographically close.
• The Internet is a collection of point-to-point channels.
• Meaning packets must visit a sequence of computers (or
hops) before they reach their destination.

Internet vs. Intranet

LAN
• In a local area network (LAN) computers are located
geographically close to each other.
• Usually, they can be linked by a single cable or pair of wires
• Ethernet is the main technology for local area networks.
• It is used for connecting all the computers in a lab or a
building.

Ethernet Network
• The physical setup for an Ethernet network is a wire, wire pair, or
optical fiber, called the channel
• Engineers “tap” into the channel to connect a computer:
• This allows it to send a signal or an electronic pulse or light flash
onto the channel
• All computers, including the sender, can detect the signal

Ethernet Party Analogy [Snyder, pp.70,71]


To understand how an Ethernet network works, consider this:
• A group of friends is standing around at a party telling
stories.
• While someone is telling a story, everyone is listening.
• When the story is over, here may be a pause before the
next one speaks.
• Then, someone typically just begins talking and the cycle
starts again.

How does Ethernet network work?


A computer wanting to transmit a message:
•It starts sending signals and also starts listening to see if the
message it gets is the one it sent (right message)

IF NOT (not the right message)


• the computer stops transmitting immediately
the other computers stop too.
each machine pauses for a random length of time.
the computer that waits the shortest length of time begins
sending.

Connecting to the Internet [Snyder, pp.71]


• Today there are two basic methods:
• Connection via an Internet service providers.
• Connection provided by a campus or enterprise network.
• Most of us use both kinds of connections.
• Companies sell connections to the Internet.
• The company places a modem at your house.
• Modems convert the bits a computer outputs into a form that is
compatible with the carrier.
• The organization connects to the Internet by a gateway.

Wireless Networks
•Variation of a LAN connection
•The router is:
–Physically connected to an ISP’s modem
–Connected to the Internet
–Capable of broadcasting and receiving signals, usually radio
frequency (rf ) signals

Computer Addresses
IP Addresses
Each computer connected to the Internet is given a unique address
called its IP address.
An IP address is a series of four numbers (one byte each)separated
by dots
The range of each of these numbers (0–255) allows for billions of IP
addresses

Computer Domains
• It is hard to remember the numeric IP address of all the
computers we communicate with
• The Internet uses human-readable symbolic names for
computers that are based on a hierarchy of domains
• A domain is a related group of networked computers

Domain Name Usage


Example: spiff.cs.washington.edu
•The name of the computer is spiff
•Which is part of the Computer Science and Engineering
Department domain (cs)
•Which is part of the University of Washington domain
(washington)
•Which is part of the educational domain (edu)

Domain Hirerarcy
• The example shows a hierarchy of domains
• Each is a member of the next larger domain.
• edu is a peer of other top-level domains such as com
• These names are symbolic and meaningful, making them
easier to read than numbers (and easier to remember)

Domain Name System


• The Domain Name System (DNS) translates the hierarchical,
human-readable names into the four-number IP address
• Every Internet host knows the IP address of its nearest DNS name
server
• Whenever the hierarchical symbolic name is used to send
information to a destination, your computer asks the DNS server
looks up the corresponding IP address

When your computer asks a DNS name server to translate a name to


the IP address. If the address is new (and not stored on the DNS
server), the server asks an authoritative name server (ANS)
How does the DNS Server know which ANS to talk to?
The root name server keeps the complete list of the IP addresses and

corresponding domain names for all authoritative name servers.

Basic Client Server Interaction


Most interactions over the Internet use the client/server interaction
protocol:
• When you click a Web link, your computer gets the page for
you...beginning the client/server interaction
• Your computer is the client computer and the computer with the
Web page is the server (Web server)
• The client, gets services from the server
• When the page is return, the operation is completed and the
client/server relationship ends

Client Server Interaction


• The client/server structure is fundamental to Internet
interactions
• A key aspect is that only a single service request and
response are involved
• The relationship is very brief relationship, lasting from the
moment the request is sent to the moment the service is
received

Clients and Server Brief Relationships


Many brief relationships:
• This approach means that the server can handle many clients at a
time
• For example, between two consecutive client requests from your
browser (getting a page and asking for another) that server could
have serviced hundreds of other clients
• The server is busy only for as long as it takes to perform your
request

Client Server Realtions (Future)


Developmet
Secure SHELL (SSH)
What is SSH?
•SSH, or Secure Shell, is a remote administration protocol
that allows users to control and modify their remote servers
over the Internet.
•It provides a mechanism for authenticating a remote user,
transferring inputs from the client to the host, and relaying the
output back to the client.

How does SSH Work?


•SSH is a protocol for secure remote access to a
machine over untrusted network.
•It uses encryption.
•In SSH, transmission can be compressed.
SSH uses TCP/IP as its transport mechanism, usually TCP
port 22 on the server machine.

Internet Transmission Technologies


•Internet carries an extensive range of information resources and
services linked by a broad array of electronic, wireless and optical
networking technologies.
•The term broadband commonly refers to high-speed Internet access that is
always on and faster than the traditional dial-up access.
•Broadband includes several high-speed transmission technologies such
as: Digital Subscriber Line (DSL) Cable Modem; Fiber ; Wireless ; Satellite;
Broadband over

Fiber Optic Technology


•To ensure the fastest way to transmit information over
internet, Fiber-optic communication is used.
•Using fiber optic cables, we can transmit as much as 100
billion bits per second (100 Gbps).
•Fiber optics cables are long, thin strands of glass where
information is sent by sending a beam of light.
•https://www.submarinecablemap.com/

Global Internet Freedom


•Tracking the Global Decline Freedom on the Net is a
comprehensive study of internet freedom in 65 countries around the
globe, covering 87 percent of the world’s internet users
INFO100: Networking
Agenda
• Components of networking
• Wired networking and wireless networking
• Internet of Things (IoT)
• Web applications: Basic Components
• Web 2.0
• Requesting a web page
• Web Search
• Resource Description Framework
• Semantic networking
• Mandatory assignment

What is computer networking?


It is the practice of transporting and exchanging data between
nodes over a shared (technological) medium in an
information system.
Components of networking
• Computer networking requires the use of physical network infrastructure --
including switches, routers and wireless access points -- and the underlying
firmware that operates such equipment.
• Other components include the software necessary to monitor, manage
and secure the network.
• Additionally, networks rely on the use of standard protocols to uniformly
perform discrete functions or communicate different types of data,
regardless of the underlying hardware.
Networking types
• Two primary types of computer networking:
– wired networking and wireless networking.

Wired networking uses a physical medium for transport between nodes.


• Copper-based Ethernet cabling, popular due to its low cost and durability,
is commonly used for digital communications in businesses and homes.

• Optical fiber is used to transport data over greater distances and at faster
speeds, but it has several tradeoffs, including higher costs and more fragile
components.

Wireless networking
• Wireless networking uses radio waves to transport data over the
air, enabling devices to be connected to a network without any
cabling.
• Wireless LANs are the most well-known and widely deployed form
of wireless networking.
• Alternatives include microwave, satellite, cellular and Bluetooth,
among others.

Internet of Things (IoT)


• A shift toward more internet-enabled products has been
called IoT for short.
• The aim: everything in the surrounding environment could
communicate without human intervention.
Web-based systems
• Web based systems
• Web applications
• Web 2.0
• Web 3.0
• E-learning
• Literature: Chapter 18 D. Avison & G. Fitzgerald: Information Systems
Development – Methodologies,
Techniques & Tools, 4the Edition, McGraw-Hill 2006,

Common Types Web Applications


• Content Management Systems (CMS)
• E-Commerce
• Customer Relationship Management Systems (CRM)
• Forums / Discussion Boards
Web Applications
• Application that is served commonly via http or https
protocol
• Usually being served from a remote computer acting
as a host/server
• Layers:
– Browser Rendered HTML
– HTML Code
– Script (Server Side)

Web services with typical


functionalities: an integrated approach
• Solutions architected for Microsoft SQL Server
Reporting Services
• Comprehensive reports, dashboards and scorecards
• Data cubes/Data warehouse: data mining
• Seamless integration with legacy and modern enterprise
systems
• Automated workflows – report requisitions, generation
and delivery
• Highly customizable reports delivered via web in a
variety of forms(PDF, Excel, HTML, Charts)

Web-system architecture and roles


(example)
Application Development
• System Integration
• Supporting Application, Collaboration, Discovery and
Integration and Data Cleansing requirements as well as
Delivery options
• Delivery Approach options, Infrastructure, Quality
Assurance, Governance, and Methodology

Web applications: Basic Components


• Data model
– It is where the actual data is stored/retrieved
– Data is stored in tabular format with predefined columns and data
types
• User Interface–It is what the end-user sees. It is commonly a
collection of static HTML files (optionally with Javascript/CSS and
other media).
– These Static HTML are commonly called “Theme” or “Template”
and where processed Data will be placed upon script processing.
• Application Logic
– It is the main ‘engine’ of a web application; it interacts with the data
model and outputs processed data to the User Interface.

Web services with typical


functionalities: an integrated approach
• Solutions architected for Microsoft SQL Server
Reporting Services
• Comprehensive reports, dashboards and scorecards
• Data cubes/Data warehouse: data mining
• Seamless integration with legacy and modern
enterprise systems
• Automated workflows – report requisitions, generation
and delivery
• Highly customizable reports delivered via web in a
variety of forms(PDF, Excel, HTML, Charts)

Common Types Web Applications


• Content Management Systems (CMS)
• E-Commerce
• Customer Relationship Management Systems (CRM)
• Forums / Discussion Boards

Web 2.0
• The phrase "Web 2.0" hints at an
improved form of the World Wide Web (ca
2004)
• Emphasizing tools and platforms that
enable the user to Tag, Blog, Comment,
Modify, Augment, Rank, etc.
• The more explicit synonym of
"Participatory Web"
No Products but Services
“There are no products, only solutions”
• Not what customer wants but why they want
• A problem-solving approach
• Simple Solutions

Customization
• Every individual is unique: Some people want
to be different
• Allow user to choose instead of forcing him to
use what you have made
• Make user feel home
– My yahoo, Google Homepage, myspace
– Firefox extensions

Focus on the “Long Tail”


• Reach out to the entire web
• To the edges and not just to the center, to the long tail
and not the just the head
• Leverage customer-self service e.g. Google

Harnessing Collective Intelligence (I)


• Network effects from user contribution are the key to
market dominance in Web 2.0 era
• The Wisdom of many: Users add value
– Amazon, ebay
- User reviews, similar items, most popular,
- Wikipedia
- content can be added/edited by any web user,
- Flickr
- tagging images
- Cloudmark
- Spam emails

Harnessing Collective Intelligence (II)


• But only a small percentage of users will go to
the trouble of adding value to your applications
via explicit means.
• Therefore web 2.0 companies set inclusive
defaults for aggregating user data and building
value as side effect of ordinary use of the
application.
• It requires radical experiment in trust
Specialized Database
• Every significant application to date has been backed
by a specialized database
– E.g. Amazon, Google, Ebay
• Database management is the core competency of Web
2.0 companies
• “infoware” rather than merely “software”

Who owns the data?


• Ownership of the platform?
• Ownership of the data ?
• Control over data has led to market control and
oversized financial returns
• It will provide a sustainable competitive advantage to
the company
• Especially if data sources are expensive to create or
amenable to increasing returns via network effects

Advantages of Semantic Web


• Evolves around a collection of knowledge.
• Allows people to add what they know.
• Allows people to find answer to their questions.

For Semantic Web to function:


• The computers should have access to structured c
collections of Information.
• Meaning of this Information.
•Sets of rules/logic to enable reasoning.
Requesting a web page [Snyder, pp.79]er, pp.79]
The URL has three main parts*:
1. Protocol: tells the computers how to handle the file
2. Server computer’s name: or the name given by the domain
hierarchy
3. Page’s pathname: tells the server which file (page) is requested
and where to find it
*http://www.cs.washington.edu/homes/snyder/index.html

Hypertext Transfer Protocol


Protocols are standard set of rules that enable two devices to connect and transmit
data or exchange information to one another.
It is a common language used by clients and servers to interact and exchange data.
Each protocol has its own method or mechanism for formatting data, when it has to
be sent and what to do with it once received, how that data is compressed or how to
check for errors in data.
Hypertext Transfer Protocol
• A Web page consist of objects
• Object can be HTML file, image, audio clip, video clip,
java applet
• A web page consists of a base HTML file which
includes a collection of referenced objects
• Each object is accessed by a Uniform Resource
Locator
(URL)
• Example:
• https://www.uib.no/sites/w3.uib.no/files/styles/content_
main_wide_1x/public/media/naturhistorisk_leopard.jpg

Hypertext Transfer Protocol


Client / Server model

• Client: A program that requests and receives web


objects. Example: Mozilla Firefox, IE, Chrome, Safari
browser, etc.
• Server: A web server that sends objects in response to
requests. Example: Apache web server, Tomcat web server,
etc.

Non persistent versus Persistent HTTP


Non persistent HTTP (HTTP 1.0):
• At most one object is sent over TCP connection.
• Slow communication as it requires to establish connection for every web
object.

Persistent HTTP (HTTP 1.1):


• Server leaves connection open after sending a response.
• Multiple objects can be sent over a TCP connection between client and
server.
• Client sends requests as soon as it encounters a referenced object.
Commonly Used Internet Protocols
FTP (File Transfer Protocol)
HTTP (Hypertext Transfer Protocol)
TCP/IP (Transfer Control Protocol/Internet Protocol)
SMTP (Simple Mail Transfer Protocol)
POP ( Post Office Protocol )
Open System Interconnection (OSI) Model
Developed by the international organization for standardization in 1984,
designed to show the flow of moving data from one software application of
one computer to another software application of another computer.
It consists of seven layers –each layer has its own tasks, which are
performed independently.
HTTP Messages

HTTP Messages: Demonstration of


Postman
HTTPS with Public key encryption

Web Search
The first step, crawling, visits every Web page that it can find
 The crawler has a to-do list that is loaded with a set of pages to start
 When a URL is found while crawling a page, it adds that URL to the to-do list

The main work of the crawler is to build an index.

 The index is a list of tokens (or words) that are associated with the page.
 For each token, the crawler creates a list of the URLs associated with that token
Query Processing & Page Ranking
Query processing
->The user presents tokens (search terms) to the query processor
->The search engine then looks up the word in the index and returns a hit list
->By creating the index ahead of time, search engines are able to answer user queries very
quickly

Page Ranking
Measuring the relevance of pages. works by counting the number and quality of links to a page.

 more important websites are likely to


receive more links from other websites.
Technology for Development of Semantic
Web
XML Rules

RDF: Resource Description Framework


• RDF encodes this information on the XML page in sets of
triples. The triple is an information on the web about related
things.

• Each triple is a combination of Subject, Verb and Object,


similar to an elementary sentence.
Resource Description Framework

RDF Schema (RDFS)


RDF Formats

ONTOLOGY
• An ontology is an engineering artefact consisting of:
• A vocabulary used to describe (a particular view of) some domain
• An explicit specification of the intended meaning of the vocabulary.
• Classification based information.
• Constraints capturing background knowledge about the domain.
Advantages of Using Ontologies
• Enhances the functioning of semantic web:
• Can improves accuracy of web searches.
• Allows development of programs that can tackle
complicated queries
SPARQL: A Query Language for RDF
INFO100: Information Systems
Agenda
• Definition and role of information system in business
• Types of Information Systems
• Traditional and Agile system development
• Examples of Information Systems
• SQL
• Oppgave

Information Systems: Definition


 Information Systems (IS) is a scientific field of study that
addresses the range of strategic, managerial and operational
activities involved in the gathering, processing, storing,
distributing and use of information, and its associated
technologies, in society and organizations.

 IS covers the technology and the way in which the


organizations interact with the technology and the way in which
the technology works with the organization’s business
processes.
Information Systems Types
• Transaction processing systems
• Office information systems
• Decision support systems
• Knowledge management systems
• Database management systems
• Communication systems
• Commercial and e-business systems
• Web-based systems
• Applications
Transaction processing systems
Database Management Systems

Decision Support Systems


Knowledge management systems
Communication Information Systems

Commercial and e-business systems


Web-based Systems

Mobile Applications
Information Systems Types and Various
Levels of Hierarchy

IS Development Framework
IS: Development Phases (I)
• Project planning, feasibility study:
Establishes a high-level view of the intended project
and determines its goals.

• Systems analysis, requirements definition:


Refines
project goals into defined functions and operation of
the intended application. Analyzes end-user information
needs.

• Systems design:
Describes desired features and operations in detail,
including screen layouts, business rules, process
diagrams, pseudo-code and other documentation.

IS’ Development Phases (II)


• Implementation: The real code is written.
• Integration and testing:
Brings all the pieces together into a special testing
environment, then checks for errors, bugs and
interoperability.
• Acceptance, installation, deployment:
The final stage of initial development, the software
is put into production and runs the business.
•Maintenance:
Changes, correction, additions, moves to a different
computing platform and more.
Information System Development
Waterfall model development (traditional)
AGILE System Development

Traditional & AGILE System Development


Development life cycle models
• Waterfall model
• Spiral model
• Incremental model
• Hybrid models
– Spiral model
– Spiral GUI model

IS Development Framework
• Constructs which are concepts that form the vocabulary of a domain.
They constitute a conceptualization used to describe problems within the
domain and to specify their solutions.

• A model which is a set of propositions or statements expressing


relationships among constructs.

• A method which is a set of steps (an algorithm or guideline) used to


perform a task. Methods are based on a set of underlying constructs and
a representation (model) of the solution space.

• An instantiation is the realization of an artifact in its environment.

IS: Development Phases (I)


• Project planning, feasibility study:
Establishes a high-level view of the intended project and determines
its goals.

• Systems analysis, requirements definition: Refines


project goals into defined functions and operation of the intended
application. Analyzes end-user information needs.

• Systems design:
Describes desired features and operations in detail, including
screen layouts, business rules, process diagrams, pseudo-code and
other documentation.
IS’ Development Phases (II)
• Implementation: The real code is written.
• Integration and testing:
Brings all the pieces together into a special testing environment,
then checks for errors, bugs and interoperability.

• Acceptance, installation, deployment:


The final stage of initial development, the software is put into
production and runs the business.

• Maintenance:
Changes, correction, additions, moves to a different computing
platform and more.

Development life cycle models


• Waterfall model
• Spiral model
• Incremental model
• Hybrid models
– Spiral model
– Spiral GUI model

Waterfall model development (traditional)


AGILE System Development
AssistMe: a Web-based system in support of
patient (Example)
Project Management
Dr. Ankica Babic, Dr. Urban Lönn, Dr. Henrik Casimir Ahn
“The doctor’s information tool of the
future might be some sort of combination
between the patient record and the
Internet, with the doctor and the patient
positioned together at the intersection
but not having to pay attention to the
technology.” (Smith 1996)
Problem solving (1)
• Start with clinical questions that should be supported by
decision support and data mining.

• Distinguish levels of decision support: from user driven to


structured procedures for knowledge mining:
– Cluster analysis, Case Based Reasoning (CBR),
statistical reports
– Specialized reports
Problem solving (2)
• Actively involve the physicians in design,
implementation, and evaluation of our web-based
system.
• Clinical evaluation of extracted knowledge.

Database design: Layered structure

Layered structure
Database design
• Relational database design

Database design
• Structured Query Language, SQL
– Standard for commercial database managers
– Easy to transfer information to and from the database.
Clusters (former page)

SQL: Structured Query Language


What is SQL? [Wikipedia]
• Structured Query Language (SQL) is a domain-specific language used
in programming and designed for managing data held in a relational
database management system (RDBMS), or for stream processing in a
relational data stream management system (RDSMS).
• It is particularly useful in handling structured data, i.e. data
incorporating relations among entities and variables.

SQL Language Elements


• Clauses, which are constituent components of statements and queries. (In some cases,
these are optional.
• Expressions, which can produce either scalar values, or tables consisting of columns and
rows of data
• Predicates, which specify conditions that can be evaluated to SQL three-valued logic
(3VL) (true/false/unknown) or Boolean truth values and are used to limit the effects of
statements and queries, or to change program flow.
• Queries, which retrieve the data based on specific criteria. This is an important element of
SQL.
• Statements, which may have a persistent effect on schemata and data, or may control
transactions, program flow, connections, sessions, or diagnostics.
• SQL statements also include the semicolon (";") statement terminator. Though not
required on every platform, it is defined as a standard part of the SQL grammar.
• Insignificant whitespace is generally ignored in SQL statements and queries, making it
easier to format SQL code for readability.

A chart showing several of the SQL language elements that compose a


single statement

Data Normalization
INFO100: Databases
Agenda
•Databases Types
•Database management systems
•Normalization
•SQL
•Obligatorisk oppgave

What is Database/ Database System [Snyder,


pp.451-468]
Database is an organized way to record, store,
and retrieve data.
•There are various types of databases:
•Relational database: Oracle, MySQL, PostgreSQL
•Object database (NoSQL database): MongoDB
•Graph database: Neo4j, OntoText
Database system means:
Database + Database management system

Database Management System (DBMS)


Relational database
•A relational database is a digital database based on
the relational model of data, as proposed by E. F. Codd in
1970.
•A system used to maintain relational databases is a
relational database management system (RDBMS). Many
relational database systems have an option of using the
SQL (Structured Query Language) for querying and
maintaining the database.

- Always represented as a table (Tuple)


Relational database
Tables are technically called relations, and database
tables, as well.
The rows must always be different, even after adding
rows.
The table must have the attributes (columns) needed to
differentiate rows.
Relational Database (example)

Why we need database keys?


•In a real-world application, a table could contain thousands of
records. Moreover, the records could be duplicated.
•Keys in RDBMS ensure to uniquely identify a table record
despite these challenges.
•Allows to establish a relationship between data and identify the
relation between tables.
•Help enforce identity and integrity in the relationship.
Database keys
Composite Key – is a combination of two or more columns that uniquely identify rows in a
table. The combination of columns guarantees uniqueness, though individual uniqueness is
not guaranteed.

Compound Key – has two or more attributes that allow you to uniquely recognize a specific
record. It is possible that each column may not be unique by itself within the database.

Foreign Key – is a column that creates a relationship between two tables. The purpose of
Foreign keys is to maintain data integrity and allow navigation between two different
instances of an entity.

Super Key – A super key is a group of single or multiple keys which identifies rows in a
table.

Primary Key – is a column or group of columns in a table that uniquely identify every row in
that table.

Candidate Key – is a set of attributes that uniquely identify tuples in a table.Candidate Key
is a super key with no repeated attributes.
Alternate Key – is a column or group of columns in a table that uniquely identify every row
in that table.

Super Key
A super key is a set of one or more attributes (columns), which can uniquely identify a row
in a table.
Foreign Key (Relating to another table)

Composite Key
Need for Database Normalization
- Data organized in tables
- Each row is a record
- Each column is an attribute
o Entities: rows of the database table
o Attribute Name: column heading
o Entity instance: value in a row
o Table instance: whole table
Data identifiable and simplified (no
redundancy)

Normalization
•A process of organizing the data in database to avoid data
redundancy.

How can we remove redundancy?


•We want to remove as many functional dependencies as
possible!
What is functional dependency?
•If one set of attributes in a table determines another set of attributes
in the table, then the second set of attributes is said to be functionally
dependent on the first set of attributes.
Normalization Forms
•First Normal Form (1NF)
•Second Normal Form (2NF)
•Third Normal Form (3NF)
First Normal Form (1NF)
•each column contains atomic values
•cannot have same attribute in multiple
columns
•the rows depend on the keys
Second Normal Form (2NF)
•data must be in 1NF
•the rows depend on the entire keys
Put simpler:
•A table should contain data about one type
of entity.
Third Normal Form (3NF)
•The rows do not depend on anything other than the
keys
Third Normal Form (3NF)
(Example)

Structured Query Language (SQL)


SQL is a computer language aimed to store, manipulate and retrieve data stored in
relational databases.

IBM implemented the language, originally called Sequel, as part of the System R project in
1970s.

The first commercial relational database was released by Relational Software which became
Oracle.
SQL Language Elements
•Clauses, which are constituent components of statements and queries. (In
some cases, these are optional.
•Expressions, which can produce either scalar values, or tables consisting of
columns and rows of data
•Predicates, which specify conditions that can be evaluated to SQL three-
valued logic (3VL) (true/false/unknown) or Boolean truth values and are used
to limit the effects of statements and queries, or to change program flow.
•Queries, which retrieve the data based on specific criteria. This is an
important element of SQL.
•Statements, which may have a persistent effect on schemata and data, or
may control transactions, program flow, connections, sessions, or diagnostics.
•SQL statements also include the semicolon (";") statement terminator.
Though not required on every platform, it is defined as a standard part of the
SQL grammar.
•Insignificant whitespace is generally ignored in SQL statements and queries,
making it easier to format SQL code for readability.

A chart showing several of the SQL language elements that


compose a single statement

SQL DDL – Data definition


The CREATE statement must specify the new table name, the column names, and the
relevant data types and properties for each column.
SQL DML – Data manipulation

Computing with Tables


Select Operation
The Select operation picks out rows according to specified criterion and put them in a new
table.
Join Operation
Database Management System (with
SQL)

Physical Database
- The physical database is designed by database administrators
- Data must be accessed fast.
- The physical database is set up to avoid redundancy (duplicate information)
o There is a good chance that data stored in various places will not be updated.
Logical Database
The logical database shows users the view of the information they need and want.

It doesn’t exist permanently, but is created every time they need it.

The logical database is retrieved from the one copy stored in the physical database, and
provided to the users as needed.

Types of NoSQL Database

- Key: key-value stores


- Graph: graph databases
Key-value data model
- Simplest NOSQL databases
- Keys can be stored in a hash table
- Access data(values) by strings called keys
- Data has no required format data may have any format
- Data model: (key,value) pairs
- Basic Operations: Insert(key,value), Fetch(key), Update(key), Delete(key)

Graph database
•a graph database (GDB) is a database that uses graph
structures for semantic queries with nodes, edges, and
properties to represent and store data.

•A key concept of the system are nodes and edges:


–the graph relates the data items in the store to a
collection of nodes and edges,
–the edges are representing the relationships between the
nodes.
Graph database
•The relationships allow data in the store to be linked
together directly and, in many cases, retrieved with one
operation.
•Graph databases hold the relationships between data as
a priority.
•Querying relationships is fast because they are
perpetually stored in the database.
Resource Description Framework
(RDF)
•RDF is a family of World Wide Web Consortium (W3C)
specifications originally designed as a data model for metadata.

•It has come to be used as a general method for conceptual


description or modeling of information that is implemented
in web resources, using a variety of syntax notations and data
serialization formats.

•It is also used in knowledge management applications.


Object-oriented Database
•An object database is a database management system in
which information is represented in the form of objects as
used in object-oriented programming.
•Object databases are different from relational databases
which are table-oriented.
•Object–relational databases are a hybrid of both
approaches.
Object-oriented vs. Relational Database

Meta Database
•Meta database is a database model for
(1) metadata management,
(2) global query of independent databases, and
(3) distributed data processing.
Original meant data about data.
INFO100: Software Development
Agenda
•Software development (phase and types)
•UML
•Mandatory assignment

What is Software (SW) Development


[Wikipedia]
•It is the process of conceptualizing, designing, programming,
documenting, examining, repairing, and maintaining software
elements.

•It includes writing the software codes in computer language.


•Based on user needs, concept and requirements, the
developer creates the software.

Software development is the collective processes involved


in creating software programs, embodying all the stages
throughout the systems development life cycle ( SDLC ).
The number of software developers in the world

Stages of SW Development
The elements influencing software development:
•Product
•Process
•People
Types of Software
Unified Modeling Language (UML) [Wikipedia]
•UML is a general-purpose, developmental, modelling languiage in the field of software engineering
that is intended to provide a standard way to visualize the design of a system. [1]

•The creation of UML was originally motivated by the desire to standardize the disparate notational
systems and approaches to software design. Developed in 1994–1995, and further through 1996.

•In 1997, UML was adopted as a standard and managed by the Object Management Group (OMG).

•In 2005, UML was also published by the International Organization for Standardization (ISO) as an
approved ISO standard. Periodically revised to cover the latest revision of UML

•In software engineering, most practitioners do not use UML, but instead produce informal hand
drawn diagrams; these diagrams, however, often include elements from UML.

UML in object-oriented programming


•Roots in the object-oriented programming methods developed in the late 1980s/early
1990s. Found useful in many contexts.

•UML visualizes a system's architectural in a diagram, including elements such as:

Any activities (jobs);

individual of the system;

oand how they can interact with other software components:

how the system will run;

how entities interact with others (components and interfaces);

External user interface.

Static and Dynamic Views


UML diagrams represent two different views of a system model:

Static (or structural) view: emphasizes the static structure of the system using
objects,
attributes, operations and relationships. It includes class diagramand and compostie
structure diagrams.

Dynamic (or behavioral) view: emphasizes the dynamic behavior of the system by
showing collaborations among objects and changes to the internal states of objects. This

view includes sequence diagrams, activity diagrams and state machine diagrams.
Static Diagrams
Class diagram
Component diagram
Composite structure diagram
Deployment diagram
Object diagram
Package diagram
Profile diagram

Structure Diagram
•Structure diagrams represents the static aspects of the system. It
emphasize the things that must be present in the system being modeled.

•Since structure diagrams represent the structure, they are used


extensively in documenting the ̈software architecture of software
systems.

•For example, the component diagram describes how a software system


is split up into components and shows the dependencies among these
components.
Class Diagram
•It is represented via a rectangular box.

Each of the classes is divided into three sections:


•the topmost section consists of the class name

•the second section consists of the names of all the attributes that the class contains with their data types

•the third section consists of the methods (or functions) that are defined in the class.
Component Diagram Modell
•It shows behavior and organization of components at any instant of (run) time.
•The system cannot be visualized by any individual component, but it can be by the
collection of components.
Composite Structure Diagram
•It is a UML structural diagram that contains classes, interfaces, packages, and
their relationships,.

•It provides a logical view of all, or part of a software system.


Deployment Diagram
•It depicts a static view of the run-time configuration of processing nodes and the
components that run on those nodes.

•In other words, deployment diagrams show the hardware for your system, the software
that is installed on that hardware, andthe middleware used to connect the disparate
machines to one
Object Diagram
•It can be referred to as a screenshot of the instances in a system and the relationship
that exists between them.

•Since object diagrams depict behavior when objects have been instantiated, we are
able to study the behavior of the system at a particular instant.

•Object diagrams are vital to portray and understand functional requirements of a


system.

Package Diagram
•It shows the arrangement and organization of model elements in middle to large scale
project.

•It can show both structure and dependencies between sub-systems or modules
Profile Diagram
•Profile diagram is structure diagram which describes lightweight extension mechanism
to the UML by defining custom stereotypes, tagged values, and constraints.

•Profiles allow adaptation of the UML metamodel for different: platforms, such as Java
Platform, Enterprise Edition (Java EE) or Microsoft .NET Framework, or; domains, such
business process modelling, service.
Dynamic Diagrams
Activity diagram
Communication diagram
Interaction overview diagram
Sequence diagram
State diagram
Timing diagram
Use case diagram

Why Behavior diagrams


Since behavior diagrams illustrate the behavior of a system, they are used extensively to
describe the functionality of software

Activity diagram
•The activity diagram describes the business
and operational step-by-step activities of the
components in a system.
Interaction diagrams
•Interaction diagrams are a subset of behavior diagrams.

•They emphasize the flow of control and data among the things in
the system being modeled.

•For example, the sequence diagram shows how objects


communicate with each other regarding a sequence of messages.
Communication Diagram
•It is an extension of object diagram that shows the objects
along with the messages that travel from one to another.

•Communication diagram shows the messages the objects


send each other.
Sequence diagram
•A sequence diagram is a type of interaction diagram because it
describes how—and in what order—a group of objects works
together.

•These diagrams are used by software developers and business


professionals to understand requirements for a new system or to
document an existing process.
State diagram
•It is a type of diagram used in computer science and related
fields to describe the behavior of systems.

•State diagrams require that the system described is


composed of a finite number of states.
Timing diagram
• UML interaction diagrams used to show interactions when a
primary purpose of the diagram is to reason about time.

• Timing diagrams focus on conditions changing within and


among lifelines along a linear time axis.
Metamodeling
Metamodeling architecture to define the UML, called the metamodeling architecture to define the
UML, called the Meta-Object Facility (MOF). MOF is designed as a four-layered architecture.
This M3-model is the language used by Meta-Object Facility to build metamodels, called M2-models.
Layer 2 Meta-Object Facility model is the UML metamodel, which describes the UML itself. These M2-
models describe elements of the M1-layer, and thus M1-models.
The last layer is the M0-layer or data layer. It is used to describe runtime instances of the system.
Use-case model
•Use cases are a way of specifying required usages of a system.

•Used to capture the system requirements (what a system is supposed to


do).

•A use case diagram is a graphical depiction of a user's possible


interactions with a system.

•A use case diagram shows various use cases and different types of users
the system has and will often be accompanied by other types of diagrams
as well.

•The use cases are represented by either circles or ellipses.


INFO100: System Development
Agenda
•System Development Methodology
•Traditional System Development
•Structured System Development
•Agile System Development
•Mobile Systems’ Development

Traditional & AGILE System Development

IS Development Framework
•Constructs which are concepts that form the vocabulary of a domain.
They constitute a conceptualization used to describe problems within the
domain and to specify their solutions.

•A model which is a set of propositions or statements expressing


relationships among constructs.

•A method which is a set of steps (an algorithm or guideline) used to


perform a task. Methods are based on a set of underlying constructs and a
representation (model) of the solution space.

•An instantiation is the realization of an artifact in its environment


IS: Development Phases (I)
•Project planning, feasibility study:
Establishes a high-level view of the intended project and
determines its goals.

•Systems analysis, requirements definition: Refines


project goals into defined functions and operation of the intended
application. Analyzes end-user information needs.

•Systems design:
Describes desired features and operations in detail, including
screen layouts, business rules, process diagrams, pseudo-code
and other documentation.

IS’ Development Phases (II)


•Implementation: The real code is written.
•Integration and testing:
Brings all the pieces together into a special testing environment,
then checks for errors, bugs and interoperability.
•Acceptance, installation, deployment:
The final stage of initial development, the software is put into
production and runs the business.

•Maintenance:
Changes, correction, additions, moves to a different computing
platform and more.

Information System Development

Waterfall model
Waterfall model: features
•Carried out sequentially
•Each stage quality assured
•Each stage starts at the agreed baseline
•NO stage repeated
•Risk for mismanagement and bureaucracy
•Suited for large, multi agent projects projects with
need for security
•Suited for projects with complex and lot of
requirements
•Interesting for big industries
Spiral Model

Spiral Model (in detail)


Spiral Model: Features
•Iterative approach
•For applications with more structure modeling
techniques
•Risk for a poorer management and less
documentation
•Can give false impressions to users
•Requirements not well known
•Better suited to smaller systems
•Difficult to coordinate across a large projects

Incremental Model
Incremental Model: Features
•Succession of self-contained phases
•Each phase is a mini project
•Earlier phases may be re-worked after later phases
•Risk:
–to define well phases
–Budget and time management
•Works well with stabile and well-defined system
requirements
•Good for large projects
•Risk could come form too much rework

Hybrid model: Spiral Design


Hybrid model: Spiral Design Features
•Waterfall for earlier phases
•Good for the physical design and construction stages
•Elements are well analyzed and documented
•Takes advantages of graphical tools
•Requirements and the project well understood
•Good for systems with a strong GUI components
•Useful for student and industrial applications that
are too large for a compete solution

Structured Methods: Elements


Structured Methods Concepts
•Logical and physical views of the system
–provides a view/several views on what the system will deliver
(regardless of the technical platform);
•Data-driven system design
–the heart of the model, does not change much within the system;
•User involvement
–from the sign-off of the procedures to real and involvement in the
development.
Why adopt a formal approach?
•System development must clearly and convincingly
demonstrate
–A logical process of selecting and adapting system
development approach;
–A deepened understanding of the development
cycle;
–A deepened understanding of system
development techniques.

Rapid Application Development


(RAD)
•Developed in early 1990s, enabled by tools
•Approach, rather than method
–not providing a complete set of techniques or
products that could be applicable to the system
development

Rapid Application Development (RAD)

Rapid Application Development (RAD)


•RAD approaches to software development put less
emphasis on planning and more emphasis on process.
•RAD approaches emphasize adaptability and the
necessity of adjusting requirements in response to
knowledge gained as the project progresses.
•Prototypes are often used in addition to or sometimes
even in place of design specifications.

RAD Features
•User involvement
•Prototyping
•Acceptance of imperfection
•The 80/20 rule
–It is important to identify the most important
requirements that will deliver most of the system
benefits: 80% of benefits by just 20% of
functionality.
•Time boxing
•Workshops

Agile Methods
•Overview
•Agile manifesto
•Scrum
•eXtreme Programming
•Kanban
•User Stories
•DSDM
•Crystal family
•Agile Modelling
•Feature Driven Development

Agile System Development


AGILE principles
AGILE: SCRUM framework
Daily Scrum

KANBAN
•Kanban is a popular framework used by software teams
practicing agile software development.
•In the late 1940s Toyota began optimizing its
engineering processes based on the same model that
supermarkets were using to stock their shelves.

KANBAN
Pair programming
•Two persons working on the same computer.
•A driver and a navigator.
•Not meant to be mentoring but working together.

Short life cycles & Minimalism


Short life cycles
•Days, weeks, maybe months, not years.
•Avoids missing changing requirements.
Minimalism
•Focuses on ’high value’ activities.
•Discourages activities that do not directly produce
functionality.

People, Collaboration and Communication


People orientation
•The process conforms to the team.
•Team members are not machines.
Collaboration and communication
•Talking and handling changes, over hard contract
negotiation.
•Distribution of knowledge.
•Availability of all stakeholders.

User stories (I)


•As a [role]
•I want [goal/desire]
•so that [benefit]
User stories (II)
User stories
•Independent
•Negotiable
•Valuable to users or customers
•Estimable
•Small
•Testable

Mobile App Development


•Mobile app development is a term used to denote the act or
process by which a mobile app is developed for mobile
devices, such as personal digital assistants, enterprise digital
assistants or mobile phones.

•These applications can be pre-installed on phones during


manufacturing platforms or delivered as web applications
using server-side or client-side processing (e.g., JavaScript)
to provide an "application-like" experience within a Web
browser.
Source: Wikipedia.org

Mobile Apps Market


•Application software developers deal with a long array of screen
sizes, hardware specifications, and configurations because of
intense competition in mobile software and changes within each of
the platforms.

•Mobile app development steadily growing in revenues


–A 2013 analyst report estimated there are 529,000 direct app

economy jobs within the EU 28 members, 60% of which are


mobile app developers
Mobile applications: devices, platforms,
operating systems

Development Cycle
Development Features

Mobile System Development


Type of Apps

Traditional vs. Agile


Traditional
•Early analysis and design.
•Insures an acceptable system.
•Mitigates risk early in the development process.
Agile
• Emergent.
• A product of the process.
• Always ready for change.
• Evolving.
Traditional techniques
•Project management
•Organization
•People
•Code
•Techniques in context

Project management techniques


(TRADITIONAL)
•Estimation
–Gannt charts

–PERT charts

AGILE time management: sprints


INFO100: Privacy and Security
Agenda
•What is Security
•What is Privacy
•Privacy Threats
•Privacy Worldwide
•Cybersecurity
•Encryption
•GDPR Information Life Cycle
•CIA model

Security Definition [Merriam Webster


Dictionary]
Essential Meaning of security
1: the state of being protected or safe from harm
2: things done to make people or places safe Definition of
cybersecurity: Measures taken to protect a computer or
computer system (as on the Internet) against unauthorized
access or attack

Privacy Definition
•Privacy: The right of people to choose freely under what
circumstances and to what extent they will reveal
themselves, their attitude, and their behavior to others.
•Generally, privacy concerns four aspects of our lives: our
bodies, territory, personal information, and communication

What is effect of the privacy definition?


•This definition underlines first that it is the person who
decides the circumstances and the extent to which
information is revealed, not anyone else.
•Second, it emphasizes that the range of features over
which the person controls the information and considers
every aspect of the person—themselves, their attitudes,
and their behaviors.
•Strong privacy laws protect that the dissemination of
our information.
Sometimes we want publicity, sometimes we don’t.

Voluntary Disclosure
•In principle, a person can enjoy perfect privacy by simply deciding not to
reveal anything to anyone
•It may be in our interest to reveal private information, freely in exchange
for real benefits
–The government may have information on us regarding our parents’
names and birthplaces for the purpose of enjoying the rights of citizenship;
–Credit card companies get our personal information to check our credit
record in exchange for the convenience of paying with a card;
–Doctors receive our personal information so they can help us stay healthy.

Privacy Threats
Government
•Historically, the governmental threat of spying on its citizens,
worries people the most

Business
There are two types of business threats:
•Surveillance of employees
•The use of business-related information for other purposess

When is private information shared?


•Buying a product at a store generates a transaction,
which produces information.
•Paying with cash generally ensures anonymity
Private data is collected when:
•Paying by check, credit card, or debit card
•Purchasing through mail order or on the Internet
•Providing a “preferred customer” number
•Buying a product that must be registered for a service
agreement or warranty

How is information used?


•Transaction information is a normal part of conducting
business (keeping a record until our check clears).
•The information belongs, then, to the store.
•If the store decides, based on your previous purchases, to
send you ads for other items, the store is using the
information for the standard business practice of generating
more business.
•If the store sells the customer’s name to others has the
information been misused?
•Is it misused if the information gets to the newspaper and is
published?
•Has the store broken the law?

Privacy
•Trusting software depends on various elements, one of
which is the protection of user privacy.
•Protecting privacy is about:
–complying with user's desires when it comes to
handling personal information,
–the user’s right to determine when, how and to what
extend information about them is communicated to
others.
•Solutions given by the modern practices for ensuring
privacy during the design of information systems.
Privacy in e-services, social media
•Most e-services rely on stored data for identifying
customers, their preferences and previous record of
transactions. Combining such data constitutes in many
cases, an invasion of privacy.
•The development of a global information society results
in the rapid development of new information
infrastructures that span among various countries.
–This creates additional threats regarding privacy
protection of the users using these global resources.

Fair Information Practices


•If people or organizations are free to give or sell the
information to anyone else, they are also revealing
information about us.
–Our privacy is compromised
•There must be clear guidelines adopted for handling
private information:
–The Fair Information Practices principles.

OECD Fair Information Practices


•In 1980 the Organization for Economic Cooperation and
Development (OECD) developed an eight-point list of privacy
principles that became known as the Fair Information Practices.
•They have become a widely accepted standard.

The standard eight-point list of OECD


privacy principles.
Privacy Worldwide
•The European Union (EU) issued a benchmark law
incorporating the OECD principles
•EU Directive requires that data about EU citizens be
protected by the standards of the law even when it leaves
their country
•Adopted by Australia, Canada, Hong Kong, and New
Zealand
38 members adopted OECD
principles[Wikipedia; May of 2021]

Businesses’ Disrespect of the Rules


•US businesses and government gathers data contrary
to the OECD rules
•Patriot Act makes it a crime to say that data gathering
is taking place
•Almost every store and company has information about
the customers;
•The privacy policies often say “We use the information
however we like.”

Government Threat
[Snyder, pp.354]
•In June 2013, Edward Snowden revealed that the U.S. government was
collecting complete metadata records from telephone carriers
–it is still unknown if these allegations are true
•The government was also collecting online activity from Facebook, Microsoft,
Google, etc.
•Included data to calls to other countries
Modern Devices and Privacy
•In the past, it was hard for people’s privacy to be
violated without their knowledge.
•With modern technological devices, people’s
privacy can be violated without their knowing it.
•We deserve that our information is guarded
against improper circulation.

Tracking in Electronic Privacy: Web


Tracking
Online tracking:
Web site automatically sending details about
your visit to other content providers
(to show you adds and other products)

“Do Not Track” Flag


•HTTP has a “Do Not Track” flag that tells Web servers
your tracking preferences.
•It is up to the Web server to honor your request.
•It is often used to target advertising and marketing
organizations.
–Anyone could arrange to follow your “click streams”.
•“Do Not Track” is controversial because consumer
behavior is very valuable, but people do not want
anyone following them around (even online).

Tracking in Electronic Privacy: Cell phone


Tracking
•Cell phone tracking: positioning information,
used to map your physical location

Cookies
Cookies are exchanged between the client and the server on each
transmission of information, allowing the server to know
which of the many clients is sending information. If the Web site
includes ads on its page, the server may direct it to link to the ad
company to deliver the ad.

How do the cookies work ?

Abuse of Cookies
•All browsers allow users to control how cookies are
processed
•Users could turn them off, forcing the browser to ask them
every time whether you will accept a cookie or not
•There are choices: users can set the browser’s cookie policy
to their own comfort level
•Turning off cookies prevents you from being able to bank
online!

Identity Theft
•The Security Principle states that those who hold private
information are obligated to maintain its privacy against
unauthorized access and other hazards.
Figure: Types of identity fraud.
Source: Alexander (2015)Alexander, A. (2015). Protecting yourself from
identity theft.
Retrieved from www.thewatermarkgrp.com

The Risks: What can happen?


•Mischief: infecting a computer, causing a nuisance,
erasing files, trashing files
•Information theft: stealing personal information
•Spying: surreptitiously recording videos of the user,
logging keystrokes, compromising secure online
activities
•Resource theft: taking over a computer

What is Malware?
•Virus: shared program the contains code to reproduce itself
•Worm: program that is often embedded in an attachment,
reproduces itself and sends a copy to everyone on your
contact list
•Exploit: when software takes advantage of bugs in
commercial software
•Trojan: malicious program that performs unauthorized
activities

What does Malware do?


•Backdoors: software that creates an access path
allowing attackers to run any program on your computer
•Trojans: may record every key you type (trying to find
passwords), extort money, watch for banking and credit
card information
•Rootkits: infects your computer and then fights back
against security systems

Cybersecurity
Definition:
•Measures taken to protect a computer or
computer system (as on the Internet) against
unauthorized access or attack
Encryption
[Snyder, pp.367-370]
Encryption

5-Step Encryption algorithm


•The sender breaks the message into groups of letters
•“Multiply” each group of letters times the key
•Send the “products”/results from the “multiplications” to
the receiver
•The receiver “divides” the “products” by the key to
recreate the groups
•Assemble the groups into the message

Fault Recovery Program


Full backup
•A complete copy of everything written on the system as
of a date and time
Partial backup
•Changes since the last full (or partial) backup are
saved.
•“Changes” means to keep a copy of any files or folders
that have been created or modified.
Recovering Deleted Information
•If user accidentally deletes important files, file
restoration is of great help!
–Backup is very important!
•Backups can save evidence of crimes or inappropriate
behavior (digital copies of files are easy to create and
store)
•Two copies of are produced immediately when the
Send button is clicked:
–one in the sent mail directory,
– one somewhere else.

Platform level security services: Firewall


A Firewall is a program or hardware device that
filters the information coming through the
internet connection into your private network or
computer system.

Design goals of a firewall


All the network traffic from internal to external must go
through the firewall physically.
Only authorized traffic which is delineated by the local
security policy will be allowed to proceed.

Firewall itself is resistant to penetration inclusive is a solid


trustworthy system with a protected operating system.

What is Data Protection?


•Data Protection refers to legislation that is intended to:
–protect the right to privacy of individuals (all of us)
–ensure that Personal Data is used appropriately by organizations
that may have it (Data Controllers).

What is GDPR?
The General Data Protection Regulations (GDPR) is new EU legislation
that comes into effect on May 25th, 2018.

It very clearly sets out the ways in which the privacy rights of every EU
citizen must be protected and the ways in which a person’s ‘Personal Data’
can and can’t be used.

It places the obligation on any person or entity involved in the processing of

a person’s information (Data Controller/Data Processor) to comply with the


legislation and to demonstrate compliance

It carries significant penalties for non-compliance

GDPR Information Life Cycle


Under GDPR, the information life cycle will remain broadly the
same, however there are additional factors to be considered at
each stage.
Capture
• What you are allowed to capture
• How you may do so
• What you must tell the person in advance
• What you must get from them (their permission)

Store
• How you must store it
• Where it can be stored
• Obligations of third parties
• What happens if you lose it

Use
• What you can use it for
• What you can’t use it for

Destroy
• How long you can keep it for
• When you must destroy information

What is the CIA model?


•A widely accepted model designed to guide policies for information security
for any secure system.
•CIA stands for:
–Confidentiality
–Integrity
–Availability
•The elements of the triad are considered the three most crucial components
of security.

CIA triad
Confidentiality: It is the ability to hide information from
unauthorized person. Cryptography and encryption methods are
often used to ensure confidentiality.

Integrity: It is the ability to ensure that data has not been altered
or modified by unauthorized party.

Availability: To ensure that the information concerned is


accessable to the authorized viewer at all times.
Privacy Protection Efforts
•Technological solutions for assuring user privacy during
software implementation (referred to as Privacy Enhancing
Technologies or PETs).

•Understanding the relationship between user needs and the


capabilities of the supporting software systems.

•Development security-oriented requirement engineering


methodologies which consider security issues (including
privacy) during the early stages of system development

•Privacy cannot be protected only by laws and regulations.

Privacy Oriented Approaches


•The NFR (Non-Functional Requirement Framework) method
•The i method ∗
•The Tropos method
•The KAOS method
•The GBRAM (Goal-Based Requirements Analysis Method)
method
•The RBAC (Role-Based Access Control) method
•The M-N (Mofett-Nuseibeh Framework) method
•The B-S (Bellotti-Sellen Framework) method
•The STRAP (STRuctured Analysis for Privacy) method
•The PriS (Privacy Safeguard) method

The NFR (Non-Functional Requirement


Framework) method
•The analysis begins with soft goals that represent NFR which
stakeholders agree upon.

•Soft goals are goals that are hard to express, but tend to be global
qualities of a software system:
–usability, performance, security and flexibility in a given system.

•Structuring of the data using a framework.


Structuring Non-functional requirements
1. Goal Modelling
The finalized softgoals are usually decomposed and refined to uncover a tree structure of goals
and subgoals

2 Finding interfering softgoals in different trees security goals generally interferes with usability.

3. These softgoal trees now form a softgoal graph structure.

4. Pick some particular leaf softgoals, so that all the root softgoals are satisfied.

Role-based access control (RBAC)


•A method of restricting network access based
on the roles of individual users within an enterprise.
•RBAC ensures employees access only
information they need to do their jobs and prevents them
from accessing information that doesn't pertain to them.
INFO100: Human Computer Interaction
(HCI)
Agenda
•HCI definition
•User Centered Design
•Design Iterations
•Evaluation
•Nilsen's heuristics
•System Usability Scale (SUS)
•Developing Interactivity
•Low, Middle, High fidelity prototype(s)

Human–computer interaction (HCI)


[Wikipedia]
•HCI is research in the design and the use of computer
technology, which focuses on the interfaces between people
(users) and computers.
•HCI researchers observe the ways humans interact with
computers and design technologies that allow humans to interact
with computers in novel ways.
•Situated at the intersection of several sciences
Why the Term HCI?
•The notion of dialogue likens human-computer interaction to
human-to-human interaction:
–the analogy is important for the development.
•Computers have many uses which often involve an open-
ended dialogue between the user and the computer.

Information Flow
• Visual Based: The visual-based human-computer interaction is probably the most
widespread human-computer interaction (HCI) research area.
• Audio Based: This area deals with information acquired by different audio signals.
• Task environment: The conditions and goals set upon the user.
• Machine environment: The computer's environment is connected to a particular
computer.
• Areas of the interface: The overlapping areas only concern themselves with the
processes of their interaction.
• Input flow: The flow of information begins in the task environment when the user
has some task requiring using their computer.
• Output: The flow of information that originates in the machine environment.
• Feedback: Loops through the interface that evaluate, moderate, and confirm
processes as they pass from the human through the interface to the computer and
back.
• Fit: This matches the computer design, the user, and the task to optimize the
human resources needed to accomplish the task.

Experimental Design
•Tasks
•Empirical Measurement
•Iterative Design

Experimental Design Principles: Tasks


Early focus is placed on the user(s) and task(s):
•How many users are needed to perform the task(s)
•Who the appropriate users should be is
–someone who has never used the interface, and will not use the
interface in the future, is most likely not a valid user
•What task(s) the users will be performing, and
•How often the task(s) need to be performed is defined.

Experimental Design Principles: Empirical


Measurement
•The interface is tested with real users who come in
contact with the interface daily.
•The results can vary with the performance level of the
user and the typical human-computer interaction may
not always be represented.
•Quantitative usability specifics are defined:
•the number of users performing the task(s)
•the time to complete the task(s)
•the number of errors made during the task(s) are
determined.

Experimental Design Principles: Iterative


Design
•After determining what users, tasks, and empirical
measurements to include, the following iterative design
steps are performed:
–Design the user interface
–Test
–Analyze results
–Repeat
–The iterative design process is repeated until a
sensible, user-friendly interface is created.

Quality in Use: Concepts to Address


•User, usability
•Tasks
•Productivity, functionality
•Design, methods, quality
Qualities in Use
•Aesthetic values: the feeling of a trustworthy system
•Practical values: easy to learn, effective use, possibility
to abort actions
•Psychological values: cognitive ease of use,
psychological support
•Autonomic values: Freedom of choice
•Social values: facilitate consent, supporting, sharing

Design for Usability


•The design process is a constant shifting
between
the following three abilities
–The ability to understand and formulate the
design problem
–The ability to create design solutions
–The ability to evaluate those solutions
Design Aspects
•Usability: a matter of practical utility
•From practical to subjective and social
•Quality in use: multiple perspectives
•Ethics and moral reflections
•Constructions and material considerations

Heuristic Evaluation
Heuristic principle (website system
example)

Nielson & Molich Rules oh Thumbs


System Usability Scale (SUS)
•System Usability Scale (SUS) is a simple, ten-item
attitude Likert scale giving a global view of subjective
assessments of usability. It was developed by John
Brooke in1986.
Measurements of usability have several different
aspects:
• effectiveness (can users successfully achieve their
objectives)
• efficiency (how much effort and resource is expended
in achieving those objectives)
• satisfaction (was the experience satisfactory).

System Usability Score (SUS):


Statements
Even numbered questions positive
Odd numbered questions negative
•I think that I would like to use this system frequently.
•I found the system unnecessarily complex.
•I thought the system was easy to use.
•I think that I would need the support of a technical person to be able to use

this system.
•I found the various functions in this system were well integrated.
•I thought there was too much inconsistency in this system.
•I would imagine that most people would learn to use this system very
quickly.
•I found the system very cumbersome to use.
•I felt very confident using the system.
•I needed to learn a lot of things before I could get going with this system.
Why the System Usability Scale (SUS)?
• A comparison of five questionnaire for assessing
usability of a website, concluded that the SUS
survey gave the most reliable results (Tullis &
Stetson, 2004).
Are 3 users enough?
Approximately 60 % usability problems found
by 3 evaluators.
User-Centered Design (UCD)
•User-Centered Design (UCD) is a design process
where the focus is on the intended user and their needs
throughout the design process.
•Good design is more than just content. Users are
expecting to be presented with a well-functioning and
easy to use systems, so it is important to have a good
User Interface (UI).

User-Centered Design (UCD):4 phases


1. Understand the context of use.
2. Specify requirements, both functional and non-
functional.
3. Produce design solutions .
4. Evaluate the design.
–It is important to test and evaluate each design iteration to be
sure that the outcome will be satisfactory for the intended user.
–If not, the process is repeated until the users’ needs are met.
Prototyping
•It is creating interactive products for the user to test and
evaluate.
•It can be hard for users to explain exactly what they
want, but easy to say what they do not want once they
have a product to interact with.
•A prototype can be anything from a hand-drawn
prototype to a complex system since a prototype only is
a temporary version of the product.

Prototyping (types)
Low fidelity
Good for creating a layout and multiple design options but is
bad at discovering usability issues.
–Sketching, Wireframing, Mock-up.
Middle fidelity
A mixture of the correct content and functionalities but is
still missing key elements, such as full functionality
High fidelity
Close to the final product. The prototype is easy to evaluate
and test on when trying to detect usability issues.
Requires a lot of energy and time.

*Design Principles: Visibility & Feedback


Visibility
•A user should see all the different options they can click on.
Nothing should be hidden for the user because the User
Interface (UI)I should be intuitive.
Feedback
•Information (feedback)is for the user to understand that the
action they performed has been accomplished. The user
should never guess what the consequence of their action
was. Feedback can come in many forms, but in interaction
design, it is normal to use feedback such as visual, tactile and
audio.
*Don Norman’s Principles of Interaction Design

*Design Principles: Constrains & Consistency &


Affordance
Constrains
•Design should make it harder for a user to make mistakes. It
will limit the range of interaction options for the user since
many options can make users confused about what the right
option.
Consistency
•There should not be any surprises in the design, meaning
that similar operations and similar elements should be used
for achieving similar tasks.
Affordance
•Using symbols people already are used to, so they
understand what the action is:
–an envelope meaning mail
–a house meaning home etc.

Concluding remarks on HCI


•HCI is filed that is making possible exchange between
the user and computer.
•The interaction is resulting from the design solutions
that consider user needs and evaluation of the design
solutions.
•Important evaluation measures are Nielsen Heuristics
and System Usability Scale (SUS).
•Prototyping is used to design interactions starting from
ideas to enabling interaction as in a final product.
INFO100: Information and
Communication Technology (ICT)
in Society
Agenda
•ICT definition
•Information Society Definition
•International Digital Economy and Society Index (I-DESI)
•Positive and Negative Sides of ICT
•Work and ICT
•Technology Acceptance (Model)
•Learning from the ICT collected data

Information Society [Wikipedia]


An information society is a society in which creation, distribution, diffusion,
use, integration and manipulation of information is a significant economic,
political, and cultural activity.

Information Society (OECD, 1994)


Information Society means social and economic structure, where productive
usage of a resource such as information, as well as knowledge-intensive
production performs a prominent role...and where individuals, such as
consumers, workers, use information extensively
(OECD, 1994)

ICT Sector
•The ICT sector is defined as the industries that
produce goods and services for the information
society.
•ICT sector includes:
–ICT industry
–ICT wholesale and retail trade
–ICT consultancy services
–Telecommunication

Pillars of Information Society


•People ("Digital citizens"):
Distribution of high intellectual technologies among the digital citizens
must be even, fair, and that the digital citizens must be capable of using
the technologies.
•Infrastructure and public administration ("Digital administration"): Use
online connectivity and real time interactivity products and services for
information.
•ICT industries ("Digital industry"):
High ratio of employment in the services sphere, and ICT economy
must be dominant economic processes.

DESI Index
•International DESI 2020
The International Digital Economy and Society Index (I-
DESI) mirrors and extends the DESI by utilizing 24
datasets to enable trend analysis and comparison of the
digital performance of 45 countries. The analysis
includes the EU27 Member States and 18 non-EU
countries that have a global distribution.
Positive Impacts of ICT
•The Internet has brought substantial and positive changes to
society. Social interactions have been extended well beyond the
experiences that previous generations could enjoy. We will focus on

a few examples that have brought “positive change”


•Access to information
•Improved access to education, e.g. distance learning and on-line
tutorials
•New ways of learning, e.g. interactive multi-media and virtual
reality
•Availability of remote services e.g., telemedicine
•New job opportunities, e.g. flexible and mobile working, virtual
offices
•Jobs in the communications industry
•New opportunities for leisure and entertainment
•New tools

Crowdsourcing: The Power of the Crowd


•Refers to solving a problem or achieving a goal by
combining the contributions of a large, unconstrained
volunteer population.
•Wikipedia is perhaps the most famous of the
crowdsourcing enterprises.
•The goal is to build a database of all knowledge
through a global effort.

Crowdsourcing: Foldit Game


•Foldit is a game program in which teams
compete to fold a protein.
•Foldit program works on proteins that are
important to AIDS, cancer, and
Alzheimer’s research.
•Using Foldit, the structure of the protein
associated with the AIDS virus was solved
in three weeks.

Crowdsourcing: Kickstarter
•People with creative projects pitch their
ideas:
–They say what they’ll do
–How much money they need
to do it
–Why it’s important, etc.
•Donors can contribute toward the goal.
•If the goal is achieved the project is
funded; otherwise, the donors get their
money back
Negative Impacts of ICT
•Reduced personal interaction
•Reduced physical activity
•Digital divide: causing a digital divide between those who
can access information and those who cannot, reducing
levels of education and understanding due to the vast
amount of incorrect and misleading information that is
available causing moral and ethical problems due to the
nature of some of the material available.
•Job loss
•Manual operations being replaced by automation. e.g.
robots replacing people on an assembly line.
•Job export. e.g. data processing work being sent to other
countries where operating costs are lower.

Technology Acceptance Model

Eirik Åsheim: Acceptance of IT System


Transition
(M.Sc. Thesis)
Main research goal: To better understand employees'
experience of an IT transition.
Fugro Norway
•700 employees - half offshore
•Oil industry - oil exploration
•Renewable energy - offshore wind power
•Other - power lines on the seabed
Data Collections and Analysis
The methods used
•Interviews, qualitative analysis and modelling
• Data collection: 140 pages of transcribed interviews.
Results
•different concepts or elements from the interviews
•Different categories relating these elements to gain
an understanding of how employees experience such
an IT transition

Reflections on the Study Findings


•The categories are result of the subjective perception of the
transition
•Some categories depend on the attitude employees, some on
the system's potential.
•The context that affects everything
–Special focus in relation to this task was the organizational
culture and organizational identity.
–How companies prepare the changes will influence the
transition and the user satisfaction.

Learning from the Collected Data


•RQ1: Can machine learning regression models be used
to data mine Norwegian level-of-living survey data?
•RQ2: Can visualizations present the results from
RQ1 and make the information interesting for non-
experts?

Methods and Data Sets and


Development Ierations
INFO100 Obligatorisk opgave nr. 9
1. Hva er fem grunnleggende deler (undersystemer) av en
datamaskin?
The I/O, control, Arithmetic Logic Unit and Memory

2. Hva er RAM? Hvilken struktur har den? Hva er dens


egenskaper?
The Random Access Memory or RAM is the memory of the computer made of
memory chips, as the name states it stores the memory in random order but as
sequence of discrete location composed of 1 byte or 8 bits which can store one
ASCII character or a number between 255 and below. Properties the RAM has is
that each location of a memory is given an address. The location also can record or
store values.

3. Hva er CPU?
The Control Processing Unit or CPU is an electronic circuitry which retrieves and
executes instructions from the computer. While RAM is the memory, CPU is the
brain of the system.

4. Hvilke tall skal være på plassering 4000?


I made a table to show it
2000 2080 4000
48 + 2 -> 50
2000 2080 4000
9 + 0 -> 9
2000 2080 4000
14 + 14 -> 28

5.Hvilke språk presenteres i figuren nedenfor? Hva er deres


funksjon?
The first box which is the blue one presents Programming languages such as C, C+
+, Java etc. This language is what allows computers to understand and “interact”
(execute, run, extract etc.) the given instruction by what would be a programmer.
The second box, the purple one presents Assembly Language which is a machine
language that are human-readable. This allows us human to understand the
representations in our “own” language which is by words.
The third box, the Green one presents Binary representations. This is the digital
representation or digital encoding/decoding system representing absence or
presence which

6.Hva slags operasjoner presenteres av flytskjemaet nedenfor?


This is a basic flowchart which is a graphical representation of what would be an
algorithm. This pseudocode represents a very simple algorithm which takes an input,
runs it through its instruction where if the number is larger than 0 but smaller than 20
it should get incremented by one number each cycle displaying the output until it
reaches the number 20.

7. Hva er ARPA Network? Hvilke var de første sentrene som


ble med?
The Advanced Research Project Agency or ARPA Network was the first network to
implement the TCP/IP protocol and established a network connection between 4
universities and research centres. It was established in 1969 and the first uncenters
which connected were The Research Institute in Palo Alto, University of Utah,
University of California in Los Angeles (UCLA) & Santa Barbara (UCSB).

8. Hva er NORSAR?
The Norwegian Seismic Array or NORSAR was the first non-US node established on
ARPANET. ARPA Network became international in 1973 connecting Norway though
Sweden and Virginia to the US though satellite links.

9. Hva er egenskapene til INTERNETT-kommunikasjon?


I think the questions ask about the good things communication through the internet
has or the properties? If that is the case then besides it being instantaneous, it
supports point-to-point asynchronous communication, it allows for multicasting
making it possible for groups to communicate, it can broadcast and it basically allows
for devices to connect and communicate

10. Hvordan fungerer Transition Control Protocol


(TCP)/Internet Protocol (IP)?
It is a protocol which allows the communication between computers. It works by
establishing communication and connection between a destination with its source, a
server, and a client. The data is sorted or organized in order to be transmitted. The
data will go through the layers of protocol and proceed by going across the network
to the layers of protocols on the remote system.

11. Hva er SSH? Virker det?


Secure Shell or SSH is a type of protocol used to secure and allow access when
there is an unsecured network. It is quite reliable as there are various ways of
creating encrypted keys in order to secure connections between sources and clients.

12. Hvordan fungerer grunnleggende klient-tjener-interaksjon?


Hva skjer når du ber om informasjon fra Internett?
The client will request an action through a device, the request will get sent to the
server and after getting verified it will send back the result or the destination of the
request back to the client. So basically, the client asks to get Access and the server
will respond by accepting or denying.
INFO100 Mandatory Assignment no 10

1. What are components of computer networking?

b. use of physical network infrastructure (switches, routers and wireless


access points, underlying firmware that operates such equipment), the
software necessary to monitor, manage and secure the network; use of
standard protocols to uniformly perform discrete functions or communicate
different types of data, regardless of the underlying hardware.

2. The figure below is presenting:

c. Internet of Things

3. The figure below presents

c. Hypertext Transfer Protocol

4. The figure below presents:

c. OSI model

5. The figure below presents

b. HTTPS with Public key encryption

6. The below presented system is an example of:

b. Decision support system

7. The below presented system is an example of:

c. Knowledge management system

8. The below presented system is an example of:

It’s an information system type named communication systems

9. Why are AGILE methods presented symbolically even with an


umbrella?
b. It is a term used to illustrate a group of methods sharing the same
features, that are not of the
same background.

10. What kind of system development method is presented below?

b. Agile

11. What is the Agile Manifesto suggesting?

c. Advise to be flexible when developing systems to maintain time limits.

12. The office space below is characteristic of

a. Traditional system development

13. The office space below is characteristic of

b. Agile system development.

14. The figure below is presenting

a. Everything and everyone who is controlled by database management


system (DBMS).

15. The figure below is showing

c. Relational database (tables + relations)

16. What is a primary key?

c. It is a column or group of columns in a table that uniquely identify every


row in that table.

17. When data is directly accessible, simplified, with no redundancy,


we say it is:

b. Normalized

18. The figure below is showing

c. The heuristics used to obtain user feedback on the system they are
developing.
19. The results of the system usability testing are showing three
usability scores. They are:

c. Average to very good.

20. According to DESI report on digitalization in Europe (2017 report),


Norway is

b. Better than Sweden

You might also like