Sunteți pe pagina 1din 99

Introduction to Program m ing

Instructor:
Yong-nian Tang
Brookhaven National Laboratory
Working on accelerator control
631-344-7022 (BNL Phone #)
tangy@sunysuffolk.edu

Introduction to Program m ing


Text Book:
Introduction to Java
Programming
by Daniel Liang
10th edition

Introduction to Program m ing


Download the text book:
www2.sunysuffok.edu/tangy
CST112 --- Introduction to
programming
Liangs Introduction to Java
Programming, 10th edition

Introduction to Program m ing


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.
4

Introduction to Program m ing


Course Web Pages:

www2.sunysuffolk.edu/tangy/cst112
Outline
Announcements
Slides
Projects
Attendance and project status
5

Introduction to Programming
Attendance Policy
Attending classes is very important
Firm but flexible policy
If you can not attend a class,
call 344-7022 or
email tangy@sunysuffolk.edu
Attendance
Grades: 10% goes to the
final grade. However, more points will be
deducted for many absences.
6

Introduction to Program m ing


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.
7

Introduction to Program m ing


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.
Do not worry about grades, to learn
something is more important.

Introduction to Program m ing


Topics
The language we use is Java.
Our goal is to be able to write medium

size programs at the end of the class.


I enjoy to answer questions from you
and discuss them with you. Please be
actively involved in the class activities.

D efi
ning Com puters
A computer is an electronic
device
accepts input
processes and stores data
produces output

Types ofCom puters


Personal computers
Desktop
Notebook (Laptop)
Tablet PC

Hand-helds: PDAs, MP3 players, Cell phones


Mainframes
Supercomputers
Other computers (at home, in car)

Types ofCom puters


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 ofCom puters


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 ofCom puters


Notebook, Netbook

and tablet
Small & lightweight.

Portable
Netbook: browsing
Internet
Tablets (7 and 10,)

Types ofCom puters


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.

Com puter System s


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.

H ardw are:m ajor com ponents


Motherboard
CPU (Central Processing Unit)
Memory
Storage devices
I/O (Input/Output) devices
Network devices
Power supply, case, video card,

sound card

H ardw are:M otherboard


Also called
mainboard
Located inside the
computer case
Holds and connects
all essential
components

H ardw are:CPU
CPU - micro processor
A silicon chip

designed to
manipulate data
The brain of a
computer.
64-bit CPUs and 32bit CPUs

H ardw are: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.

Q uestion
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)

Q uestion
2. A byte can store
256 different
numbers, why do we
need two bytes to
store an English
character?

H ardw are:units ofM em ory 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

H ardw are:M em ory


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)

H ardw are:M em ory


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.

H ardw are:M em ory


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.

H ardw are:M em ory


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.

H ardw are:Storage M edia


Magnetic storage devices

Hard disksseveral magnetic

oxide covered metal platters


usually sealed in a case inside
the computer
Tapeinexpensive, slow, archival
storage for large companies who
need to back up large quantities
of data.
Floppy disks: (almost) obsolete

H ardw are:Storage M edia


Optical storage devices
CD-R - store 700 MB of data
CD-RW: not reliable
DVDcan 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

H ardw are:Storage M edia


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.

H ardw are:Storage M edia


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

H ardw are:D iff


erences betw een
m em ory & storage
Speed

Persistent

Size

Location

Memory

Fast

No

Limited

On board

Storage

Slow

Yes

Unlimited(?)

External

Q uestion
3. When we talk about
memory and storage,
how do you compare
computers and
people?

H ardw are:Input/O utput


Input:
Data you type
Data by reading files
Data through Internet.
Data from sensors
Other sources

Output: Display the result.

H ardw are:Input/O utput


Peripheral devices
Accomplish the input, output, and

storage functions.
Not on the motherboard slow
I/O always is the slowest part of
any program execution

H ardw are:I/O D evices


Input devices:
Keyboard
Mouse
Others

H ardw are:I/O D evices


Output devices:
Monitors
CRT monitors (almost obsolete)
LCD and LED
Printers
Others

H ardw are:I/O D evices


Monitors quality
Screen Size

(diagonal in
inches)
Resolution (in
pixels)
Setting the
screen
resolution.

H ardw are:I/O D evices


Types of printers
Laser
Inkjet
B/W printing:
buy laser printers
Color laser printer:
very expensive
cartridges.

Inkjet printer

H ardw are: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.

H ardw are: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

44

H ardw are:N etw ork D evices


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 D esktop Com puter

M otherboard and others

The Back ofa Com puter


Power connection
Keyboard port

Mouse port

Audio
connection
Monitor port
FireWire port
USB ports
Network port
Speaker and
microphone
connections

Computer ports and


connections

Phone line
connection

Softw are:m ajor Com ponents


Operating system
Windows
Unix & Linux (open and free)
MacOS

System utilities
Application software

Softw are:Introduction
Software manipulates and

processes data
Data:
Strings, numbers, figures, sounds,
images, and graphics

Softw are: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.

Softw are:D ata Representations


Every English

character is
represented
by an ASCII
number.
ASCII numbers
defined by
ANSI.

ANSI standard sample ASCII code

Softw are:D ata Representations


ASCII --- American Standard code for
Information Exchange
ANSI --- American National Standards
Institute

Microsoft Office 2007-Illustrated Introductory, Premium Video Edition

53

Softw are:System Softw are


System software helps the computer
carry out it s basic operating tasks.

Operating systems
Utilities
Device drivers
Programming languages

Softw are:System Softw are


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

Softw are:System Softw are


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 10.


Unix/Linux: many flavors (Sun Solaris,
HP-UX, IBM AIX, Redhat, Debian,
Ubuntu)
MacOS: only for Apple computers.

57

Softw are:System Softw are


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 its Apple.

58

Softw are:System Softw are


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

Softw are:System Softw are


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.

Softw are:System Softw are


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

Softw are:System Softw are


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

Softw are:System Softw are


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

Softw are:Application Softw are


Enables you to perform specific

computer tasks
Examples: web browsers,
Microsoft Office, DBMS,

Security Threats:virus (m alw are)


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 ofviruses


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_ess
ential
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:O ther 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 its 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 passw ord


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.

Com puter 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 0s and 1s
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 OSs 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 Program m ing


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

Softw are D evelopm ent


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

Softw are D evelopm ent


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

Softw are D evelopm ent


O O P and Procedural
Object-Oriented

Programming (OOP): Java


Procedural (Conventional)
programming: C
What are the differences
between them?

Softw are D evelopm ent


Client and Server

In a distributed environment
A server provides services
A client requests services
The opposite: peer-to-peer
system.

Softw are D evelopm ent


Life Cycle

Analysis and design


Coding
Testing and Debugging
Maintenance

Softw are D evelopm ent


Com m ents
Line comments: starts

with //, ends at the end of


line
Block comments: /* */
Comments make the code
more readable and easy to
understand.

Softw are D evelopm ent


Com ponents ofa program
Basic: data types and

operations,
Code structs: decisions,
loops, functions
Data structures: arrays,
classes, and others.

U nits ofM em ory 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)

Softw are D evelopm ent


M em ory 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.

U nits ofM em ory 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

D ata 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)

Softw are D evelopm ent


N um ber 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
Unicode

(0 255)
(0 65,535)

99

Irvine, Kip R. Assembly


Language for Intel-Based
Computers 6/e, 2010.

S-ar putea să vă placă și