SlideShare a Scribd company logo
Introduction to computers and
programming
Content
• Hardware
• Information storage
 RAM, ROM
 HD, DVD
• Display
 Images
 Characters (fonts)
• File system/type
 Encryption
 Compression
• Network
 Protocols
 Packets
• Programming
 Algorithm
 Pseudocode
 Flowchart
• Languages
• Source code
 Example
The computer
Internally
The connections
Information storage
• 1 bit
• 8 bits
• 16 bits
• 32 bits
• 64 bits
• bit (1 or 0)
• byte (octet) (28
)
• word (216
)
• double (232
)
• long double (264
)
Encoding information on a fixed element of length n with a
base b gives bn
non-redundant possibilities
Information coding
• Binary
 0 or 1
• Octal
 0-7
• Hexadecimal
 0-9+A-F
• Decimal
 0-9
• How to count
• 128+32+16+4+1=
 181 (decimal)
 265 (octal)
 B5 (hexadecimal)
• Signed vs unsigned
 0 to 255
 -127 to +127
128 64 32 16 8 4 2 1
1 0 1 1 0 1 0 1
Operations on bits
• Booleans:
 0 = false = no
 1 = true = yes
• Operators:
 AND
 OR
 XOR
 NOT
• Example tables
AN
D
0 1
0 0 0
1 0 1
OR 0 1
0 0 1
1 1 1
XO
R
0 1
0 0 1
1 1 0
RAM/ROM
Memory mapping
Address Values
0000
0001
0002
..
..
..
..
FFFF
• Size reminder:
• Kilobyte Kb 210
~103
• Megabyte Mb 220
~106
• Gigabyte Gb 230
~109
• Terabyte Tb 240
~1012
• Petabyte Pb 250
~1015
• …
1 0 1 1 1 0 0 1
0 0 0 0 1 1 1 1
1 1 1 0 0 0 1 1
0 0 1 0 0 1 0 0
HD/DVD
track
sector
head
Display
• Screen pixel or dots
• Color coding: 32 bits
• 1 pixel = 3 bytes of color (RGB)+1
byte alpha channel (transparency)
• 1600x1200x4bytes=7,5 Mb!
• Fonts
 Bitmap
 Vectors
 TrueType, OpenType,
PostScript
QuickTime™ et un
décompresseur TIFF (non compressé)
sont requis pour visionner cette image.
Keyboard/Mouse
• Each key (or combination
of keys) of the keyboard
sends a code to the
computer.
• The code is interpreted and
converted to the
corresponding ASCII or
Unicode number.
• The mouse movements
 1 to 4 bytes (vertical &
horizontal)
• Buttons
 Clicked, pressed, rolled
buttons
ASCII & Unicode
• ASCII 7/8 bits
• Unicode
 UTF-8/16/32 bits
 ISO-8859 (Latin)
• od -c od -h
•
Software layers
ROM
Hardware
Operating System
User Interface
Software
Files
CPU, RAM, HD, DVD
Word, scripts, mail, web browser…
Data (.doc, .mp3)
BIOS
Linux
CLI, X-Windows
Windows
Windows
MacOSX
Firmware
Quartz
File systems
• Method the OS uses to store information
 Storage unit, directories, subdirectories (Windows,
VMS)
 Single arborescence (Linux, MacOSX, all Unix)
• What exactly is a file?
 a piece of information (text, graphic, data, music
program, script)
 it is identified by a name and an logical address (or
path)
 other informations: date, size, type, creator,
ownership, physical address…
File system organisation
Disk 1 Disk 2
Directories
Subdirectories
Windows
DOCS PROGS
WORD EXCEL
CONFIG DATA
EXPT1 EXPT2
/
/usr /home
phil johnlocal
bin lib
emacs X11
Unix
D:C:
Disk 1
Disk 2
Path
• The path is the logical address used by
the system or the user to locate a file.
• Example:
/bd_du_Palais/35/etage/4/appart/12/Dupont_ Jean.txt
filename
suffix
path
File types
• Executable
 .exe
 .app
 Unix requires « x »
• Data
 Text (.txt)
 Music (.mp3)
 Image (.jpg, .gif)
 Movie (.mpg, .mov)
 Binary (.bin)
• Special cases in Unix
 STDIN
 STDOUT
 STDERR
Encryption / compression
• Compression
 Reducing the size of files
 E.g., .mp3, .gz, .jpg, .zip
• Encryption
 Protecting your privacy
 E.g., .pgp
• Packing
 Grouping the files
 E.g., .tar
Networks
• Direct
 USB 11Mb-480Mb
 Ethernet 10Mb-1Gb
• Wired
 Modem 56Kb
 ADSL 600Kb-8Mb
 LAN 10Mb-10Gb
• Wireless
 Bluetooth 1Mb-20Mb
 WIFI (AirPort) 11Mb-54Mb
Network (ethernet or wireless)
• Computer talk to each
other via network
protocols
 ip, tcp, http, ftp, …
• TCP/IP
 transmission control
protocol/internet protocol
• Handshaking
• Transmission
• Ackowledgement
• DNS
 Domain Name Server
• URL
 Universal Resource
Locator
• IP addess
 192.42.197.51
DNS reminder
Primary DNS
Root DNS
Local DNS
Client query Target server
1
2 3
45
6
www.expasy.org
129.194.8.64
*.org
dns.anywhere.net
client.anywhere.net
www.expasy.org ??
Packets
The data travels within
units called packets
Packet breakout
Usual TCP/IP payload per packet: 512 bytes
Introduction to programming
What is a program?
• How to cook?
• The algorithm
• Are you a programmer?
Pseudocode
• This is the pseudocode for a game of Monopoly
Flowcharts
Flowcharts details
Languages
• Low level (processor dependent)
 Machine code, assembler
• High level: structured, procedural
 Fortran, C, Pascal…
• High level: object oriented
 C++, Java, C#, Perl, Objective-C…
• Virtual machines
 Java, C#…
• Scripting
 Perl, Python, JavaScript…
Source code -> Object code
• Compiler+linker
 Fortran, C, Pascal, C++…
• Interpreter
 Basic, Perl…
• Intermediate
 Java
• Compiler+linker
 Fast to execute, but slow
to debug
• Interpreter
 Slow to execute, but fast
to debug (no need to
recompile)
• Intermediate
 Slow…
Source code
• Instructions
 Statement, blocks
 Affectation
 Operators
 Loops
 Tests
 Subroutines
 Comments
• Data structures
 Variable
 List
 Array
 Hash
 Pointers
 Objects
Source code (2)
• Statement, blocks
 One or more
instructions for the
processor
• Affectation
 Change to a variable
• Operator
 affect one or more
variable
 + * - / AND OR NOT…
• Variable
 A region in memory
that can be modified
 Exists in different
types
 Scalar, char, numeric,
boolean
 List, array
 Hash
 Combination->data
structure
Source code (3)
• Loops
 Allow the computer to
repeat blocks
• Tests
 Decide what to do
• Subroutines
 Programs frequently
called (functions)
• Comments
 The most important
lines of the source
code…
• Pointers
 Reference to region in
memory (address)
• Objects
 Combination of data
and code
Example: a text to treat
« Noon rings out. A wasp, making an ominous sound, a sound akin to a klaxon or a
tocsin, flits about. Augustus, who has had a bad night, sits up blinking and purblind. Oh
what was that word (is his thought) that ran through my brain all night, that idiotic word
that, hard as I'd try to pun it down, was always just an inch or two out of my grasp - fowl
or foul or Vow or Voyal? - a word in a quizz which, by association, brought into play an
incongruous mass and magma of nouns, idioms, slogans and sayings, a confusing,
amorphous outpouring which I sought in vain to control or turn off but which wound
around my mind a whirlwind of a cord, a whiplash of a cord, a cord that would split again
and again, would knit again and again, of words without communication or any possibility
of combination, words without pronunciation, signification or transcription but out of
which, notwithstanding, was brought forth a flux, a continuous, compact and lucid flow: an
intuition, a vacillating frisson of illumination as if caught in a flash of lightning or in a mist
abruptly rising to unshroud an obvious sign - but a sign, alas, that would last an instant
only to vanish for good. »
Gilbert Adair
Result…
a=97
b=15
c=26
d=35
f=23
g=32
h=44
i=90
j=1
k=5
l=33
m=17
n=91
o=104
p=15
q=1
r=43
s=59
t=77
u=52
v=4
w=31
x=2
y=13
z=2
Do you see any problem??
Try with this:
« The quick brown fox, jumps
over the lazy dog. »
Flowchart
Source code example
#!/usr/bin/perl -w # essential line of all perl scripts
$filename = "avoid.txt"; # affect « avoid.txt » to the variable $filename
# open the file, or exit
open(FILE, $filename) || die "Cannot open file ‘$filename’nn";
@text = <FILE>; # add each line of the file to an array
close FILE;
foreach $line (@text) { # read one line from the array into $line and repeat for each line
@table = split(//,$line); # read each character of the line in an array
while ($char=pop(@table)) { # read one character of the array 'table' and repeat for all
$char =~ s/[^a-z]//; # keep only the alphabetical character a to z
if ($char) { # check if the character exists and execute the block
$count{$char}++; # if yes, increment by one the hash 'count'
}
}
}
# print each character and its number of occurence one per line
foreach $c (keys %count) {
print "$c=$count{$c}n";
}
exit; # quit the program
Tips
• Think about your
problem
• Create a flowchart
• Create the
pseudocode
• Verify the memory
used by your
variables
• Write the code
• Test the code
 For all the possible
functions or cases (if
possible)
 Give it to users as a
beta (if not possibe)
 Sell it (if you work for
Microsoft©
… ;-)
• Debug
Summary of the week
• Monday
 Intro computers &
programming
 Intro Unix
 Tutorial Unix
• Tuesday
 Intro Perl
 Regexp & Perl In-liners
• Wednesday
 Object Oriented
programming
 BioPerl
 EMBOSS
• Thursday
 Database indexing
 BLAST
 HTML & cgi-bin
• Friday
 Finish exercises
 Users questions
Unix
• Next presentation…
VassiliosVassilios aliasalias
UnixMan!!!UnixMan!!!

More Related Content

What's hot

Python build your security tools.pdf
Python build your security tools.pdfPython build your security tools.pdf
Python build your security tools.pdf
TECHNOLOGY CONTROL CO.
 
A Quick Introduction to Linux
A Quick Introduction to LinuxA Quick Introduction to Linux
A Quick Introduction to Linux
Tusharadri Sarkar
 
Unix command line concepts
Unix command line conceptsUnix command line concepts
Unix command line concepts
Artem Nagornyi
 
Unleash your inner console cowboy
Unleash your inner console cowboyUnleash your inner console cowboy
Unleash your inner console cowboy
Kenneth Geisshirt
 
Console comparsions
Console comparsionsConsole comparsions
Console comparsions
copelandadam
 
Dns
DnsDns

What's hot (6)

Python build your security tools.pdf
Python build your security tools.pdfPython build your security tools.pdf
Python build your security tools.pdf
 
A Quick Introduction to Linux
A Quick Introduction to LinuxA Quick Introduction to Linux
A Quick Introduction to Linux
 
Unix command line concepts
Unix command line conceptsUnix command line concepts
Unix command line concepts
 
Unleash your inner console cowboy
Unleash your inner console cowboyUnleash your inner console cowboy
Unleash your inner console cowboy
 
Console comparsions
Console comparsionsConsole comparsions
Console comparsions
 
Dns
DnsDns
Dns
 

Similar to Intro compute

Introduction to computers
Introduction to computersIntroduction to computers
Introduction to computers
VisualBee.com
 
C101 – Intro to Programming with C
C101 – Intro to Programming with CC101 – Intro to Programming with C
C101 – Intro to Programming with C
gpsoft_sk
 
Part 6 : Internet applications
Part 6 : Internet applicationsPart 6 : Internet applications
Part 6 : Internet applications
Olivier Bonaventure
 
Bioinformatics v2014 wim_vancriekinge
Bioinformatics v2014 wim_vancriekingeBioinformatics v2014 wim_vancriekinge
Bioinformatics v2014 wim_vancriekinge
Prof. Wim Van Criekinge
 
Mifare Desfire Technology
Mifare Desfire TechnologyMifare Desfire Technology
Mifare Desfire Technology
Zahiruddin Babar Malik
 
What's with the 1s and 0s? Making sense of binary data at scale with Tika and...
What's with the 1s and 0s? Making sense of binary data at scale with Tika and...What's with the 1s and 0s? Making sense of binary data at scale with Tika and...
What's with the 1s and 0s? Making sense of binary data at scale with Tika and...
gagravarr
 
Erlang Message Passing Concurrency, For The Win
Erlang  Message  Passing  Concurrency,  For  The  WinErlang  Message  Passing  Concurrency,  For  The  Win
Erlang Message Passing Concurrency, For The Win
l xf
 
Unicode, PHP, and Character Set Collisions
Unicode, PHP, and Character Set CollisionsUnicode, PHP, and Character Set Collisions
Unicode, PHP, and Character Set Collisions
Ray Paseur
 
Abap slide class4 unicode-plusfiles
Abap slide class4 unicode-plusfilesAbap slide class4 unicode-plusfiles
Abap slide class4 unicode-plusfiles
Milind Patil
 
Understanding Character Encodings
Understanding Character EncodingsUnderstanding Character Encodings
Understanding Character Encodings
Mobisoft Infotech
 
Huffman Codes
Huffman CodesHuffman Codes
Huffman Codes
Md. Shafiuzzaman Hira
 
What's With The 1S And 0S? Making Sense Of Binary Data At Scale With Tika And...
What's With The 1S And 0S? Making Sense Of Binary Data At Scale With Tika And...What's With The 1S And 0S? Making Sense Of Binary Data At Scale With Tika And...
What's With The 1S And 0S? Making Sense Of Binary Data At Scale With Tika And...
gagravarr
 
Komdat-Kompresi Data
Komdat-Kompresi DataKomdat-Kompresi Data
Komdat-Kompresi Data
mursalinfajri007
 
Webinar: Understanding Storage for Performance and Data Safety
Webinar: Understanding Storage for Performance and Data SafetyWebinar: Understanding Storage for Performance and Data Safety
Webinar: Understanding Storage for Performance and Data Safety
MongoDB
 
Inside The Computer
Inside The ComputerInside The Computer
Inside The Computer
Nasir Jumani
 
10 instruction sets characteristics
10 instruction sets characteristics10 instruction sets characteristics
10 instruction sets characteristics
Sher Shah Merkhel
 
Bioinformatics p1-perl-introduction v2013
Bioinformatics p1-perl-introduction v2013Bioinformatics p1-perl-introduction v2013
Bioinformatics p1-perl-introduction v2013
Prof. Wim Van Criekinge
 
Memory
MemoryMemory
Memory
adil raja
 
Lecture_ASCII and Unicode.ppt
Lecture_ASCII and Unicode.pptLecture_ASCII and Unicode.ppt
Lecture_ASCII and Unicode.ppt
Alula Tafere
 
Patching Windows Executables with the Backdoor Factory | DerbyCon 2013
Patching Windows Executables with the Backdoor Factory | DerbyCon 2013Patching Windows Executables with the Backdoor Factory | DerbyCon 2013
Patching Windows Executables with the Backdoor Factory | DerbyCon 2013
midnite_runr
 

Similar to Intro compute (20)

Introduction to computers
Introduction to computersIntroduction to computers
Introduction to computers
 
C101 – Intro to Programming with C
C101 – Intro to Programming with CC101 – Intro to Programming with C
C101 – Intro to Programming with C
 
Part 6 : Internet applications
Part 6 : Internet applicationsPart 6 : Internet applications
Part 6 : Internet applications
 
Bioinformatics v2014 wim_vancriekinge
Bioinformatics v2014 wim_vancriekingeBioinformatics v2014 wim_vancriekinge
Bioinformatics v2014 wim_vancriekinge
 
Mifare Desfire Technology
Mifare Desfire TechnologyMifare Desfire Technology
Mifare Desfire Technology
 
What's with the 1s and 0s? Making sense of binary data at scale with Tika and...
What's with the 1s and 0s? Making sense of binary data at scale with Tika and...What's with the 1s and 0s? Making sense of binary data at scale with Tika and...
What's with the 1s and 0s? Making sense of binary data at scale with Tika and...
 
Erlang Message Passing Concurrency, For The Win
Erlang  Message  Passing  Concurrency,  For  The  WinErlang  Message  Passing  Concurrency,  For  The  Win
Erlang Message Passing Concurrency, For The Win
 
Unicode, PHP, and Character Set Collisions
Unicode, PHP, and Character Set CollisionsUnicode, PHP, and Character Set Collisions
Unicode, PHP, and Character Set Collisions
 
Abap slide class4 unicode-plusfiles
Abap slide class4 unicode-plusfilesAbap slide class4 unicode-plusfiles
Abap slide class4 unicode-plusfiles
 
Understanding Character Encodings
Understanding Character EncodingsUnderstanding Character Encodings
Understanding Character Encodings
 
Huffman Codes
Huffman CodesHuffman Codes
Huffman Codes
 
What's With The 1S And 0S? Making Sense Of Binary Data At Scale With Tika And...
What's With The 1S And 0S? Making Sense Of Binary Data At Scale With Tika And...What's With The 1S And 0S? Making Sense Of Binary Data At Scale With Tika And...
What's With The 1S And 0S? Making Sense Of Binary Data At Scale With Tika And...
 
Komdat-Kompresi Data
Komdat-Kompresi DataKomdat-Kompresi Data
Komdat-Kompresi Data
 
Webinar: Understanding Storage for Performance and Data Safety
Webinar: Understanding Storage for Performance and Data SafetyWebinar: Understanding Storage for Performance and Data Safety
Webinar: Understanding Storage for Performance and Data Safety
 
Inside The Computer
Inside The ComputerInside The Computer
Inside The Computer
 
10 instruction sets characteristics
10 instruction sets characteristics10 instruction sets characteristics
10 instruction sets characteristics
 
Bioinformatics p1-perl-introduction v2013
Bioinformatics p1-perl-introduction v2013Bioinformatics p1-perl-introduction v2013
Bioinformatics p1-perl-introduction v2013
 
Memory
MemoryMemory
Memory
 
Lecture_ASCII and Unicode.ppt
Lecture_ASCII and Unicode.pptLecture_ASCII and Unicode.ppt
Lecture_ASCII and Unicode.ppt
 
Patching Windows Executables with the Backdoor Factory | DerbyCon 2013
Patching Windows Executables with the Backdoor Factory | DerbyCon 2013Patching Windows Executables with the Backdoor Factory | DerbyCon 2013
Patching Windows Executables with the Backdoor Factory | DerbyCon 2013
 

More from Usman Shah

Pneumatic and hydraulic conveying
Pneumatic and hydraulic conveyingPneumatic and hydraulic conveying
Pneumatic and hydraulic conveying
Usman Shah
 
Pelletization and granulation
Pelletization and granulationPelletization and granulation
Pelletization and granulation
Usman Shah
 
Particulate technology (electrostatic precipitator)
Particulate technology (electrostatic precipitator)Particulate technology (electrostatic precipitator)
Particulate technology (electrostatic precipitator)
Usman Shah
 
Particle size distribution
Particle size distributionParticle size distribution
Particle size distribution
Usman Shah
 
Flow pattern of fluids
Flow pattern of fluidsFlow pattern of fluids
Flow pattern of fluids
Usman Shah
 
Cyclone separator
Cyclone separatorCyclone separator
Cyclone separator
Usman Shah
 
Belt conveyors and elevators
Belt conveyors and elevatorsBelt conveyors and elevators
Belt conveyors and elevators
Usman Shah
 
Assignment cre lab
Assignment cre labAssignment cre lab
Assignment cre lab
Usman Shah
 
Group 2
Group 2Group 2
Group 2
Usman Shah
 
Group 1
Group 1Group 1
Group 1
Usman Shah
 
Jamshaid ppt
Jamshaid pptJamshaid ppt
Jamshaid ppt
Usman Shah
 
Intro to reactor design
Intro to reactor designIntro to reactor design
Intro to reactor design
Usman Shah
 
Differential method of analysis of data
Differential method of analysis of dataDifferential method of analysis of data
Differential method of analysis of data
Usman Shah
 
Difference between batch,mixed flow &amp; plug-flow reactor
Difference between  batch,mixed flow &amp; plug-flow reactorDifference between  batch,mixed flow &amp; plug-flow reactor
Difference between batch,mixed flow &amp; plug-flow reactor
Usman Shah
 
Cre24
Cre24Cre24
Cre24
Usman Shah
 
Cre ppt
Cre pptCre ppt
Cre ppt
Usman Shah
 
Cre ppt saud
Cre ppt saudCre ppt saud
Cre ppt saud
Usman Shah
 
Catalyst activation
Catalyst activationCatalyst activation
Catalyst activation
Usman Shah
 
Batch reactor designing
Batch reactor designingBatch reactor designing
Batch reactor designing
Usman Shah
 
What is cre
What is creWhat is cre
What is cre
Usman Shah
 

More from Usman Shah (20)

Pneumatic and hydraulic conveying
Pneumatic and hydraulic conveyingPneumatic and hydraulic conveying
Pneumatic and hydraulic conveying
 
Pelletization and granulation
Pelletization and granulationPelletization and granulation
Pelletization and granulation
 
Particulate technology (electrostatic precipitator)
Particulate technology (electrostatic precipitator)Particulate technology (electrostatic precipitator)
Particulate technology (electrostatic precipitator)
 
Particle size distribution
Particle size distributionParticle size distribution
Particle size distribution
 
Flow pattern of fluids
Flow pattern of fluidsFlow pattern of fluids
Flow pattern of fluids
 
Cyclone separator
Cyclone separatorCyclone separator
Cyclone separator
 
Belt conveyors and elevators
Belt conveyors and elevatorsBelt conveyors and elevators
Belt conveyors and elevators
 
Assignment cre lab
Assignment cre labAssignment cre lab
Assignment cre lab
 
Group 2
Group 2Group 2
Group 2
 
Group 1
Group 1Group 1
Group 1
 
Jamshaid ppt
Jamshaid pptJamshaid ppt
Jamshaid ppt
 
Intro to reactor design
Intro to reactor designIntro to reactor design
Intro to reactor design
 
Differential method of analysis of data
Differential method of analysis of dataDifferential method of analysis of data
Differential method of analysis of data
 
Difference between batch,mixed flow &amp; plug-flow reactor
Difference between  batch,mixed flow &amp; plug-flow reactorDifference between  batch,mixed flow &amp; plug-flow reactor
Difference between batch,mixed flow &amp; plug-flow reactor
 
Cre24
Cre24Cre24
Cre24
 
Cre ppt
Cre pptCre ppt
Cre ppt
 
Cre ppt saud
Cre ppt saudCre ppt saud
Cre ppt saud
 
Catalyst activation
Catalyst activationCatalyst activation
Catalyst activation
 
Batch reactor designing
Batch reactor designingBatch reactor designing
Batch reactor designing
 
What is cre
What is creWhat is cre
What is cre
 

Recently uploaded

Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
Mydbops
 
Demystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through StorytellingDemystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through Storytelling
Enterprise Knowledge
 
Day 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio FundamentalsDay 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio Fundamentals
UiPathCommunity
 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
christinelarrosa
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
christinelarrosa
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
Ivo Velitchkov
 
ScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking ReplicationScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking Replication
ScyllaDB
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
Pablo Gómez Abajo
 
What is an RPA CoE? Session 2 – CoE Roles
What is an RPA CoE?  Session 2 – CoE RolesWhat is an RPA CoE?  Session 2 – CoE Roles
What is an RPA CoE? Session 2 – CoE Roles
DianaGray10
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
Fwdays
 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving
 
AI in the Workplace Reskilling, Upskilling, and Future Work.pptx
AI in the Workplace Reskilling, Upskilling, and Future Work.pptxAI in the Workplace Reskilling, Upskilling, and Future Work.pptx
AI in the Workplace Reskilling, Upskilling, and Future Work.pptx
Sunil Jagani
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
Neo4j
 
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
Fwdays
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
UiPathCommunity
 
AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)
HarpalGohil4
 
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeckPoznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
FilipTomaszewski5
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
Javier Junquera
 
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdfLee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
leebarnesutopia
 
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
"Scaling RAG Applications to serve millions of users",  Kevin Goedecke"Scaling RAG Applications to serve millions of users",  Kevin Goedecke
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
Fwdays
 

Recently uploaded (20)

Must Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during MigrationMust Know Postgres Extension for DBA and Developer during Migration
Must Know Postgres Extension for DBA and Developer during Migration
 
Demystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through StorytellingDemystifying Knowledge Management through Storytelling
Demystifying Knowledge Management through Storytelling
 
Day 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio FundamentalsDay 2 - Intro to UiPath Studio Fundamentals
Day 2 - Intro to UiPath Studio Fundamentals
 
Christine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptxChristine's Product Research Presentation.pptx
Christine's Product Research Presentation.pptx
 
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptxPRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
PRODUCT LISTING OPTIMIZATION PRESENTATION.pptx
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
 
ScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking ReplicationScyllaDB Tablets: Rethinking Replication
ScyllaDB Tablets: Rethinking Replication
 
Mutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented ChatbotsMutation Testing for Task-Oriented Chatbots
Mutation Testing for Task-Oriented Chatbots
 
What is an RPA CoE? Session 2 – CoE Roles
What is an RPA CoE?  Session 2 – CoE RolesWhat is an RPA CoE?  Session 2 – CoE Roles
What is an RPA CoE? Session 2 – CoE Roles
 
"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota"Choosing proper type of scaling", Olena Syrota
"Choosing proper type of scaling", Olena Syrota
 
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance PanelsNorthern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
Northern Engraving | Modern Metal Trim, Nameplates and Appliance Panels
 
AI in the Workplace Reskilling, Upskilling, and Future Work.pptx
AI in the Workplace Reskilling, Upskilling, and Future Work.pptxAI in the Workplace Reskilling, Upskilling, and Future Work.pptx
AI in the Workplace Reskilling, Upskilling, and Future Work.pptx
 
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge GraphGraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
GraphRAG for LifeSciences Hands-On with the Clinical Knowledge Graph
 
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba"NATO Hackathon Winner: AI-Powered Drug Search",  Taras Kloba
"NATO Hackathon Winner: AI-Powered Drug Search", Taras Kloba
 
Session 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdfSession 1 - Intro to Robotic Process Automation.pdf
Session 1 - Intro to Robotic Process Automation.pdf
 
AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)AWS Certified Solutions Architect Associate (SAA-C03)
AWS Certified Solutions Architect Associate (SAA-C03)
 
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeckPoznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
Poznań ACE event - 19.06.2024 Team 24 Wrapup slidedeck
 
GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)GNSS spoofing via SDR (Criptored Talks 2024)
GNSS spoofing via SDR (Criptored Talks 2024)
 
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdfLee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
Lee Barnes - Path to Becoming an Effective Test Automation Engineer.pdf
 
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
"Scaling RAG Applications to serve millions of users",  Kevin Goedecke"Scaling RAG Applications to serve millions of users",  Kevin Goedecke
"Scaling RAG Applications to serve millions of users", Kevin Goedecke
 

Intro compute

  • 1. Introduction to computers and programming
  • 2. Content • Hardware • Information storage  RAM, ROM  HD, DVD • Display  Images  Characters (fonts) • File system/type  Encryption  Compression • Network  Protocols  Packets • Programming  Algorithm  Pseudocode  Flowchart • Languages • Source code  Example
  • 6. Information storage • 1 bit • 8 bits • 16 bits • 32 bits • 64 bits • bit (1 or 0) • byte (octet) (28 ) • word (216 ) • double (232 ) • long double (264 ) Encoding information on a fixed element of length n with a base b gives bn non-redundant possibilities
  • 7. Information coding • Binary  0 or 1 • Octal  0-7 • Hexadecimal  0-9+A-F • Decimal  0-9 • How to count • 128+32+16+4+1=  181 (decimal)  265 (octal)  B5 (hexadecimal) • Signed vs unsigned  0 to 255  -127 to +127 128 64 32 16 8 4 2 1 1 0 1 1 0 1 0 1
  • 8. Operations on bits • Booleans:  0 = false = no  1 = true = yes • Operators:  AND  OR  XOR  NOT • Example tables AN D 0 1 0 0 0 1 0 1 OR 0 1 0 0 1 1 1 1 XO R 0 1 0 0 1 1 1 0
  • 9. RAM/ROM Memory mapping Address Values 0000 0001 0002 .. .. .. .. FFFF • Size reminder: • Kilobyte Kb 210 ~103 • Megabyte Mb 220 ~106 • Gigabyte Gb 230 ~109 • Terabyte Tb 240 ~1012 • Petabyte Pb 250 ~1015 • … 1 0 1 1 1 0 0 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 0 0 1 0 0 1 0 0
  • 11. Display • Screen pixel or dots • Color coding: 32 bits • 1 pixel = 3 bytes of color (RGB)+1 byte alpha channel (transparency) • 1600x1200x4bytes=7,5 Mb! • Fonts  Bitmap  Vectors  TrueType, OpenType, PostScript QuickTime™ et un décompresseur TIFF (non compressé) sont requis pour visionner cette image.
  • 12. Keyboard/Mouse • Each key (or combination of keys) of the keyboard sends a code to the computer. • The code is interpreted and converted to the corresponding ASCII or Unicode number. • The mouse movements  1 to 4 bytes (vertical & horizontal) • Buttons  Clicked, pressed, rolled buttons
  • 13. ASCII & Unicode • ASCII 7/8 bits • Unicode  UTF-8/16/32 bits  ISO-8859 (Latin) • od -c od -h •
  • 14. Software layers ROM Hardware Operating System User Interface Software Files CPU, RAM, HD, DVD Word, scripts, mail, web browser… Data (.doc, .mp3) BIOS Linux CLI, X-Windows Windows Windows MacOSX Firmware Quartz
  • 15. File systems • Method the OS uses to store information  Storage unit, directories, subdirectories (Windows, VMS)  Single arborescence (Linux, MacOSX, all Unix) • What exactly is a file?  a piece of information (text, graphic, data, music program, script)  it is identified by a name and an logical address (or path)  other informations: date, size, type, creator, ownership, physical address…
  • 16. File system organisation Disk 1 Disk 2 Directories Subdirectories Windows DOCS PROGS WORD EXCEL CONFIG DATA EXPT1 EXPT2 / /usr /home phil johnlocal bin lib emacs X11 Unix D:C: Disk 1 Disk 2
  • 17. Path • The path is the logical address used by the system or the user to locate a file. • Example: /bd_du_Palais/35/etage/4/appart/12/Dupont_ Jean.txt filename suffix path
  • 18. File types • Executable  .exe  .app  Unix requires « x » • Data  Text (.txt)  Music (.mp3)  Image (.jpg, .gif)  Movie (.mpg, .mov)  Binary (.bin) • Special cases in Unix  STDIN  STDOUT  STDERR
  • 19. Encryption / compression • Compression  Reducing the size of files  E.g., .mp3, .gz, .jpg, .zip • Encryption  Protecting your privacy  E.g., .pgp • Packing  Grouping the files  E.g., .tar
  • 20. Networks • Direct  USB 11Mb-480Mb  Ethernet 10Mb-1Gb • Wired  Modem 56Kb  ADSL 600Kb-8Mb  LAN 10Mb-10Gb • Wireless  Bluetooth 1Mb-20Mb  WIFI (AirPort) 11Mb-54Mb
  • 21. Network (ethernet or wireless) • Computer talk to each other via network protocols  ip, tcp, http, ftp, … • TCP/IP  transmission control protocol/internet protocol • Handshaking • Transmission • Ackowledgement • DNS  Domain Name Server • URL  Universal Resource Locator • IP addess  192.42.197.51
  • 22. DNS reminder Primary DNS Root DNS Local DNS Client query Target server 1 2 3 45 6 www.expasy.org 129.194.8.64 *.org dns.anywhere.net client.anywhere.net www.expasy.org ??
  • 23. Packets The data travels within units called packets
  • 24. Packet breakout Usual TCP/IP payload per packet: 512 bytes
  • 26. What is a program? • How to cook? • The algorithm • Are you a programmer?
  • 27. Pseudocode • This is the pseudocode for a game of Monopoly
  • 30. Languages • Low level (processor dependent)  Machine code, assembler • High level: structured, procedural  Fortran, C, Pascal… • High level: object oriented  C++, Java, C#, Perl, Objective-C… • Virtual machines  Java, C#… • Scripting  Perl, Python, JavaScript…
  • 31. Source code -> Object code • Compiler+linker  Fortran, C, Pascal, C++… • Interpreter  Basic, Perl… • Intermediate  Java • Compiler+linker  Fast to execute, but slow to debug • Interpreter  Slow to execute, but fast to debug (no need to recompile) • Intermediate  Slow…
  • 32. Source code • Instructions  Statement, blocks  Affectation  Operators  Loops  Tests  Subroutines  Comments • Data structures  Variable  List  Array  Hash  Pointers  Objects
  • 33. Source code (2) • Statement, blocks  One or more instructions for the processor • Affectation  Change to a variable • Operator  affect one or more variable  + * - / AND OR NOT… • Variable  A region in memory that can be modified  Exists in different types  Scalar, char, numeric, boolean  List, array  Hash  Combination->data structure
  • 34. Source code (3) • Loops  Allow the computer to repeat blocks • Tests  Decide what to do • Subroutines  Programs frequently called (functions) • Comments  The most important lines of the source code… • Pointers  Reference to region in memory (address) • Objects  Combination of data and code
  • 35. Example: a text to treat « Noon rings out. A wasp, making an ominous sound, a sound akin to a klaxon or a tocsin, flits about. Augustus, who has had a bad night, sits up blinking and purblind. Oh what was that word (is his thought) that ran through my brain all night, that idiotic word that, hard as I'd try to pun it down, was always just an inch or two out of my grasp - fowl or foul or Vow or Voyal? - a word in a quizz which, by association, brought into play an incongruous mass and magma of nouns, idioms, slogans and sayings, a confusing, amorphous outpouring which I sought in vain to control or turn off but which wound around my mind a whirlwind of a cord, a whiplash of a cord, a cord that would split again and again, would knit again and again, of words without communication or any possibility of combination, words without pronunciation, signification or transcription but out of which, notwithstanding, was brought forth a flux, a continuous, compact and lucid flow: an intuition, a vacillating frisson of illumination as if caught in a flash of lightning or in a mist abruptly rising to unshroud an obvious sign - but a sign, alas, that would last an instant only to vanish for good. » Gilbert Adair
  • 38. Source code example #!/usr/bin/perl -w # essential line of all perl scripts $filename = "avoid.txt"; # affect « avoid.txt » to the variable $filename # open the file, or exit open(FILE, $filename) || die "Cannot open file ‘$filename’nn"; @text = <FILE>; # add each line of the file to an array close FILE; foreach $line (@text) { # read one line from the array into $line and repeat for each line @table = split(//,$line); # read each character of the line in an array while ($char=pop(@table)) { # read one character of the array 'table' and repeat for all $char =~ s/[^a-z]//; # keep only the alphabetical character a to z if ($char) { # check if the character exists and execute the block $count{$char}++; # if yes, increment by one the hash 'count' } } } # print each character and its number of occurence one per line foreach $c (keys %count) { print "$c=$count{$c}n"; } exit; # quit the program
  • 39. Tips • Think about your problem • Create a flowchart • Create the pseudocode • Verify the memory used by your variables • Write the code • Test the code  For all the possible functions or cases (if possible)  Give it to users as a beta (if not possibe)  Sell it (if you work for Microsoft© … ;-) • Debug
  • 40. Summary of the week • Monday  Intro computers & programming  Intro Unix  Tutorial Unix • Tuesday  Intro Perl  Regexp & Perl In-liners • Wednesday  Object Oriented programming  BioPerl  EMBOSS • Thursday  Database indexing  BLAST  HTML & cgi-bin • Friday  Finish exercises  Users questions
  • 41. Unix • Next presentation… VassiliosVassilios aliasalias UnixMan!!!UnixMan!!!