Slide 1: Introduction to the class and hardware/software
Download
Report
Transcript Slide 1: Introduction to the class and hardware/software
Introduction to CS/IT
Instructor:
Yong-nian Tang
Brookhaven National Laboratory
Working on accelerator control
631-344-7022 (BNL Phone #)
[email protected]
[email protected]
Introduction to CS/IT
Text Book:
Computer Science Illuminated. sixth ed.
by Nell Dale and John Lewis
Buying the text book is not mandatory
2
Introduction to CS/IT
Supply: USB drives to save files and transfer
data.
Very cheap when they are on sale.
About $0.50 to $1 per GB, or even less.
Every one should have one or two.
3
Introduction to CS/IT
Course Web Pages:
www2.sunysuffolk.edu/tangy/cst111
Outline
Announcements
Slides
Projects
Attendance and project status
4
Introduction to CS/IT
Attendance Policy
Attending classes is very important
Firm but flexible policy
If you can not attend a class,
• call 344-7022 or
• email [email protected]
Attendance
Grades: 10% goes to the final
grade. However, more points will be deducted for
many absences.
5
Introduction to CS/IT
Fail or Withdrawal
One should go to registrar to formally withdraw
from the class if quitting attending the class after
some date. For example, one quits the class after
the midterm exam.
If you forget to formally withdraw, I usually assign W
as your final grade if the College permits. However,
if you need to get an F in order to get financial aid,
please send me an email.
If the College does not allow professors to assign W,
I will assign F for lack of choices.
6
Introduction to CS/IT
Grading Policy
Specified in the outline
In general, if one attends the classes, finishes lab
work, exams and projects, one gets a relatively
good grade.
Dono’t worry about grades, to learn something is
more important.
No reasons to not get a good grade.
7
Introduction to CS/IT
Topics
Introductions
Internet and security
Hardware: binary numbers, circuit gates
Software:
Operating systems: Windows and Files
Applications: Excel and Access
High-level Programming: we’ll write real
programs (in processing and Java)
8
Defining Computers
A computer is an electronic device
accepts input
processes and stores data
produces output
Types of Computers
Personal computers
• Desktop
• Notebook (Laptop)
• Tablet PC
Hand-helds: PDAs, MP3 players, Cell phones
Mainframes
Supercomputers
Other computers (at home, in car…)
Types of Computers
Personal computers are used for general computing
tasks.
Hand-held computers fit in the palm of your hand and
run on batteries.
Mainframes are used by companies to provide
centralized storage, processing, and management for
large amounts of data.
Supercomputers are the largest and fastest of
computers, and can process an enormous volume of data.
Types of Computers
Desktop: (HP, Dell, IBM…)
• Usually more powerful and cheaper than
laptops
• Needs separate monitor, not easy to move
around
• Could be replaced by laptops and tablets in
the near future?
Types of Computers
Notebook, Netbook & iPad
• Small & lightweight.
• Portable
• Netbook: browsing
• Internet
• Tablets (7” and 10”)
Types of Computers
Supercomputers are the
largest and fastest
computers. BNL Bluegene
Mainframe s are very
powerful computers, but
not as powerful as
supercomputers.
Clusters: consists of
hundreds and more
processors.
Computer Systems
A computer system is made up of:
Hardware — the physical components. Can
be touched. If kicking it, your toe will get
hurt.
Software — the programs or lists of
instructions. Can not be touched.
Software could be more expensive than
hardware. Why do most people KEEP using
Windows system?
Can we reduce the weight of a
computer by deleting its
software (files).
No!!!
Software has no weight.
Hardware: major components
Motherboard
CPU (Central Processing Unit)
Memory
Storage devices
I/O (Input/Output) devices
Network devices
Power supply, case, video card, sound card…
Hardware: Motherboard
Also called
mainboard
Located inside the
computer case
Holds and connects
all essential
components
Hardware: CPU
CPU - micro processor
• A silicon chip designed
to manipulate data
• The brain of a
computer.
• 64-bit CPUs and 32-bit
CPUs
Hardware: CPU (cont.)
Intel, AMD, Apple, IBM… make CPUs.
Its speed is determined by:
• Clock speed (Hz)
• Word size (32-bit and 64-bit)
• Processor type
• Usually, motherboard and CPU are the most
expensive components in a computer.
High-end video cards are not cheap either.
Question
1. What are the two most
expensive components in
a computer?
Hardware: Units of Memory and Storage
Computer understands 0 and 1 only: on/off
state, N/S pole, 0/5 volts…
1 (“on”) and 0 (“off”) are referred to as bits.
Eight bits is a byte. Two bytes represent a
unique character (Unicode)
Decimal numbers and binary numbers.
Hardware: Units of Memory and Storage
Everything in the computer memory and
storage devices is a number! A computer
understands only numbers.
Number number
Character number (ASCII code)
Grey level number ( usually 0 – 255)
Color three numbers (R/G/B)
Question
2. A byte can store 256
different numbers, why
do we need two bytes to
store an English
character?
Hardware: units of Memory and
Storage
Kilobyte (KB) = one thousand (1024) bytes
Megabyte (MB) = one million (1024 KB)
bytes
Gigabyte (GB) = one billion bytes
Terabyte (TB) = one trillion bytes
Hardware: Memory
Computer memory is a set of storage
locations.
Five types of memory:
•
•
•
•
•
Random access memory (RAM)
Cache memory
Virtual memory
Read-only memory (ROM)
Complementary metal oxide semiconductor
memory (CMOS)
Hardware: Memory
RAM --- Random Access Memory
• Sits on motherboard and closes to CPU
• Also called volatile memory, primary
memory, and main memory.
• Most important memory type.
• 256 MB to many GBs.
• Fast CPU + big memory + (fast graphical
card) a fast computer.
Hardware: Memory
Cache memory
• Special high-speed memory chip on the
motherboard or CPU
• Stores frequently and recently accessed data
and commands.
• Usually 1 to ??? MB.
• The bigger, the better, also more expensive.
Hardware: Memory
Virtual memory is extra memory that simulates
RAM if more is needed. Limited by the memory
space (word size).
Read-only memory (ROM) is the permanent
storage location for a set of instructions the
computer uses.
CMOS memory is semi-permanent information
about where essential software is stored.
Hardware: Storage Media
Magnetic storage devices
• Hard disks—several magnetic oxide covered
metal platters usually sealed in a case inside
the computer
• Tape—inexpensive, slow, archival storage for
large companies who need to back up large
quantities of data.
• Floppy disks: (almost) obsolete
Hardware: Storage Media
Optical storage devices
• CD-R - store 700 MB of data
• CD-RW: not reliable
• DVD—can store between 4.7 and 15.9 GB of
data; Blue-ray discs and HD-DVD can store
between 15 and 50 GB of data
Hardware: Storage Media
Flash memory cards
• Small, portable cards: rewritable
• Used in digital cameras, handheld computers,
video game controllers, and other devices
• Most commonly-used: SD (HDSD) cards –
Secure Digital.
Hardware: Storage Media
USB drive, USB flash
drive
• from 32 MB to 16 GB and
•
•
•
•
more
Plug directly into the USB
port (hot operation)
Rewritable
Best portable storage
Small and inexpensive:
$1.50/GB
Hardware: Differences between
memory & storage
Speed
Persistent
Size
Location
Memory
Fast
No
Limited
On board
Storage
Slow
Yes
Unlimited(?)
External
Question
3. When we talk about
memory and storage,
how do you compare
computers and people?
Hardware: Input/Output
Input:
• Data you type
• Data by reading files
• Data through Internet.
• Data from sensors……
• Other sources
Output: The result of computer
processing.
Hardware: Input/Output
Peripheral devices
• Accomplish the input, output, and
storage functions.
• Not sit on the motherboard slow
• I/O always is the slowest part of any
program execution
Hardware: I/O Devices
Input devices:
Keyboard
Mouse
Others
Hardware: I/O Devices
Output devices:
• Monitors
CRT monitors (almost obsolete)
LCD and LED
• Printers
• Others
Hardware: I/O Devices
Monitor’s quality
Screen Size
(diagonal in inches)
Resolution (in pixels)
Setting the screen
resolution.
Hardware: I/O Devices
Types of printers
• Laser
• Inkjet
B/W printing:
buy laser printers
Color laser printer:
very expensive
cartridges.
Inkjet printer
Hardware: Printer
Turn OFF the printer when not printing to
prevent the heat from drying the
cartridges.
Use the power button to turn off the
printer in order to make cartridges stay in
the proper housing. Do not pull the power
cord.
Hardware: Video Card
Integrated (on-board) and dedicated
video cards
Gaming: needs high-end video cards.
High-end computers have dedicated
video-cards
Usually, a video card has its own
memory; on-board video shares main
memory.
Microsoft Office 2007-Illustrated Introductory, Premium Video Edition
43
Hardware: Network Devices
Network cables (Ethernet cables)
Modems and routers
Wireless cards and adapters
Building a home wireless network: Not as
hard as one thinks. Just follow the
instructions.
A Desktop Computer
Motherboard and others
The Back of a Computer
Power connection
Keyboard port
Mouse port
Audio
connection
Monitor port
FireWire port
USB ports
Network port
Speaker and
microphone
connections
Phone line
connection
Computer ports and connections
The first class ends here
Software: major Components
Operating system
• Windows
• Unix & Linux (open and free)
• MacOS
System utilities
Application software
Software: Introduction
Software manipulates and processes data
Data:
Strings, numbers, figures, sounds, images,
and graphics…
Software: Introduction
File --- named collection of stored data.
• Executable file can be run to perform a specific
task.
• Data file contains data.
Everything in a computer is represented by
a number on disk and in memory.
Software: Data Representations
Every English
character is
represented by an
ASCII number.
ASCII numbers
defined by ANSI.
ANSI standard sample ASCII code
Software: Data Representations
ASCII --- American Standard code for
Information Exchange
ANSI --- American National Standards
Institute
Microsoft Office 2007-Illustrated Introductory, Premium Video Edition
53
Software: System Software
System software helps the computer
carry out it s basic operating tasks.
•
•
•
•
Operating systems
Utilities
Device drivers
Programming languages
Software: System Software
Operating system
• Executes programs
• controls the input and output (I/O)
• allocates system resources and priorities
• Schedules tasks
• manages files on storage devices
• guards against equipment failure
• provides a graphical user interface (GUI)
• Others
Software: System Software
Operating system
• Programmer: develop and write the system
• System administrator (SA): configure and
maintain the system
• End user: use the system
Using GUI (Graphical User Interface)
Manipulating files
Software: System Software
Major Operating systems
• Windows by Microsoft: most recent version is
Windows 7.
• Unix/Linux: many flavors (Sun Solaris, HP-UX,
IBM AIX, Redhat, Debian, Ubuntu…)
• MacOS: only for Apple computers.
57
Software: System Software
Which OS is better?
• Windows: most popular. Easy to use. Many
applications. Hardware/software installation is
easy. Prone to virus attacks.
• Unix/Linux: free. Popular in academic world.
Hardware/software installation needs effort and
expertise. More secure than Windows.
• MacOS: nice GUI, stable and reliable. Pay a
premium because it’s Apple.
58
Software: System Software
We are users and we learn
• Basic knowledge of file systems.
• To use GUI of the system
• To configure the system
• To maintain the system
59
Software: System Software
Utilities
• Analyze, configure, optimize and maintain
computer system: disk defragmenter, system
restore…
Device drivers
• “Drives” a specific device (drive).
• The main task to install a device is to install its
driver.
Software: System Software
Programming languages
• Used by a programmer to develop
programs.
• Most commonly used computer
language: C, C++, Java, C#, Visual
Basic, Fortran…
Microsoft Office 2007-Illustrated Introductory, Premium Video Edition
61
Software: System Software
Drive and Driver
• Drive --- Hardware
• Driver --- software to “drive” a specific
drive.
Examples:
Hard (disk) drive --- Hard (disk) driver
USB drive --- USB driver
Printer --- Printer driver
Microsoft Office 2007-Illustrated Introductory, Premium Video Edition
62
Software: System Software
Icons (you
might see
additional
icons on
your
screen)
Gadgets
(small
programs;
you might see
additional or
different
gadgets on
your screen)
Start button
Taskbar
Quick Launch toolbar
Windows Vista starting screen
Software: Application Software
Enables you to perform specific
computer tasks
Examples: web browsers, Microsoft
Office, DBMS, ……
Security Threats: virus (malware)
Software programs infesting computers:
Worms, Trojan horse, spyware, adware…
Replicates itself and fill up disks
Damages computer systems
Erases files and wipes out disks
Ties up network and computers. Slows
down program execution
Security Threats: viruses
Pops up ads
Keylogger: steals personal
information
Creates a back-door and lets remote
users access your computer
A bad virus spreads very fast and
affects millions computers.
66
Security Threats: Sources of
viruses
Downloading virus-infected files
Opening malicious emails and their
attachments
Infected disks and CDs
Worst incidents: Melissa, ILOVEYOU
67
Security Threats: Anti-virus
Firewall
• Stop unwanted and unsolicited incoming
network messages and data.
• Can be either hardware or software.
Antivirus software
• Every computer must equip with an antivirus
software.
System and software update:
• Automatic update
Security Threats: Antivirus
Microsoft: security_essentials (free)
Paid: Norton, MacAfee, Trend Micro
Free:
• ClamAV: open source. For Unix/Linux , also for
•
•
•
•
Windows
Clamwin: variant of ClamAV for Windows
Stopzilla
Avast!
AVG Anti-Virus
69
Security Threats: Antivirus
There is no excuse not to install an
antivirus software, at least it should have
security_essential installed from
www.microsoft.com/security_essential
SE is free and works well!
70
Security Threats: Spoofed sites
Spoofed site
• A Web site set up to look like another Web
site, but which does not belong to the
organization portrayed in the site
• The URL (address on the Web) looks similar
to a URL from the legitimate site
www.citibank.com and www.citybank.com
• Usually set up to try to convince customers
of the real site to enter personal information
Security Threats: Phishing
Phishing
• Sending e-mails to customers of a legitimate Web
site (banks and institutions) asking them to click a
link in the e-mail because of
Security upgrade
Account update
Account compromised
Other reasons
• If the customer does not click the link, his/her
account will be suspended or closed
• the link leads to a spoofed site and asks personal
and/or login information.
Security Threats: Other tricks
Nigerian scams
• Lottery winner, request processing fee
• Unclaimed treasure: needs your account number to
deposit
Over-payment scam
• You sell an item (a car…)
• A far-away guy will buy it and send you a bank
check larger than your asking price
• He asks you to mail the extra to himself or
someone else through western union…
• You deposit the check and send the extra back (real
money). Several weeks later, the check bounced.
Security Threats: Phishing
Too good to be true >>> not true
Never open an unsolicited email, especially, its
attachments
Never reveal your personal information (SSN,
bank account number, credit number…) unless
you initialize the communication
Never make any payment to a (faraway) stranger.
Wait for the check cleared, then take action.
If someone specifically ask you to send money
through Western Union or Money Gram most
likely it’s a scam.
Security Threats: Phishing
To clear a bank check needs one to
several weeks, especially foreign checks.
Payment by Western Union… is not
traceable.
Microsoft Office 2007-Illustrated Introductory, Premium Video Edition
75
Security Threat: Strong password
At least eight characters long
Consists of upper- and lowercase
letters and numbers
Does not include common personal
information
Security Threats: Encryption
Encrypt important files especially when
files are on a USB drive.
TrueCrypt: free and easy to use for Unix,
Linux, and Windows.
Computer Languages
First generation: machine language
Second generation: Assembly
language
Third generation: High level such as
C, Fortran, C++, Java, VB…
Introduction to Programming
Programming languages
First generation: machine language:
•
•
•
•
•
Consists of 0’s and 1’s
The only language understood by computers
Fast and efficient
Very hard to program, read and understand.
Used in the old times.
79
Introduction to Programming
Programming languages
Second generation: assembly language:
•
•
•
•
English words are used in a very cryptic way
Needs an assembler to convert it to machine language
Relatively fast and efficient
Still hard to program, read and understand; but is
doable. The core parts of OS’s are usually coded in
assembly language
• Different hardware (CPUs) has different assemblers
80
Introduction to Programming
Programming languages
Third generation: high level language:
•
•
•
•
C, C++, Java, C#,VB, Fortran,…
English-like language
Developing programs by writing source code
Source code (compiler or interpreter) assembly language
(assembler) machine language
• Still fast and efficient for most tasks
• Relatively easy to program, read and understand
• Portable to almost all platforms.
81
Translating Languages
English: Display the sum of A times B plus C.
C++: cout << (A * B + C);
Assembly Language:
mov eax,A
mul B
add eax,C
call WriteInt
Intel Machine Language:
A1 00000000
F7 25 00000004
03 05 00000008
E8 00500000
82
Irvine, Kip R. Assembly
Language for Intel-Based
Computers 6/e, 2010.
Introduction to Programming
What are programs?
A program is a sequence of instructions written
in computer languages to guide computers to
perform tasks.
A computer follows the instructions exactly and
precisely. --- an important observation of
computer programming.
83
Introduction to Programming
An example
To calculate the average of two numbers
• Input: get the two numbers
• Processing: calculate their average
• Output: display the result
84
Software Development
Source code (text file)
Interpreter and compiler convert
the source to object code (.obj)
Linker links all object codes and
libraries into executable files. (.exe)
Introduction to Programming
Compiler and Interpreter
Compiler converts the whole program from source
code to machine code, generates an executable
program.
• Source files object files (.obj)
• A linker links all the object files and library functions an
executable program (.exe)
Interpreter converts the source code one line/block at
a time and execute it.
• Advantage: easy to develop and debug the program
• Disadvantage: slow
86
Software Development
Java uses a different approach in
order to make it portable.
Source code (text file, .java)
Java compiler javac convert the source
to byte code (.class)
Java Virtual Machine (JVM) interprets
the byte code and run the program.
Introduction to Programming
Write a fast program
The slowest part of a program is I/O:
• Reduce I/O times as much as possible
• Use buffers to do I/O
A fast computer make a program running fast:
Fast CPU (32-bit vs. 64-bit)
Big memory (32-bit machine can access only 3.7 Gb)
Good video card if you like to play fast games
88
Software Development
OOP and Procedural
• Object-Oriented Programming
(OOP): Java
• Procedural (Conventional)
programming: C
• What are the differences between
them?
Software Development
Client and Server
•
•
•
•
In a distributed environment
A server provides services
A client requests services
The opposite: peer-to-peer system.
Software Development
Life Cycle
•
•
•
•
Analysis and design
Coding
Testing and Debugging
Maintenance
Software Development
Comments
• Line comments: starts with //, ends
at the end of line
• Block comments: /* … */
• Comments make the code more
readable and easy to understand.
Software Development
Components of a program
• Basic: data types and operations,…
• Code structs: decisions, loops,
functions
• Data structures: arrays, classes, and
others.
Units of Memory and Storage
Computer understands 0 and 1 only:
on/off state, N/S pole, 0/5 volts…
1 (“on”) and 0 (“off”) are referred to as
bits.
Eight bits is a byte. Two bytes represent a
unique character (Unicode)
Software Development
Memory organization
Bit (0 or 1)
Byte: 8 bits (0 to 255)
Word: system dependent
Kilobyte: 1 k (1024) bytes
Megabyte: 1 M byte (1024 x 1024)
Pay attention to data types.
Units of Memory and Storage
Kilobyte (KB) = one thousand (1024) bytes
Megabyte (MB) = one million (1024 KB)
bytes
Gigabyte (GB) = one billion bytes
Terabyte (TB) = one trillion bytes
Data Representations
Everything is a number in the computer
memory or on storages
• Numbers numbers
• Characters numbers by ASCII
• Grey numbers (0-255)
• Color three numbers (R/G/B)
Software Development
Number system
Binary number (0,1): base 2
Octal number (0,1,2,…,7): base 8
Example: o1, o7, o23
Decimal number (0,1,2,…,9): base 10
Hexadecimal number
(0,1,2,…,9,A,B,C,D,E,F)
Example: 0x1, 0x8, 0xf, 0xff
Character Storage
Character sets
• Standard ASCII
(0 – 127)
• Extended ASCII (0 – 255)
• ANSI
(0 – 255)
• Unicode
(0 – 65,535)
99
Irvine, Kip R. Assembly
Language for Intel-Based
Computers 6/e, 2010.
Start processing!