SlideShare a Scribd company logo
Knowledge Representation
in
Digital Humanities
Antonio Jiménez Mavillard
Department of Modern Languages and Literatures
Western University
Lecture 2
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard
* Contents:
1. Why this lecture?
2. Discussion
3. Chapter 2
4. Assignment
5. Bibliography
2
Why this lecture?
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard
* This lecture...
· outlines programming languages as the
highest type of formal languages, which
makes them ideal for KR
· describes how computers, the essential
tool for DHers, work at programming
level
3
Last assignment discussion
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard
* Time to...
· consolidate ideas and
concepts dealt in the readings
· discuss issues arised in the specific
solutions to the projects
4
Chapter 2
Principles of Computing
1. Overview on computers
2. Programming languages
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard5
Chapter 2
1 Overview on computers
1.1 What is a computer?
1.2 Computer components
1.3 How does a computer work?
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard6
Chapter 2
2 Programming languages
2.1 User vs programmer
2.2 What is a programming language?
2.3 Classification
2.4 History of programming languages
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard7
Overview on computers
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard8
What is a computer?
* Definition
· A computer is a programable machine
that processes input data and produce
output information
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard9
What is a computer?
* Computers in History
· Abacus
+ Calculating device
+ Three arithmetic
functions: + - x
+ Dated from 2700
to 2300 BC
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard10
What is a computer?
* Computers in History
· Antikythera mechanism
+ Analog computer
+ Calculates
astronomical
positions
+ Dated to the
early 1st cent. BC
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard11
What is a computer?
* Computers in History
· Pascaline
+ Adder machine
+ Invented by
Blaise Pascal
in 1640s
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard12
What is a computer?
* Computers in History
· The Stepped Reckoner
+ Mechanical calculator
+ Four arithmetic
functions:
+ - x %
+ Invented by
Leibniz in 1673
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard13
What is a computer?
* Computers in History
· Difference Engine &
Analytical Engine &
Difference Engine
No. 2
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard14
What is a computer?
* Computers in History
· Difference Engine & Analytical Engine &
Difference Engine No. 2
+ First programable computer
+ Memory & Processing Units &
Punched-card Input
+ Invented by Charles Babbage
from 1821 to 1848
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard15
What is a computer?
* Computers in History
· ENIAC
+ Electronic
calculator
+ Vacuum tubes
+ Invented by
John Mauchly
in 1942
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard16
What is a computer?
* Computers in History
· Turing Machine
+ Theoretical
+ Equivalent to
any computer
+ Invented by
Alan Turing
in 1937
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard17
What is a computer?
* Computers in History
· Modern computers
+ Turing-complete
+ Von Neumann
architecture
+ Integrated
circuits
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard18
References
“Computer History Museum.” N. p., n.d. Web. 30 Nov. 2013.
De la Rosa, Javier. “Computer Tools for Linguists.” Yutzu. N. p., n.d. Web. 16 Sept. 2013.
Georges Ifrah. “Chapter 5: From Clockwork to Computer: The History of Automatic Calculation.” The Universal History of
Computing: From the Abacus to the Quantum Computer. Wiley, 2001. Print.
Georges Ifrah. “Chapter 6: What is a Computer?” The Universal History of Computing: From the Abacus to the Quantum
Computer. Wiley, 2001. Print.
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard19
Computer components
* The architecture describes a computer in
terms of its componentes and their
relationships
* It also defines the instruction set
* Most of modern computers follow Von
Neumann's architecture
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard20
Computer components
* Von Neumann's architecture:
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard21
Computer components
* Hardware:
· CPU
· Memory
· Input/Output
* Operating System
* Software
· Applications
· Programming software
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard22
Computer components
* CPU (Central Processing Unit) or Processor
1. Read an instruction from memory
2. Read data from memory if needed
3. Execute the instruction
4. Write the result into memory if needed
5. Get ready for next instruction
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard23
Computer components
* RAM (Random Access Memory)
· Area where the system holds data (values
and program code) waiting to be
processed by the CPU
· This area can be seen as a huge “table”
where the rows are memory positions and
the columns are offsets with respect to
each memory position
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard24
Computer components
* RAM (Random Access Memory)
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard25
Computer components
* HD (Hard Disk/Drive)
· Area where the system stores information
· The way in which the Operating System
controls how information is stored and
retrieved is called file system
· The file format specifies how information
is encoded in a digital storage medium
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard26
Computer components
* RAM vs HD
· RAM: small, fast and temporal
· HD: big, slow and permanent
· The OS moves from the HD to the RAM
only the data (vales and program code)
it needs to run a program
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard27
Computer components
* Input
· Keyboard
· Mouse
· Microphone
* Output
· Screen
· Printer
· Speakers
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard28
Computer components
* Operating System
· Examples:
+ OS X
+ Ubuntu
+ Android
+ Windows 8
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard29
Computer components
* Operating System
· Connects software with hardware and
handles everything between both:
+ Memory
+ File system
+ I/O
+ ...
· Examples: Ubuntu, Android, OS X,
Windows 8...Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard30
Computer components
* Operating System
· The file system is the way in which the
OS controls how information is stored
and retrieved
· The file format specifies how information
is encoded information in a digital
storage medium
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard31
Computer components
* Operating System
· Two types of files:
+ Text file
- Contains human readable plain text
- Encoded in a encoding scheme
(UTF-8, Latin 1...)
- Examples: txt, HTML, CSV
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard32
Computer components
* Operating System
· Two types of files:
+ Binary file
- Contains any type of data
- Encoded in binary
- Examples: zip, JPEG, AVI
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard33
Computer components
* Operating System
· Size units:
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard34
1 B 8b
1 KB 1024 B
1 MB 1024 KB
1 GB 1024 MB
1 TB 1024 GB
b bit
B byte
KB kilobyte
MB megabyte
GB gigabyte
TB terabyte
Computer components
* Applications
· An application is a computer software
designed to help people to perform a
task
· Examples: word processor, spreadsheet,
image editor, videogame, web browser...
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard35
Computer components
* Programming software
· A programming tool or software
development tool is a program or
application that software developers use
to create, debug, maintain, or otherwise
support other programs and applications
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard36
Computer components
* Programming software
• An IDE (Integrated Development
Environments) combines the features of
many tools into one package
+ source code editor
+ build automation tools
+ debugger
· Examples: Eclipse, Jbuilder, Komodo
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard37
References
Andrew S. Tanenbaum. “Chapter 1: Introduction.” Modern Operating Systems. 2nd edition. Pearson, 2001. Print.
Barata, Kimberly. Understanding Computers: An Overview for Records and Archives Staff. International Records
Management Trust/International Council on Archives, 1999. Print.
De la Rosa, Javier. “Computer Tools for Linguists.” Yutzu. N. p., n.d. Web. 16 Sept. 2013.
John Hennessy, and David Patterson. “Chapter 1: Fundamentals of Quantitative Design and Analysis.” Computer
Architecture: A Quantitative Approach. 5th Edition. Morgan Kaufmann, 2011. Print.
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard38
How does a computer work?
* The computer...
1. accepts input data
2. performs pertinent operations with
input and stored data (processing)
3. stores data and keep processing while
needed
4. produces output information
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard39
How does a computer work?
* How does a modern computer work?
The concrete behaviour depends on the
particular application
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard40
How does a computer work?
* How does a modern computer work?
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard41
Type of
program
Input What does the
program does
Output
Word processor Characters
typed from
the keyboard
Formats the
text, corrects
the spelling...
Displays and
prints neatly
organized text
Video game Keystrokes,
joystick
movements
Calculates how
fast and far
to move a
cartoon figure
on-screen
Moves a
cartoon figure
on-screen
How does a computer work?
* How does a modern computer work?
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard42
Type of
program
Input What does the
program does
Output
Web browser HTML codes on
other
computers
Converts the
HTML codes
into text and
graphics
Displays web
pages
on-screen
OCR software Text from a
scanner
Recognizes
shapes of
characters
Converts
scanned
documents into
a text file
Programming languages
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard43
User vs programmer
* Tipically, to use a computer, someone can:
· Use an application previously developed
by a programmer (user rol)
· Develop their own application by using a
programming software (programmer rol)
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard44
What is a programming language?
* Definition
· A programming language is a formal
language designed to communicate
instructions to a computer
· Formal/Artificial vs Human/Natural
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard45
What is a programming language?
* Definition
· A formal language:
+ has a formalized morphology, syntax
and semantics
+ is computationally processable
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard46
What is a programming language?
* Definition
· morphology: keywords (vocabulary)
+ Example: var, defun, if
· syntax: grammar rules
+ Example: x = y + 1; (assignment)
· semantics: meaning
+ Example: x * 2 + 1 ≡ (x * 2) + 1
(operator precedence and associativity)
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard47
Classification
* Language levels
· Low-level languages
+ Close to machine
· High-level languages
+ Close to human
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard48
Classification
* Programming paradigms
· Imperative (how)
+ Procedural (statements)
+ Object-oriented (interacting objects)
· Declarative (what)
+ Logic (logical sentences)
+ Functional (mathematical functions)
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard49
Classification
* Compiled vs Interpreted
· Compiled language
+ Program translated (compiled) into
machine language instructions by a
compiler and executed by a hardware
· Interpreted language
+ Program executed (interpreted) by an
interpreter (run-time environment)
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard50
History of programming languages
* Prehistory of programming languages
· Programmers of Babylon (1790 BC)
+ Written language
to describe
computational
procedures
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard51
History of programming languages
* Prehistory of programming languages
· Muhammad Al-Khwarizmi (762 AD)
+ Inventor of algorithms
+ Wrote
Kitâ al-jabr
wa'l-muqabâla
+ Translated into
Latin as Algoritmi de numero Indorum
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard52
History of programming languages
* Prehistory of programming languages
· Augusta Ada,
Lady Lovelace
+ First programmer
in history (1842)
+ Wrote a program
for Babbage Engine
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard53
History of programming languages
* Prehistory of programming languages
· Konrad Zuse
+ Designed Plankalkül (1945)
+ Never implemented as a real language
+ Many modern languages share
Plankalkül's features
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard54
History of programming languages
* Prehistory of programming languages
· Konrad Zuse
+ Plankalkül's features
- expressions, assignments
- types: bit, integer, real, arrays
- conditionals, loops, subrutines
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard55
History of programming languages
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard56
History of programming languages
* Fortran (1957)
· Paradigm: imperative
· First high-level language
· Scientific-oriented computing
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard57
History of programming languages
* Fortran (1957)
· Introduced
+ variables
+ loops
+ procedures
+ datatypes: boolean, integer, real...
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard58
History of programming languages
* Fortran (1957)
· Introduced
+ variables
+ loops
+ procedures
+ datatypes: boolean, integer, real...
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard59
History of programming languages
* Algol 58/60 (1958/1960)
· Paradigm: imperative
· Ancestor of contemporary languages
· Introduced
+ block structure
+ recursion
+ formal definition
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard60
History of programming languages
* Lisp (1958)
· Paradigm: functional
· Good for symbolic computing
· Language for Artificial Intelligence
· Syntax and computing based on lists
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard61
History of programming languages
* Cobol (1959)
· Paradigm: object-oriented
· Business-oriented computations
· Non-academic language
· Elaborate data structures
· Introduced
+ Record type as data structure
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard62
History of programming languages
* PL/I (1964)
· Paradigm: imperative
· Combination of the best features of
Fortran, Algol 60 and Cobol
· First language for general applications
· Introduced
+ event handling
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard63
History of programming languages
* Basic (1964)
· Paradigm: unstructured
· First language for personal computing
· Easy to learn
· Simple, limited, general-purpose
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard64
History of programming languages
* Simula 67 (1967)
· Paradigm: object-oriented
· Extension of Algol 60
· For concurrent processes
· Introduced
+ Object Orientation: classes and
encapsulation
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard65
History of programming languages
* Algol 68 (1968)
· Paradigm: imperative
· Extension of Algol 60
· General purpose language
· For academia
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard66
History of programming languages
* Pascal (1970)
· Paradigm: imperative
· Sucessor of Algol 60
· Academic language: excellent to teach
structured programming and good habits
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard67
History of programming languages
* C (1972)
· Paradigm: imperative
· For system programming (implementation
language of Unix) and personal
computing
· Very fast
· High-level and low-level language
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard68
History of programming languages
* Prolog (1972)
· Paradigm: logic
· Very high-level language
· Based on logic with proofs
· Very powerful:
+ Backtracking
+ Pattern matching
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard69
History of programming languages
* Smalltalk (1972)
· Paradigm: object-oriented
· Sucessor of Simula 67
· The purest object-oriented language
· Very powerful
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard70
History of programming languages
* Ada (1983)
· Paradigm: imperative
· For general applications
· Completely standard
· Supports concurrency
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard71
History of programming languages
* C++ (1983)
· Paradigm: object-oriented
· Extension of C, based on Simula
· Introduced
+ Assignment operator overloading
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard72
History of programming languages
* Haskell (1990)
· Paradigm: funcional
· Purely functional: no side effects
· Very high-level
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard73
History of programming languages
* Java (1995)
· Paradigm: object-oriented
· Based on C++
· Portable
· Full object-oriented language
· For internet programming but
general-purpose
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard74
History of programming languages
* Perl (1987)
· Paradigm: object-oriented
· Interpreted language
· For text processing
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard75
History of programming languages
* Python (1991)
· Paradigm: object-oriented
· Interpreted language
· For text processing
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard76
History of programming languages
* Ruby (1995)
· Paradigm: object-oriented
· Interpreted language
· Dinamically-typed
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard77
History of programming languages
* Javascript (1995)
· Paradigm: object-oriented
· Interpreted language
· For web programming
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard78
History of programming languages
* PHP (1997)
· Paradigm: imperative
· Interpreted language
· For web programming
· Dinamically-typed
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard79
References
Bergin,Jr., Thomas J., and Richard G. Gibson,Jr., eds. History of Programming Languages II. New York, NY, USA:
ACM, 1996. Print.
Fuegi, J., and J. Francis. “Lovelace & Babbage and the Creation of the 1843 ‘Notes.’” IEEE Annals of the History of
Computing 25.4 (2003): 16–26. IEEE Xplore. Web.
History of Programming Languages III. New York, NY, USA: ACM, 2007. Print.
Sammet, Jean E. “Programming Languages: History and Future.” Commun. ACM 15.7 (1972): 601–610. ACM Digital Library.
Print.
Wexelblat, Richard L., ed. History of Programming Languages I. New York, NY, USA: ACM, 1981. Print.
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard80
Assignment
* Assigment 2: Programming the Abacus
· Readings
+ Algorithm (Design And Analysis Of
Algorithms)
+ How to Program an Abacus
(http://baptiste.meles.free.fr/site/B.Meles-Abacus_presentation.pdf)
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard81
Assignment
* Assigment 2: Programming the Abacus
· Project
Let us have a 9-wired abacus with 9
beads on each wire:
+ Identify the CPU, memory and I/O
+ Define the instruction set
+ Write an algorithm that calculates the
sum of any two numbers
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard82
References
A.A.Puntambekar. “Algorithm.” Design And Analysis Of Algorithms. Technical Publications, 2010. Print.
Baptiste Mélès. “How to Program an Abacus.” N. p., n.d. Web. 5 Jan. 2014.
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard83
Bibliography
A.A.Puntambekar. “Algorithm.” Design And Analysis Of Algorithms. Technical Publications, 2010. Print.
Andrew S. Tanenbaum. Modern Operating Systems. 2nd edition. Pearson, 2001. Print.
Baptiste Mélès. “How to Program an Abacus.” N. p., n.d. Web. 5 Jan. 2014.
Barata, Kimberly. Understanding Computers: An Overview for Records and Archives Staff. International Records
Management Trust/International Council on Archives, 1999. Print.
Bergin,Jr., Thomas J., and Richard G. Gibson,Jr., eds. History of Programming Languages II. New York, NY, USA:
ACM, 1996. Print.
“Computer History Museum.” N. p., n.d. Web. 30 Nov. 2013.
De la Rosa, Javier. “Computer Tools for Linguists.” Yutzu. N. p., n.d. Web. 16 Sept. 2013.
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard84
Bibliography
Fuegi, J., and J. Francis. “Lovelace & Babbage and the Creation of the 1843 ‘Notes.’” IEEE Annals of the History of
Computing 25.4 (2003): 16–26. IEEE Xplore. Web.
Georges Ifrah. The Universal History of Computing: From the Abacus to the Quantum Computer. Wiley, 2001. Print.
History of Programming Languages III. New York, NY, USA: ACM, 2007. Print.
John Hennessy, and David Patterson. “Chapter 1: Fundamentals of Quantitative Design and Analysis.” Computer
Architecture: A Quantitative Approach. 5th Edition. Morgan Kaufmann, 2011. Print.
Sammet, Jean E. “Programming Languages: History and Future.” Commun. ACM 15.7 (1972): 601–610. ACM Digital Library.
Print.
Wexelblat, Richard L., ed. History of Programming Languages I. New York, NY, USA: ACM, 1981. Print.
Knowledge Representation in Digital Humanities
Antonio Jiménez Mavillard85

More Related Content

What's hot

An introduction to Computer Technology
An introduction to Computer TechnologyAn introduction to Computer Technology
An introduction to Computer Technology
Steven Heath
 
CSCI-200 Introduction to Computers
CSCI-200 Introduction to ComputersCSCI-200 Introduction to Computers
CSCI-200 Introduction to Computers
malik1972
 
L1 cs110 jcu-sindoni rev mh 22 07 11
L1 cs110 jcu-sindoni rev mh 22 07 11L1 cs110 jcu-sindoni rev mh 22 07 11
L1 cs110 jcu-sindoni rev mh 22 07 11
Giuseppe Sindoni
 
computer fundamental of_computer
computer fundamental  of_computercomputer fundamental  of_computer
computer fundamental of_computer
Rai Saheb Bhanwar Singh College Nasrullaganj
 
Present by deepakshi kabra
Present  by deepakshi  kabraPresent  by deepakshi  kabra
Present by deepakshi kabra
DailyCreavity
 
Introduction to computer office 2003
Introduction to computer office 2003Introduction to computer office 2003
Introduction to computer office 2003
manyamfranchise
 
Computer hardware basics
Computer hardware basicsComputer hardware basics
Computer hardware basics
gideoncastillo
 
Las ict 9 q2 week 1 & 2
Las ict 9 q2 week 1 & 2Las ict 9 q2 week 1 & 2
Las ict 9 q2 week 1 & 2
Ruby Peralta
 
Introduction to the World of Computers
Introduction to the World of ComputersIntroduction to the World of Computers
Introduction to the World of Computers
muhammadhamad32
 
Introduction to computing
Introduction to computingIntroduction to computing
Introduction to computing
Muhammad Yousuf Abdul Qadir
 
Input Output Device | Computer Fundamental and Organiation
Input Output Device | Computer Fundamental and OrganiationInput Output Device | Computer Fundamental and Organiation
Input Output Device | Computer Fundamental and Organiation
Smit Luvani
 
Ch 1 introduction and 2 computer software 1
Ch 1 introduction  and 2 computer software 1Ch 1 introduction  and 2 computer software 1
Ch 1 introduction and 2 computer software 1
rjsuthar56
 
Computer Programming_Unit 1
Computer Programming_Unit 1Computer Programming_Unit 1
Computer Programming_Unit 1
Pradhiba Selvarani
 
Lesson 1.0 milestones in computer architecture
Lesson 1.0   milestones in computer architectureLesson 1.0   milestones in computer architecture
Lesson 1.0 milestones in computer architecture
Joshua Hernandez
 
Present by deepakshi kabra
Present  by deepakshi  kabraPresent  by deepakshi  kabra
Present by deepakshi kabra
DailyCreavity
 
introduction to computers
introduction to computersintroduction to computers
introduction to computers
Muhammad Aamir
 
Computer Fundamentals
Computer FundamentalsComputer Fundamentals
Computer Fundamentals
Saumya Sahu
 
Uc13.chapter.01
Uc13.chapter.01Uc13.chapter.01
Uc13.chapter.01
Irfan Ali Memon
 
Introduction to computer.pps
Introduction to computer.ppsIntroduction to computer.pps
Introduction to computer.pps
jahangir kiyani
 

What's hot (19)

An introduction to Computer Technology
An introduction to Computer TechnologyAn introduction to Computer Technology
An introduction to Computer Technology
 
CSCI-200 Introduction to Computers
CSCI-200 Introduction to ComputersCSCI-200 Introduction to Computers
CSCI-200 Introduction to Computers
 
L1 cs110 jcu-sindoni rev mh 22 07 11
L1 cs110 jcu-sindoni rev mh 22 07 11L1 cs110 jcu-sindoni rev mh 22 07 11
L1 cs110 jcu-sindoni rev mh 22 07 11
 
computer fundamental of_computer
computer fundamental  of_computercomputer fundamental  of_computer
computer fundamental of_computer
 
Present by deepakshi kabra
Present  by deepakshi  kabraPresent  by deepakshi  kabra
Present by deepakshi kabra
 
Introduction to computer office 2003
Introduction to computer office 2003Introduction to computer office 2003
Introduction to computer office 2003
 
Computer hardware basics
Computer hardware basicsComputer hardware basics
Computer hardware basics
 
Las ict 9 q2 week 1 & 2
Las ict 9 q2 week 1 & 2Las ict 9 q2 week 1 & 2
Las ict 9 q2 week 1 & 2
 
Introduction to the World of Computers
Introduction to the World of ComputersIntroduction to the World of Computers
Introduction to the World of Computers
 
Introduction to computing
Introduction to computingIntroduction to computing
Introduction to computing
 
Input Output Device | Computer Fundamental and Organiation
Input Output Device | Computer Fundamental and OrganiationInput Output Device | Computer Fundamental and Organiation
Input Output Device | Computer Fundamental and Organiation
 
Ch 1 introduction and 2 computer software 1
Ch 1 introduction  and 2 computer software 1Ch 1 introduction  and 2 computer software 1
Ch 1 introduction and 2 computer software 1
 
Computer Programming_Unit 1
Computer Programming_Unit 1Computer Programming_Unit 1
Computer Programming_Unit 1
 
Lesson 1.0 milestones in computer architecture
Lesson 1.0   milestones in computer architectureLesson 1.0   milestones in computer architecture
Lesson 1.0 milestones in computer architecture
 
Present by deepakshi kabra
Present  by deepakshi  kabraPresent  by deepakshi  kabra
Present by deepakshi kabra
 
introduction to computers
introduction to computersintroduction to computers
introduction to computers
 
Computer Fundamentals
Computer FundamentalsComputer Fundamentals
Computer Fundamentals
 
Uc13.chapter.01
Uc13.chapter.01Uc13.chapter.01
Uc13.chapter.01
 
Introduction to computer.pps
Introduction to computer.ppsIntroduction to computer.pps
Introduction to computer.pps
 

Similar to Lecture02

BASIC-COMPUTER-FUNDAMENTALS-INFORMATION-COMMUNICATION-TECHNOLOGY
BASIC-COMPUTER-FUNDAMENTALS-INFORMATION-COMMUNICATION-TECHNOLOGYBASIC-COMPUTER-FUNDAMENTALS-INFORMATION-COMMUNICATION-TECHNOLOGY
BASIC-COMPUTER-FUNDAMENTALS-INFORMATION-COMMUNICATION-TECHNOLOGY
AnoelSoledad
 
Lecture1.pdf
Lecture1.pdfLecture1.pdf
Lecture1.pdf
JoyPalit
 
Chapter01
Chapter01Chapter01
Chapter01
浚維 宋
 
Computer fundamentals
Computer fundamentalsComputer fundamentals
Computer fundamentals
Rajesh Dash
 
Tm 1st mod
Tm 1st modTm 1st mod
Tm 1st mod
RVIM
 
Information technology
Information technologyInformation technology
Information technology
Manoj Soni
 
Unit i
Unit  iUnit  i
computer application in hospitality Industry, periyar university unit 1
computer application in hospitality Industry, periyar university  unit 1computer application in hospitality Industry, periyar university  unit 1
computer application in hospitality Industry, periyar university unit 1
admin information
 
computer applicationin hospitality Industry1 periyar university unit1
computer applicationin hospitality Industry1 periyar university  unit1computer applicationin hospitality Industry1 periyar university  unit1
computer applicationin hospitality Industry1 periyar university unit1
admin information
 
Unit I
Unit  IUnit  I
Unit i
Unit  iUnit  i
1. BASIC COMPUTER NOTES IN ENGLISH (1).pdf
1. BASIC COMPUTER NOTES IN ENGLISH (1).pdf1. BASIC COMPUTER NOTES IN ENGLISH (1).pdf
1. BASIC COMPUTER NOTES IN ENGLISH (1).pdf
ABDIHAKINMOHAMED6
 
Lecture #1.ppt
Lecture #1.pptLecture #1.ppt
Lecture #1.ppt
MadnessKnight
 
M1- IT Tools & Application.docx
M1- IT Tools & Application.docxM1- IT Tools & Application.docx
M1- IT Tools & Application.docx
ssuser3940ac
 
Unit 1 one part introduction to computers
Unit 1 one part introduction to computersUnit 1 one part introduction to computers
Unit 1 one part introduction to computers
Neha Kurale
 
Computer concepts- Mohammadali & Tausif
Computer concepts- Mohammadali & TausifComputer concepts- Mohammadali & Tausif
Computer concepts- Mohammadali & Tausif
tausif ghodesawar
 
Computer material
Computer materialComputer material
Computer material
RS Rafi
 
Cibm ch03 and ch04
Cibm   ch03 and ch04Cibm   ch03 and ch04
Cibm ch03 and ch04
Shaheen Khan
 
(1) gui history_of_interactivity
(1) gui history_of_interactivity(1) gui history_of_interactivity
(1) gui history_of_interactivity
Nico Ludwig
 
Basic Components of Computer
Basic Components of ComputerBasic Components of Computer
Basic Components of Computer
RajGopalAgrawal
 

Similar to Lecture02 (20)

BASIC-COMPUTER-FUNDAMENTALS-INFORMATION-COMMUNICATION-TECHNOLOGY
BASIC-COMPUTER-FUNDAMENTALS-INFORMATION-COMMUNICATION-TECHNOLOGYBASIC-COMPUTER-FUNDAMENTALS-INFORMATION-COMMUNICATION-TECHNOLOGY
BASIC-COMPUTER-FUNDAMENTALS-INFORMATION-COMMUNICATION-TECHNOLOGY
 
Lecture1.pdf
Lecture1.pdfLecture1.pdf
Lecture1.pdf
 
Chapter01
Chapter01Chapter01
Chapter01
 
Computer fundamentals
Computer fundamentalsComputer fundamentals
Computer fundamentals
 
Tm 1st mod
Tm 1st modTm 1st mod
Tm 1st mod
 
Information technology
Information technologyInformation technology
Information technology
 
Unit i
Unit  iUnit  i
Unit i
 
computer application in hospitality Industry, periyar university unit 1
computer application in hospitality Industry, periyar university  unit 1computer application in hospitality Industry, periyar university  unit 1
computer application in hospitality Industry, periyar university unit 1
 
computer applicationin hospitality Industry1 periyar university unit1
computer applicationin hospitality Industry1 periyar university  unit1computer applicationin hospitality Industry1 periyar university  unit1
computer applicationin hospitality Industry1 periyar university unit1
 
Unit I
Unit  IUnit  I
Unit I
 
Unit i
Unit  iUnit  i
Unit i
 
1. BASIC COMPUTER NOTES IN ENGLISH (1).pdf
1. BASIC COMPUTER NOTES IN ENGLISH (1).pdf1. BASIC COMPUTER NOTES IN ENGLISH (1).pdf
1. BASIC COMPUTER NOTES IN ENGLISH (1).pdf
 
Lecture #1.ppt
Lecture #1.pptLecture #1.ppt
Lecture #1.ppt
 
M1- IT Tools & Application.docx
M1- IT Tools & Application.docxM1- IT Tools & Application.docx
M1- IT Tools & Application.docx
 
Unit 1 one part introduction to computers
Unit 1 one part introduction to computersUnit 1 one part introduction to computers
Unit 1 one part introduction to computers
 
Computer concepts- Mohammadali & Tausif
Computer concepts- Mohammadali & TausifComputer concepts- Mohammadali & Tausif
Computer concepts- Mohammadali & Tausif
 
Computer material
Computer materialComputer material
Computer material
 
Cibm ch03 and ch04
Cibm   ch03 and ch04Cibm   ch03 and ch04
Cibm ch03 and ch04
 
(1) gui history_of_interactivity
(1) gui history_of_interactivity(1) gui history_of_interactivity
(1) gui history_of_interactivity
 
Basic Components of Computer
Basic Components of ComputerBasic Components of Computer
Basic Components of Computer
 

More from mavillard

Lecture06
Lecture06Lecture06
Lecture06
mavillard
 
Lecture05
Lecture05Lecture05
Lecture05
mavillard
 
Lecture04
Lecture04Lecture04
Lecture04
mavillard
 
Lecture03
Lecture03Lecture03
Lecture03
mavillard
 
Lecture01
Lecture01Lecture01
Lecture01
mavillard
 
Lecture09
Lecture09Lecture09
Lecture09
mavillard
 
Presentación
PresentaciónPresentación
Presentación
mavillard
 

More from mavillard (7)

Lecture06
Lecture06Lecture06
Lecture06
 
Lecture05
Lecture05Lecture05
Lecture05
 
Lecture04
Lecture04Lecture04
Lecture04
 
Lecture03
Lecture03Lecture03
Lecture03
 
Lecture01
Lecture01Lecture01
Lecture01
 
Lecture09
Lecture09Lecture09
Lecture09
 
Presentación
PresentaciónPresentación
Presentación
 

Recently uploaded

“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Edge AI and Vision Alliance
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Tatiana Kojar
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Precisely
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
Jakub Marek
 
SAP S/4 HANA sourcing and procurement to Public cloud
SAP S/4 HANA sourcing and procurement to Public cloudSAP S/4 HANA sourcing and procurement to Public cloud
SAP S/4 HANA sourcing and procurement to Public cloud
maazsz111
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
Shinana2
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
Dinusha Kumarasiri
 

Recently uploaded (20)

“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
 
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
Skybuffer AI: Advanced Conversational and Generative AI Solution on SAP Busin...
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their MainframeDigital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
Digital Banking in the Cloud: How Citizens Bank Unlocked Their Mainframe
 
Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)Main news related to the CCS TSI 2023 (2023/1695)
Main news related to the CCS TSI 2023 (2023/1695)
 
SAP S/4 HANA sourcing and procurement to Public cloud
SAP S/4 HANA sourcing and procurement to Public cloudSAP S/4 HANA sourcing and procurement to Public cloud
SAP S/4 HANA sourcing and procurement to Public cloud
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
dbms calicut university B. sc Cs 4th sem.pdf
dbms  calicut university B. sc Cs 4th sem.pdfdbms  calicut university B. sc Cs 4th sem.pdf
dbms calicut university B. sc Cs 4th sem.pdf
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Azure API Management to expose backend services securely
Azure API Management to expose backend services securelyAzure API Management to expose backend services securely
Azure API Management to expose backend services securely
 

Lecture02

  • 1. Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard Department of Modern Languages and Literatures Western University
  • 2. Lecture 2 Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard * Contents: 1. Why this lecture? 2. Discussion 3. Chapter 2 4. Assignment 5. Bibliography 2
  • 3. Why this lecture? Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard * This lecture... · outlines programming languages as the highest type of formal languages, which makes them ideal for KR · describes how computers, the essential tool for DHers, work at programming level 3
  • 4. Last assignment discussion Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard * Time to... · consolidate ideas and concepts dealt in the readings · discuss issues arised in the specific solutions to the projects 4
  • 5. Chapter 2 Principles of Computing 1. Overview on computers 2. Programming languages Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard5
  • 6. Chapter 2 1 Overview on computers 1.1 What is a computer? 1.2 Computer components 1.3 How does a computer work? Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard6
  • 7. Chapter 2 2 Programming languages 2.1 User vs programmer 2.2 What is a programming language? 2.3 Classification 2.4 History of programming languages Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard7
  • 8. Overview on computers Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard8
  • 9. What is a computer? * Definition · A computer is a programable machine that processes input data and produce output information Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard9
  • 10. What is a computer? * Computers in History · Abacus + Calculating device + Three arithmetic functions: + - x + Dated from 2700 to 2300 BC Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard10
  • 11. What is a computer? * Computers in History · Antikythera mechanism + Analog computer + Calculates astronomical positions + Dated to the early 1st cent. BC Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard11
  • 12. What is a computer? * Computers in History · Pascaline + Adder machine + Invented by Blaise Pascal in 1640s Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard12
  • 13. What is a computer? * Computers in History · The Stepped Reckoner + Mechanical calculator + Four arithmetic functions: + - x % + Invented by Leibniz in 1673 Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard13
  • 14. What is a computer? * Computers in History · Difference Engine & Analytical Engine & Difference Engine No. 2 Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard14
  • 15. What is a computer? * Computers in History · Difference Engine & Analytical Engine & Difference Engine No. 2 + First programable computer + Memory & Processing Units & Punched-card Input + Invented by Charles Babbage from 1821 to 1848 Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard15
  • 16. What is a computer? * Computers in History · ENIAC + Electronic calculator + Vacuum tubes + Invented by John Mauchly in 1942 Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard16
  • 17. What is a computer? * Computers in History · Turing Machine + Theoretical + Equivalent to any computer + Invented by Alan Turing in 1937 Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard17
  • 18. What is a computer? * Computers in History · Modern computers + Turing-complete + Von Neumann architecture + Integrated circuits Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard18
  • 19. References “Computer History Museum.” N. p., n.d. Web. 30 Nov. 2013. De la Rosa, Javier. “Computer Tools for Linguists.” Yutzu. N. p., n.d. Web. 16 Sept. 2013. Georges Ifrah. “Chapter 5: From Clockwork to Computer: The History of Automatic Calculation.” The Universal History of Computing: From the Abacus to the Quantum Computer. Wiley, 2001. Print. Georges Ifrah. “Chapter 6: What is a Computer?” The Universal History of Computing: From the Abacus to the Quantum Computer. Wiley, 2001. Print. Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard19
  • 20. Computer components * The architecture describes a computer in terms of its componentes and their relationships * It also defines the instruction set * Most of modern computers follow Von Neumann's architecture Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard20
  • 21. Computer components * Von Neumann's architecture: Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard21
  • 22. Computer components * Hardware: · CPU · Memory · Input/Output * Operating System * Software · Applications · Programming software Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard22
  • 23. Computer components * CPU (Central Processing Unit) or Processor 1. Read an instruction from memory 2. Read data from memory if needed 3. Execute the instruction 4. Write the result into memory if needed 5. Get ready for next instruction Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard23
  • 24. Computer components * RAM (Random Access Memory) · Area where the system holds data (values and program code) waiting to be processed by the CPU · This area can be seen as a huge “table” where the rows are memory positions and the columns are offsets with respect to each memory position Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard24
  • 25. Computer components * RAM (Random Access Memory) Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard25
  • 26. Computer components * HD (Hard Disk/Drive) · Area where the system stores information · The way in which the Operating System controls how information is stored and retrieved is called file system · The file format specifies how information is encoded in a digital storage medium Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard26
  • 27. Computer components * RAM vs HD · RAM: small, fast and temporal · HD: big, slow and permanent · The OS moves from the HD to the RAM only the data (vales and program code) it needs to run a program Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard27
  • 28. Computer components * Input · Keyboard · Mouse · Microphone * Output · Screen · Printer · Speakers Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard28
  • 29. Computer components * Operating System · Examples: + OS X + Ubuntu + Android + Windows 8 Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard29
  • 30. Computer components * Operating System · Connects software with hardware and handles everything between both: + Memory + File system + I/O + ... · Examples: Ubuntu, Android, OS X, Windows 8...Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard30
  • 31. Computer components * Operating System · The file system is the way in which the OS controls how information is stored and retrieved · The file format specifies how information is encoded information in a digital storage medium Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard31
  • 32. Computer components * Operating System · Two types of files: + Text file - Contains human readable plain text - Encoded in a encoding scheme (UTF-8, Latin 1...) - Examples: txt, HTML, CSV Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard32
  • 33. Computer components * Operating System · Two types of files: + Binary file - Contains any type of data - Encoded in binary - Examples: zip, JPEG, AVI Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard33
  • 34. Computer components * Operating System · Size units: Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard34 1 B 8b 1 KB 1024 B 1 MB 1024 KB 1 GB 1024 MB 1 TB 1024 GB b bit B byte KB kilobyte MB megabyte GB gigabyte TB terabyte
  • 35. Computer components * Applications · An application is a computer software designed to help people to perform a task · Examples: word processor, spreadsheet, image editor, videogame, web browser... Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard35
  • 36. Computer components * Programming software · A programming tool or software development tool is a program or application that software developers use to create, debug, maintain, or otherwise support other programs and applications Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard36
  • 37. Computer components * Programming software • An IDE (Integrated Development Environments) combines the features of many tools into one package + source code editor + build automation tools + debugger · Examples: Eclipse, Jbuilder, Komodo Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard37
  • 38. References Andrew S. Tanenbaum. “Chapter 1: Introduction.” Modern Operating Systems. 2nd edition. Pearson, 2001. Print. Barata, Kimberly. Understanding Computers: An Overview for Records and Archives Staff. International Records Management Trust/International Council on Archives, 1999. Print. De la Rosa, Javier. “Computer Tools for Linguists.” Yutzu. N. p., n.d. Web. 16 Sept. 2013. John Hennessy, and David Patterson. “Chapter 1: Fundamentals of Quantitative Design and Analysis.” Computer Architecture: A Quantitative Approach. 5th Edition. Morgan Kaufmann, 2011. Print. Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard38
  • 39. How does a computer work? * The computer... 1. accepts input data 2. performs pertinent operations with input and stored data (processing) 3. stores data and keep processing while needed 4. produces output information Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard39
  • 40. How does a computer work? * How does a modern computer work? The concrete behaviour depends on the particular application Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard40
  • 41. How does a computer work? * How does a modern computer work? Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard41 Type of program Input What does the program does Output Word processor Characters typed from the keyboard Formats the text, corrects the spelling... Displays and prints neatly organized text Video game Keystrokes, joystick movements Calculates how fast and far to move a cartoon figure on-screen Moves a cartoon figure on-screen
  • 42. How does a computer work? * How does a modern computer work? Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard42 Type of program Input What does the program does Output Web browser HTML codes on other computers Converts the HTML codes into text and graphics Displays web pages on-screen OCR software Text from a scanner Recognizes shapes of characters Converts scanned documents into a text file
  • 43. Programming languages Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard43
  • 44. User vs programmer * Tipically, to use a computer, someone can: · Use an application previously developed by a programmer (user rol) · Develop their own application by using a programming software (programmer rol) Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard44
  • 45. What is a programming language? * Definition · A programming language is a formal language designed to communicate instructions to a computer · Formal/Artificial vs Human/Natural Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard45
  • 46. What is a programming language? * Definition · A formal language: + has a formalized morphology, syntax and semantics + is computationally processable Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard46
  • 47. What is a programming language? * Definition · morphology: keywords (vocabulary) + Example: var, defun, if · syntax: grammar rules + Example: x = y + 1; (assignment) · semantics: meaning + Example: x * 2 + 1 ≡ (x * 2) + 1 (operator precedence and associativity) Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard47
  • 48. Classification * Language levels · Low-level languages + Close to machine · High-level languages + Close to human Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard48
  • 49. Classification * Programming paradigms · Imperative (how) + Procedural (statements) + Object-oriented (interacting objects) · Declarative (what) + Logic (logical sentences) + Functional (mathematical functions) Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard49
  • 50. Classification * Compiled vs Interpreted · Compiled language + Program translated (compiled) into machine language instructions by a compiler and executed by a hardware · Interpreted language + Program executed (interpreted) by an interpreter (run-time environment) Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard50
  • 51. History of programming languages * Prehistory of programming languages · Programmers of Babylon (1790 BC) + Written language to describe computational procedures Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard51
  • 52. History of programming languages * Prehistory of programming languages · Muhammad Al-Khwarizmi (762 AD) + Inventor of algorithms + Wrote Kitâ al-jabr wa'l-muqabâla + Translated into Latin as Algoritmi de numero Indorum Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard52
  • 53. History of programming languages * Prehistory of programming languages · Augusta Ada, Lady Lovelace + First programmer in history (1842) + Wrote a program for Babbage Engine Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard53
  • 54. History of programming languages * Prehistory of programming languages · Konrad Zuse + Designed Plankalkül (1945) + Never implemented as a real language + Many modern languages share Plankalkül's features Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard54
  • 55. History of programming languages * Prehistory of programming languages · Konrad Zuse + Plankalkül's features - expressions, assignments - types: bit, integer, real, arrays - conditionals, loops, subrutines Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard55
  • 56. History of programming languages Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard56
  • 57. History of programming languages * Fortran (1957) · Paradigm: imperative · First high-level language · Scientific-oriented computing Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard57
  • 58. History of programming languages * Fortran (1957) · Introduced + variables + loops + procedures + datatypes: boolean, integer, real... Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard58
  • 59. History of programming languages * Fortran (1957) · Introduced + variables + loops + procedures + datatypes: boolean, integer, real... Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard59
  • 60. History of programming languages * Algol 58/60 (1958/1960) · Paradigm: imperative · Ancestor of contemporary languages · Introduced + block structure + recursion + formal definition Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard60
  • 61. History of programming languages * Lisp (1958) · Paradigm: functional · Good for symbolic computing · Language for Artificial Intelligence · Syntax and computing based on lists Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard61
  • 62. History of programming languages * Cobol (1959) · Paradigm: object-oriented · Business-oriented computations · Non-academic language · Elaborate data structures · Introduced + Record type as data structure Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard62
  • 63. History of programming languages * PL/I (1964) · Paradigm: imperative · Combination of the best features of Fortran, Algol 60 and Cobol · First language for general applications · Introduced + event handling Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard63
  • 64. History of programming languages * Basic (1964) · Paradigm: unstructured · First language for personal computing · Easy to learn · Simple, limited, general-purpose Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard64
  • 65. History of programming languages * Simula 67 (1967) · Paradigm: object-oriented · Extension of Algol 60 · For concurrent processes · Introduced + Object Orientation: classes and encapsulation Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard65
  • 66. History of programming languages * Algol 68 (1968) · Paradigm: imperative · Extension of Algol 60 · General purpose language · For academia Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard66
  • 67. History of programming languages * Pascal (1970) · Paradigm: imperative · Sucessor of Algol 60 · Academic language: excellent to teach structured programming and good habits Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard67
  • 68. History of programming languages * C (1972) · Paradigm: imperative · For system programming (implementation language of Unix) and personal computing · Very fast · High-level and low-level language Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard68
  • 69. History of programming languages * Prolog (1972) · Paradigm: logic · Very high-level language · Based on logic with proofs · Very powerful: + Backtracking + Pattern matching Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard69
  • 70. History of programming languages * Smalltalk (1972) · Paradigm: object-oriented · Sucessor of Simula 67 · The purest object-oriented language · Very powerful Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard70
  • 71. History of programming languages * Ada (1983) · Paradigm: imperative · For general applications · Completely standard · Supports concurrency Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard71
  • 72. History of programming languages * C++ (1983) · Paradigm: object-oriented · Extension of C, based on Simula · Introduced + Assignment operator overloading Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard72
  • 73. History of programming languages * Haskell (1990) · Paradigm: funcional · Purely functional: no side effects · Very high-level Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard73
  • 74. History of programming languages * Java (1995) · Paradigm: object-oriented · Based on C++ · Portable · Full object-oriented language · For internet programming but general-purpose Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard74
  • 75. History of programming languages * Perl (1987) · Paradigm: object-oriented · Interpreted language · For text processing Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard75
  • 76. History of programming languages * Python (1991) · Paradigm: object-oriented · Interpreted language · For text processing Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard76
  • 77. History of programming languages * Ruby (1995) · Paradigm: object-oriented · Interpreted language · Dinamically-typed Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard77
  • 78. History of programming languages * Javascript (1995) · Paradigm: object-oriented · Interpreted language · For web programming Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard78
  • 79. History of programming languages * PHP (1997) · Paradigm: imperative · Interpreted language · For web programming · Dinamically-typed Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard79
  • 80. References Bergin,Jr., Thomas J., and Richard G. Gibson,Jr., eds. History of Programming Languages II. New York, NY, USA: ACM, 1996. Print. Fuegi, J., and J. Francis. “Lovelace & Babbage and the Creation of the 1843 ‘Notes.’” IEEE Annals of the History of Computing 25.4 (2003): 16–26. IEEE Xplore. Web. History of Programming Languages III. New York, NY, USA: ACM, 2007. Print. Sammet, Jean E. “Programming Languages: History and Future.” Commun. ACM 15.7 (1972): 601–610. ACM Digital Library. Print. Wexelblat, Richard L., ed. History of Programming Languages I. New York, NY, USA: ACM, 1981. Print. Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard80
  • 81. Assignment * Assigment 2: Programming the Abacus · Readings + Algorithm (Design And Analysis Of Algorithms) + How to Program an Abacus (http://baptiste.meles.free.fr/site/B.Meles-Abacus_presentation.pdf) Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard81
  • 82. Assignment * Assigment 2: Programming the Abacus · Project Let us have a 9-wired abacus with 9 beads on each wire: + Identify the CPU, memory and I/O + Define the instruction set + Write an algorithm that calculates the sum of any two numbers Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard82
  • 83. References A.A.Puntambekar. “Algorithm.” Design And Analysis Of Algorithms. Technical Publications, 2010. Print. Baptiste Mélès. “How to Program an Abacus.” N. p., n.d. Web. 5 Jan. 2014. Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard83
  • 84. Bibliography A.A.Puntambekar. “Algorithm.” Design And Analysis Of Algorithms. Technical Publications, 2010. Print. Andrew S. Tanenbaum. Modern Operating Systems. 2nd edition. Pearson, 2001. Print. Baptiste Mélès. “How to Program an Abacus.” N. p., n.d. Web. 5 Jan. 2014. Barata, Kimberly. Understanding Computers: An Overview for Records and Archives Staff. International Records Management Trust/International Council on Archives, 1999. Print. Bergin,Jr., Thomas J., and Richard G. Gibson,Jr., eds. History of Programming Languages II. New York, NY, USA: ACM, 1996. Print. “Computer History Museum.” N. p., n.d. Web. 30 Nov. 2013. De la Rosa, Javier. “Computer Tools for Linguists.” Yutzu. N. p., n.d. Web. 16 Sept. 2013. Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard84
  • 85. Bibliography Fuegi, J., and J. Francis. “Lovelace & Babbage and the Creation of the 1843 ‘Notes.’” IEEE Annals of the History of Computing 25.4 (2003): 16–26. IEEE Xplore. Web. Georges Ifrah. The Universal History of Computing: From the Abacus to the Quantum Computer. Wiley, 2001. Print. History of Programming Languages III. New York, NY, USA: ACM, 2007. Print. John Hennessy, and David Patterson. “Chapter 1: Fundamentals of Quantitative Design and Analysis.” Computer Architecture: A Quantitative Approach. 5th Edition. Morgan Kaufmann, 2011. Print. Sammet, Jean E. “Programming Languages: History and Future.” Commun. ACM 15.7 (1972): 601–610. ACM Digital Library. Print. Wexelblat, Richard L., ed. History of Programming Languages I. New York, NY, USA: ACM, 1981. Print. Knowledge Representation in Digital Humanities Antonio Jiménez Mavillard85