OUTLINE
 
by Paul Nervy
Copyright (c) 2006 by Paul Nervy
 
Visit www.paulnervy.com.


wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww
wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

COMPUTERS

Contents

Introduction.
	Philosophy of computers.  
		Artificial Life.  Artificial Intelligence.
		What have computers accomplished so far.
	Computer science. 

Computer languages and programming
	General principles
	Specific languages

Hardware
	Personal Computers.  Laptops.  PDA's.

Software
	Operating systems.  Linux.

Networking
	LAN.  	
		NIC.  Mac address.  Ethernet.  Hubs.
	WAN.  
		TCPIP.  Routers.  Switches
		Telcommunications.  Wireless.
	Internet
		HTTP.  HTML.  XML.  CMS.
		Web servers.  
		Email.  
		Newsgroups.

Databases

Multimedia
	Music.  Images.  Video.

Office software
	Text editors.  Word processors.  Desktop publishing.

Troubleshooting.  Support.  Administration.

Computer security.

History of computers and the Internet.


wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

PHILOSOPHY OF COMPUTERS

wwwwwwwwww

What is a computer?

Mechanical computers.  
	Babbage.  
	Adding machines.  Calculators.
	Punch card machines.

Digital electronic computers.

Quantum computers. 

Biological computers.  DNA computers.

The human mind
Is the human mind a computer?

The earth
Is the earth a computer?

The universe
Is the universe a computer?

wwwwwwwwww

Computability

Alan Turing
Turing machine.

John Searle.
Chinese room argument.


wwwwwwwwww

Artificial Life

At what point is it alive?

Reproduce-ability.
Growth.
Feeding.  

Reproduction.
Mutation.
Selection.
Evolution.

Cooperation and competition.


wwwwwwwwww

Artificial Intelligence

At what point is it intelligent?

Top down AI
	Ex.

Bottom up AI
	Ex. Cyc


Simon
Newell
Marvin Minsky
Herbert Dreyfus

Connectionism
Neural nets.  
	Weighting.

Expert systems.  
	Chess.  
	Medical diagnosis.

Machine sense perception.  
	Sight.  
	Sound.  
	Pattern recognition.

Machine thinking.

Machine emotion.

Robots.  Machines that act like humans.

Cyborgs.  Part human, part machine.

Human - machine interfaces.  Humans interacting more easily with machines.


wwwwwwwwww

Other topics

Virtual reality


wwwwwwwwww

Tech theorists

Frank Tipler

Bill Joy.  Warning.

Ray Kurzweil.  Singularity.

Hans Moravec.

Ester Dyson

Freeman Dyson.  Sun, Genome, Internet.


wwwwwwwwww

What have computers accomplished?  More exactly, What have people accomplished using computers?

Philosophy

Psychology
	Computer therapy?

Sociology
	Internet changing nature of society.
	Computer translation, view web pages in other languages.

Politics and Law
	Computerized online voting.
	Law research computerized.

Science
	Astronomy
		Computerized arrays of telescopes.
		"Go To" amateur telescopes.
	Physics
	Chemistry
	Biology
		Human Genome Project computerized.
	Ecology

Technology
	Power
		Computer guided wind and solar power.
	Tools
		Computer aided manufacturing (CAM).
	Transportation.
		Airline reservation system.
		Automatic pilot.
		Computerized automobile systems.
		Car GPS systems.
	Communication.
		Quicker, cheaper communication.
	Information technology.
		Gather, store and process huge amounts of data.
	Food, clothing and shelter.
		Computer aided design (CAD) of buildings.  
	Health
		MRI scan.  CAT scan.


Economics and Business
	Online business.  Online shopping.
	People trading their own stocks without using a broker.

History and Future Studies
	Geneological data.

Math
	Mathematica

Arts
	Literature
		Computers writing poetry.
		Digital books online.
	Music
		igarage.  Make your own music.
	Visual arts
	Movies
		Movie phone.
		Film special effects.
		Computer animated films.

Other
	Computer beat the world chess champion.
	The Internet.


wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

COMPUTER SCIENCE

wwwwwwwwww

Vacum tubes.

Transistors.  Semi-conductors.  Silicon.

Computer chips.

Logic gates.  

Bit.  

Byte.  


wwwwwwwwww

Parallel computers
RISC
CISC


wwwwwwwwww

Algorithms
	Searching
	Sorting
	Recursion
	Lists
	Trees
	File structures


wwwwwwwwww

Digital.  On or off.  (aka discrete).  As oppossed to what?

Binary.  Two values.


wwwwwwwwww

Stochastic.
Deterministic.


wwwwwwwwww

Algorithms.  Iterations.
Recursion.  Nesting.

Turing machines.
Computable functions.



wwwwwwwwww

Types of computing

1) Standalone computing.  
	A single machine.  No network.

2) Workgroup comuting.  
	Small group of PC's connected in network.

3) Client server computing.  
	Local area network.  Within a few hundred feet.
	Server computers.  A few of them.  Hold data and applications.
	Client computers.  Many of them.  Users on them.

Server types
	File servers
	Print servers
	Email servers
	Application servers
	Database servers
	Web server
	TCP/IP, DNS, DHCP, WINS servers

4) Internet computing.  
	Wide area network.  Around the globe.






wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

PROGRAMMING LANGUAGES

wwwwwwwwww

Computer programming language.
What is a computer programming language?
A computer programming language is a language used to program computers (?).

wwwwwwwwww

Types of computer programming languages

wwwwwwwwww

Specific programming languages
	Why they were developed.
	What they are good at doing.
	What they are not so good at doing.


Low level languages: Machine code.  Assembly.

High level languages:  C.  C++.  Java.  Visual Basic.

Scripting languages: Perl.  Php.  Python.


Compiled languages: 
Compiler turns source code into binary code that runs on machine code.  
Ex.  C, C++, Fortran

Interpreted languages: 
interpreter translates source code on the fly.  Slower but easier. 
Exs.  Awk, shell, Basics, Lisp, Perl

Pseudo-code.  
Fast and flexible.  
Ex.s  Java and Python


Assembly.

Machine code


Languages by subject matter
	Business languages.  Work well with numbers.
		Cobol.  Fortran.  
	Artificial intelligence languages.
		Lisp.

Languages by hardware platform.
	Mainframe languages.
	PC languages.

Scripting languages
	Perl
	Python
	PHP

Other languages.
	Pascal.
	TCL TK
	Basic
	Visual Basic

Markup languages.  
	HTML.  
	XML.  
	DocBook.  

Shell scripting.
Batch scripts.



Cobol
Good for business accounting applications.

Fortran

Lisp
Used in artificial intelligence programming.


Basic.
Used on PC's running microsoft.

Visual Basic. 
A GUI version of Basic.


C
C++. 
Developed by Bjarne Stroustroup


Java
Developed by James Gosling.
Platform independent.


wwwwwwwwww

Computer programming language concepts:  



Designing the program
	Flow charts.  
	Entity Relationship Diagrams.  
	Universal Modeling Language.

Writing the program
	Edit mode.

Running the program
	Run mode.

Debugging the program



Version control.

Documentation.
Comments in the code


Data types
	Numerical data
	Text data.  Strings.
	Image data.  Pixels.
	Tabular data.  Arrays.  Matrices.  Databases.


Widgets.
	Windows
	Scroll bars and sliders.
	Labels
	Events: Mouse clicks.  Mouse movements.  Keyboard events.
	Buttons.  Triggered by events like mouse clicks.
	Check boxes.
	Radio buttons.  On or off.
	Drop down menu.  Choose from several choices.
	Form field boxes.  Input data.

Creating the graphical user interface (GUI).
Separating the GUI from the code.  Preventing the user from changing the code.

Exceptions
Errors

Garbage collection

Input and Output.  Keyboards.  Monitors.  Printers.

Network.
Sockets.

Internet applications.

Database application.


Logic: Constants and variables

Operators and functions: 
	AND, 
	OR, 
	AND/OR, 
	NOT, 
	IF THEN, 
	FOR NEXT

Expressions: an operation on a value 

Data structures.  
	Lists.  
	Arrays.

Modules.  Have an input and an output.

Objects and their properties

Debugging tools.  Runtime debugging.

Images.  Lines.  Shapes.  Colors.

Operator.  
Operation.

Variable.  
	Declaring a variable.
	Assigning a variable.
Constants.
Literals
Reserved words.

Argument.  
Parameter.

Memory management

Control flow
Arrays
Loops
Conditonals

Syntax and semantics
Data types
Data structures
Operations
Modularity

Structured programming
Object oriented programming (oop)

Garbage collection
Input and output (I/O)

A computer program is composed of code and data

Three OOP principles
	Encapuslation.  Data and code combined.
	Inheritance.  Class hierarchies.
	Polymorphism.  One interface, multiple methods.

Threads
Multithreading.
Parallel processing.

Streams
	Input streams
	Output streams

Library
Packages - a library of classes
Classes - 
Objects - 
Instances - a specific object
Methods.


Events
Expressions

Data types
	Constants
	Variables
	Literals

Arrays - one dimensional, two dimensional, etc.
Strings
Strings of arrays
Arrays of strings

Collections
	Lists
	Trees

Operators
	Unary operators
	Arithmetic operators
	Bitwise operators
	Relational operators
	Boolean or Logical operators

"Syntax" of a programming language
"Vocabulary" of a programming language

Statements
Flow control statements
	Loops
	Selection statements
	Iteration statements
	Jump statements


Methods or functions

garbage collection is used to recover memory.

Applications
Applets
Servlets

Exceptions

Input and Output (I/O)

Integrated programming development environment.
	A gui to make programming easier.
	Includes a "Run" mode.
	Includes a debugger.


Building GUI's for software programs.
	Keeping the end user away from the code.

Menus
Tool bars and the buttons on them
edit boxes
dialog boxes

Librarys containing Classes

Graphics

Animation

Sound


Operators: numeric and string

Expressions

Arrays

References: scalar, array, hash, code

Subroutines, modules

sort, 
search, 

recursion
algorithm

Declare a variable

Loops
	If then.
	For next.
	Do while.







wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

HARDWARE

wwwwwwwwww

Hardware types

Mainframes
	Hardware: IBM, DEC.
	Operating Systems:  MVS.  TCO.  SNA.  JCL.  

Minis
	Hardware: IBM AS/400.
	Operating system: Unix

Workstations 
	Hardware: Sun.  Alpha.  Dec.
	Operating System: Unix

PC's
	Servers
	Desktops
	Laptops


PDA's

Wearables


wwwwwwwwwwwwwwwwwwww

Hardware Parts of a Personal Computer

wwwwwwwwww

Inside the PC

Motherboard - holds the chips and cards

Integrated motherboards - video and sound built in

Chips
	processor chips

	memory chips

Cards
	video card

	sound card

	network interface card

	modem card

Drives

	hard drive

	floppy drive

	cdrom / dvd drive

	tape drive

Ports
	Serial port

	Parallel port

	USB port

	Firewire port

	Infra-red port


Cooling fan

Power supply


wwwwwwwwww

Outside the PC

Keyboard

Mouse

Display

Speakers

UPS


Perpipherals

Scanners.

Printers: Ink jet.  Laser.  

Camera

Microphone.


wwwwwwwwwwwwwwwwwwww

Other hardware information

Chips

	PC.  Intel chip.
	Apple.  PowerPC chip.  Alpha chip.


Intel: 
	286
	386
	486
	Pentium
	Pentium Pro.  
	Pentium II
	Pentium III
	Pentium IV

16 bit = Windows
32 bit = Windows 95 and Windows NT
64 bit.

Intel
Cyrix
AMD


wwwwwwwwww

Boards
ISA: 16 bit industry standard architecture
EISA: extended ISA
PCI:  32 bit
VESA: local bus
MCA: micro channel architecture


wwwwwwwwww

Memory
RAM, SDRAM (better), EDO,
DIM, SIMM


wwwwwwwwww

Hard drive disk Controllers
ESDI
IDE (ATA)
SCSI


wwwwwwwwww

BIOS

wwwwwwwwww

Power On Cycles
Operating System Startup
Network Connectivity
Hard drives, Monitors, Cd-roms, Floppy drives, Keyboards, Mice, 


wwwwwwwwww

Printers
	Protocols
		TCP/IP
		DLC for HP boxes
	Font languages
		PCL (Printer Control language) for IBM
		PS (Postscript) for Apples
	Toner
	Maintenence Kits


wwwwwwwwww

Server peripherals: 

DAT or DLT tape backup.  

UPS.

Clustering for load sharing and fault tolerance.

Hot plugable hard drive arrays (RAID).  SCSI array controller.

Multiple Processors

SCSI adapters.


wwwwwwwwww

Thin clients

	NC (network computer): closed box, diskless, Java

	Net PC: closed box, small disk, Windows or NT


wwwwwwwwww

BIOS

Memory: 
	base, 
	upper, 
	extended, 
	expanded.  
	SIMMS, DIM.


wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

SOFTWARE

wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

OPERATING SYSTEMS

wwwwwwwwww

General Tasks of an Operating System

Install the operating system

Configure the operating system: 
	Video drivers.  
	Mouse and keyboard.  
	Modem.  

Startup and Shutdown

Logon and Logoff

Change your password

Help and Documentation

Command line vs. 
Graphical User Interface

Disk Management
Partition a disk
Format a disk

Directory  and File structure, navigation and manipulation
Change directory: Move to higher level directory and lower level directory

Directories
Create a directory
Move a directory
Copy a directory
Rename a directory
Delete a directory

Files
Create a file
Properties of a file
Move a file
Copy a file
Rename a file
Delete a file
Recover a deleted file

Compare two files

Compress and archive a file

Backup and restore

Defragment

Format a floppy

Search for and Find a file
	Using wildcards
	Using regular expressions

Manage com ports

Manage device drivers

Executables
Create an executable file
Edit executable files
Run an executable file
Debug an executable file line by line

Processes
Start a process
List running processes
Kill a process

Scripts
Batches

Printing
Start a job.
Pause a job.
Kill a job.
View a job.

Users and groups
Create a user or group and give them powers

Security, Permissions, Policies, Profiles.
Assign permissions to resources like files and printers

Machine information

Scheduling

System Diagnostics

Security:  Passwords.  Permissions.  Auditing.  Monitoring.

Networking
	Mail


Hard Disk Administration.
	Partitions
		Primary
		Extended
		Logical
	Formatting
		LINUX
		FAT
		FAT 32 (long file names)
		NTFS
	File permissions
	Directory shares


wwwwwwwwwwwwwwwwwwww

Actual Operating Systems

wwwwwwwwww

Unix 

History of: Unix
Ritchie
Thompson
C programming language.

Flavors of Unix: Xenix, AIX, HP-UX, SCO, Solaris, Unixware(NW)

 
wwwwwwwwww

Apple

History of Apple: 
Apple was founded by Steve Jobs and Steve Wozniack.

OSX 10


wwwwwwwwww

Microsoft

	Microsoft DOS
	Windows 3.1
	Windows 95
	Windows 98
	Microsoft NT
	Windows 2000
	Windows XP - unifies code from Windows and NT lines.


wwwwwwwwww

Other Operating Systems

	OS/2 - created by IBM to run personal computers
	MVS and VM/CMS - mainframe operating systems
	Free BSD - a free version of unix.
	Next - Steve Job's company before returning to Apple


wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

LINUX

wwwwwwwwww

What is Linux?

Linux is an free version of Unix.  
Its free, which makes it popular in the third world.  
It was the result of distributed development, with many people working on it for free.

wwwwwwwwww

Why use Linux?

Its fun.
Its easier than ever.
Its a learning experience.
Its free.
Its cooperative.  Its an alternative to capitalism and competition.  
Its not Microsoft.


wwwwwwwwww

History of Linux and GNU

Richard Stallman.  GNU.  Free Software.  GPL.

Linus Torvalds

Open Software.  Bruce Perens.  John "Mad Dog" Hall.  Eric "Cathedral and Bazzar".


wwwwwwwwww

The state of Linux today.
The use of Linux is growing in all areas of computing.
Linux is spreading in business settings.
Linux is spreading on personal computers.
Very large: Linux in clusters.
Very small: Linux on PDA's


wwwwwwwwww

What can one do with Linux?

Office.  Open office.

Games.  Chess.  MUDD.

Images.  
	Scanner.  SANE.
	Camera.  Gphoto.
	GIMP.

CD and DVD burning and playing.

Music.  Sound recording and editing.

Movies.  Movie recording and editing.

Programming.  Emacs.  GDB.

Content Management Systesm.

Utilities.

Mulltimedia
	sound
		mp3 player
	video
		dvd player

DOS
	DOSEmu
	Wabi
	Wine

Fax.

Music.  
	Mp3s.  
	Rip and burn cdroms


wwwwwwwwww

Networking with LInux

Samba

NFS

VNC

File Servers
	Mounting remote file systems
	Sharing or exporting directories

Database 
	Database Server
		MySQL
		Postgres
	Database front ends
		

Router

Web 
	Web Servers
		Appache
	Web browsers
		Mozilla
		Konqueror
	Web editors
		Mozilla editor
		Open Office

Mail 
	Mail Server
		Sendmail.   Configure with M4.
	Mail clients


wwwwwwwwww

Office Suites
	Open Office

Word Processors
	Abiword

Spreadsheets
	Gnumeric


wwwwwwwwww

Migrating to Linux

Running it on a sparce PC.
Running linux in a dual-boot situation.
Running linux from a cdrom.  Knoppix.

Backup your data.

Pick a distrobution.  For example,  
	Suse 
	Mandrake, 
	Redhat
	Debian 
	Knoppix, 
	Xandros, 
	Lindows.

Installation

Exploration

Components of Linux
	Xwindows
	File system
	Shell
	Editors
	Command line utilities
	Installation
	Directory structure
	Configuration files
	Printing
	Run-level batch scripts
	Scheduling jobs
	Backup and restore
	Archiving and Zipping
	Security
	Users, groups and permssions
	Files and other resource permissions

Networking with Linux
	Router
	Firewall
	Proxy 
	DNS
	DHCP
	NFS
	Samba
	SSH
	VNC

Applications
	Server Applications
		Database
		Web server
		Email server
	Office Applications
		Word processor
		Spreadsheet
	Multimedia Applications
		Music.  MP3.  
		Pictures.  Drawing.  Photos.
		Video.  DVD Players.
	Peripherals
		Printing
		Scanning
		Cameras



wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

NETWORKING

wwwwwwwwww

Concepts in computer networking

wwwwwwwwww

Network Operating Systems

What does a NOS do that an OS does not?  
	Connect machines.
	Access the Internet

Examples of early Network Operating Systems
	Unix
	Novell Netware
 
wwwwwwwwww

Network Interface Card  (NIC).
Each computer on the network has a network interface card.

MAC address.
Each network interface card has a hard-coded address.

IP address.
Each computer on the network has an ip address temporarily assigned to it.

Ethernet.  
Ethernet is a networking protocal for local area networking.

TCP/IP.  
TCP/IP is a networking protocol for wide area networking.

Network segments
Computer networks are divided into sub-networks called segments.

Subnet masks

DNS names.

Remote Access via modem, cable, DSL, etc.

Wireless networking

OSI Model
A seven layer model that describes computer networking.

PCMCIA

DNS
Domain Name System.

DHCP

LDAP
Lightweight Directory Access Protocol.

Ipv4 - the current version of IP protocol. 
Ipv6 - will allow for more ip addresses, because they are starting to run out.


wwwwwwwwww

Types of lines
	POTS.  Plain old telephone service.  64 MBps
	ISDN.  128 MBps
	T3.  
	T1.  (24 T3's)
	Cable
	DSL
	ATM lines
	Cellphone wireless.
	Satellite dish wireless.

Types of lines
	Leased vs. dedicated.
	Data lines vs. voice lines
	Digital lines vs. analog lines


wwwwwwwwww

WAN hardware
	switches
	routers
	bridges
	hubs


wwwwwwwwww

Modems
	56.6
	Cable modem.
	Wireless modem.


wwwwwwwwww

Cabling and Wiring

	Types of cabling
		Coaxial
		Twisted Pairs
			Category 3.
			Category 5	
		Fiber Optics 
		Wireless

	Structured cabling vs. tangled mess

	Cable testing equipment:

	Cable topologies: Line.  Circle.  Star.  Web.


wwwwwwwwww

Architecture
	Ethernet.  10 Mbps.  100 Mbps.  1GB.
	Token Ring.  4 Mbps.  16 Mbps.
	FDDI
	ISDN
	ATM: Asynchronous Transfer Mode
	Other:  ARCnet.  X25.  Frame Relay.  


wwwwwwwwww

Network Protocols
	Net Beui.  Net Bios.
	TCP/IP
	IPX/SPX (Novell Netware)


wwwwwwwwww

Peer to peer

Client / Server

Master / Slave


wwwwwwwwww

Security

Anti-virus software
Firewalls
	Hardware firewalls.
	Software firewalls.
Encryption software
Proxy Servers
Anti-spam software.
Anti-spyware software.


wwwwwwwwww

TCP/IP UTILITIES 

ping: tells if can connect to an computer name or number
ipconfig: tell the ip name and number of own computer
nbstat
netstat
route: gives router route taken by packet
telnet
ftp
tracert
arp: address resolution protocol


wwwwwwwwww

NETWORKING PROTOCOLS 
IP
TCP
SNMP: Small Network Management Protocol
SMTP: Simple Mail Transfer Protocol 
DNS: Domain Naming Service
NFS: Network File System
NIS: Network Information Services.
ARP: Address Resolution Protocol.  IP address to machine address
RARP: Reverse ARP.  Machine addressto IP address.
UDP: User datagram protocol


wwwwwwwwww

TCP/IP APPLICATIONS
FTP: File Transfer Protocol.
Telnet
Usenet
Gopher, Archie
Finger


wwwwwwwwww

Linux networking 
ftp - file transfer
telnet - remote
ssh - secure shell
vnc - virtual network computer
NAT - network address translation
IP masquerade
ipchains - firewall 
smoothwall - firewall software
samba - connect linux and windows machines
nfs - network file system
snort - network monitor
tripwire - intrusion detection.


wwwwwwwwww

VPN, Virtual Private Network: Encrypt packets, and use a public network.


wwwwwwwwww

Routing protocols
RIP
OSPF
SLIP
PPP



wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

INTERNET

History of the Internet.
Tim Berners Lee develops URL, HTTP and HTML
A browser supporting images.  Developed into Netscape.
1995-2000 was an Internet boom.

URL

HTTP

HTML

Web Pages
Static web pages
Active web pages
CGI

Chat - IRC, AIM, 

Static webpages
Dynamic webpages

P2P
	Napster: central server
	Gnutella: no central server
	KaZaa, Morpheus, OpenP2P
	Freenet


wwwwwwwwwwwwwwwwwwww

Web Servers

Principles of Web Servers (HTTP)

Post the web pages for others to see.
Internet: What we all use.
	WWW.  World Wide Web.  GUI interface.

Intranet: give what information to what employees
Extranet: give what information to customers.  Let them see products, pictures and data.  Provide data about company.  Let them buy products

Retail net: for retail customers
B to B net: give what information to suppliers and distributors.

Web site parts: Welcome page or Home page.  Site map page.  Site search engine.  Send us email page.
Browsers: MS Explorer, Netscape Navigator
Security: Firewall, permissions


wwwwwwwwww

Actual Web Servers
	Apache (runs on Linux)
	MS IIS.  MS Site Server.  MS Index Server.
	Netscape

	Firewalls
		Defender

	Proxy Servers
		MS Proxy Server

	Transaction Servers

	Database to Web connectivity


wwwwwwwwww

Web Browsers
	Firefox
	Mozilla
	Konqueror
	Opera
	Netscape
	MS IE


wwwwwwwwww

Perl - CGI
LAMP - Linux, Apache, MySQL, PHP
		

wwwwwwwwww

Web Authoring

Principles of Web Authoring (HTML)
	Text
	Graphics
	Animation
	Sound
	Interactive Forms
	
Actual Web Authoring Software
	Open Office lets you compose HTML documents.


wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

HTML CONCEPTS

Get a web site provider

Create a web site
	Create web pages
		Create a home page
		Create other pages
	Link web pages
	Create a site map

Upload to the web host

Basic html
Format text
	Font type.
	Font size
Create links
Make tables
Frames
Forms
	To get information from users for database
	To give information to users from database
Images
Animation
Multimedia.  
	Audio and video
	Flash.  Shockwave.
Cascading Style Sheets (CSS)
CGI
Java
Javascript
Active X


Text box
Radio button
Drop down list
	

wwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

Content Management Systems

Who needs to manage content?

Newspapers
	Digitize all the tasks that go on at a newspaper.
	Add all the functions that are on any major website.
Businesses
Libraries
Individuals
	Individual also need content management systems
	For example, organizing school notes, work notes



Managing paper content vs. digital content.
Knowledge in heads vs. in paper or digital form.

History of systems for managing content


Examples of Popular Content Management Systems
PHP Nuke
Scoop
Slash



CMS File types and formats
Text
	Raw text - .txt  .rtf 
	Mark-up text formats - html, xhtml, xml
Image formats.  .bmp  .jpg
Sound formats   .wav   .mp3
Multimedia formats
Databases


Seperating content from form
Content
	Information
Form or Appearance
	Page Templates



Elements of a CMS

Authors
	Each author has multiple versions of the article they write.
	Each author has to organize their sources cited
	Each author has to organize their other source materials.
	Multiple authors can work on an aritcle
	Individual workspaces
	Collaboration workspaces

Editors
	Edit authors work
		Edit spelling, grammar, etc.
	Managerial decisions
		Develop article ideas and assign them to authors
		Decide which articles to publish

Texts, documents, images, sounds, etc. 
	Content produced

Readers
	Multiple language versions for readers of different languages
	Audience feedback



Publishing process

Pre-publication
	Saving pre-publication versions of content 

Publication
	Saving an archive of published content



Related fields

Library and Information Science
	Classification systems - Dewey, Library of Congress
	Library catalogs - card catalogs, electronic catalogs
	Abstracts

Style manuals for articles - MLA format, APA format, Chicago manual, etc.
	Indexes
	Bibliographies

Publishing - books, magazines, newspapers.

Communications - broadcasting

Information Technology
	Web Design
	Database Management
	Software Development
	File system structures - tree structures, David Gelerntner's view. 

Knowledge Management
	Job descriptions and job requirements


wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

Semantic Web

Semantic Web lets machines understand words, concepts, meanings.
Semantic Web lets people understand the Internet better too.

Semantic Web makes information on the Internet
more structured, more organized
more logical
more meaningful
easier to understand
thus more useful, more productive

Learn more about the Semantic Web at www.w3.org/sw 

Is the Semantic Web just a matter of converting everything to XML?


wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

XHTML

XHTML is like HTML except a little more rigorous and formalized.


Programs that convert HTML to XHTML
Tidy


wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

XML


What is XML?

SGML - Standard Generalized Markup Language.  
XML, XHTML, and HTML are types of markup languages.

XML is a markup language.  A markup language tags the text.  Another example of a markup language is HTML.

In XML everything gets a tag.  A tag takes the form <tag> to open, and </tag> to close.


Why XML?

XML will help create the Semantic Web (see Semantic Web)
XML will help machines (computers) do more work so humans don't have to.
XML will help businesses offer more services to consumers.  (whoop dee doo!)


How does XML work?


Parts of XML.  Terms used in XML.

XML uses two files:
XML document - the marked up or tagged text
Document Type Definition (DTD) - defines the rules of the document

Validator - checks to make sure your XML coding uses correct syntax

Parser - decodes and displays the XML.  Often built into newer web browsers.

Schemas

DOM

Web Services

Syntax vs. semantics
Word vs concept
Thesaurus vs. ontology.

Metadata



Words, Meaning, and Machines.

In everyday language words can have more than one meaning.  Its useful.

The search for a language where every word has only one meaning has not proved successful or useful.

However, we can create specific subject domains.  Every domain can have a specific vocabulary where each word has one meaning.  Then words can be used more exactly, even by machines.



Valid and Well formed

Valid - conforms to DTD
Well formed - all the tags created properly

All valid documents are well formed.
Not all well formed documents are valid



XML and databases

XML is like a database in text format, with every field marked with a tag.

By using XML, data can be transfered across the Internet between databases more easily.

When you give each field a tag, you are creating "metadata" or data about the data.

Example:
<person> John Doe
<address> Any Street, Any Town
<telephone> 555-5555




Examples of XML in use today
DocBook - a standard for documentation
WML - Wireless Markup Language
SOAP - Simple Object Access Protocol
Math - used to display math symbols
Chemistry - used to chemistry symbols
Music - used to display music symbols


wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

E-MAIL

wwwwwwwwww

LAN email
WAN email.
Internet email.  
	Ex. Yahoo email.


POP3 protocol
SMTP protocol

Email server

Email client


Actual email software
	Linux: Sendmail
	Microsoft: Exchange
	Lotus Notes and Domino (Web Notes)



email
	mail servers 
		sendmail, exim, postfix, procmail, fetchmail

	mail clients
		text 
			pine, elm
		gui
			

wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

DATABASES

wwwwwwwwww

Database.
What is a database?

Why use a database?

Principles of databases
Databases help humans work with large amounts of data.
Databases help humans structure data.
Databases help humans enter or store data in an organized way.
Databases help present data in an organized way.


wwwwwwwwww

Types of databases

Standalone databases.

Client server databases.  
	Server hold the data.  
	Client updates the data.
	Server is "back end".  Client is "front end".

Internet databases.  Access from any web browser.



Types of databases

Flat text files

Relational databases.  
	Two dimensional.  Rows and columsn.  Records and fields.
	Multidimensional.  Multiple tables.  Joins.

Object oriented databases.



Physical database

Logical database


wwwwwwwwww.  

Normalization

Normalization: Optimum structure through minimum redundancy.

Poor normalization: slower performance, higher mainenance costs.

Get rid of one-one and many-many relats, blank fields, duplicates


First Normal (1NF).  Redundancy.  Eliminate repeating fields. 

Second Normal (2NF).  Remove fields that don't describe primary field.

Third Normal (3NF).  Eliminate fields you can get from primary key.

	Boyce Codd.  A more rigorous 3NF.

Forth Normal (4NF)

Fifth Normal (5NF)?


wwwwwwwwww

Primary Key

Key 
A key is a field common to two tables.  Used to join tables.


wwwwwwwwww

Relationships
	one to one: eh
	one to many: good
	many to many: bad


wwwwwwwwww

Steps in database use.

Create the database.
	Create admin account.

Create tables
	Number of columns.  Column width.
	Number of records
	Data types: Text.  Number.  Date.  Time.

Create indexes
	Re-sorting by any field other than primary key

Create forms
	Enter data through forms

Create queries
	To get dat from database

Create reports
	Run reports

Formulas and functions
	To manipulate the data

Insert data into tables.

Start and stop the database.

Backup the database.

Query languages

Database and web integration
	dynamic sites using CGI BIN
	dynamic sites using Php or Perl or Python.


wwwwwwwwww

Actual database software
	Personal
		MySQL
		Adabas
		FileMaker
		MS Access
	Enterprise
		Postgres
		Oracle
		Informix
		Sybase
		Peoplesoft
		SAP
		MS SQL


wwwwwwwwww

Tables

Fields (columns)

Records (Rows)


wwwwwwwwww

Views

Indexes: sorting by any other field beside primary key

Hashing functions

Queries


wwwwwwwwww

Joins

Inner join.  

Outer join.  

Self-join.  

Union join.


wwwwwwwwww

Locking.  
For multiple users.  Only one user changes dbase at a time. 


wwwwwwwwww

Database size
	Number of tables in database
	Number of fields in tables
	Number of records in table
		100 records
		1000 records
		1 million records
		1 billion records.
	Size of database measured in bytes.


wwwwwwwwww

Database administration
	Database security - admin access, user access
	Database backup and restoration


wwwwwwwwww

Database programming
SQL
PL SQL


wwwwwwwwww

Entities

Objects

Attributes

Values

Relationships

Operators

Expressions


wwwwwwwwww

Types of data

Numeric Data
Date data.  Date formats.
Text data.  ANSI text formats.  Text file formats.  Searching text.
Image data
Sound data
String data.  Concatenation.


wwwwwwwwww

Data structures.

Flat files
Sets
Lists
Arrays
Graphs
Trees


wwwwwwwwww

Union
Intersection
Set Difference


wwwwwwwwww

Null (empty set) vs. 
zero (a number)


wwwwwwwwww

Data Dictionary

Data dictionary or system catalog is a report of all the entities in the database system.


wwwwwwwwww

ACID: 

Atomicity.  

Consistency.  

Isolation.  

Durability.


wwwwwwwwww

Create and delete a database

CREATE databasename


wwwwwwwwww

Start and stop a database

START databasename

STOP databasename


wwwwwwwwww

Add users, roles and privledges.


wwwwwwwwwww

Set permissions of tables, indexes and views.


wwwwwwwwwww

Create, modify and delete tables.

CREATE TABLE


wwwwwwwwww

Query database with query commands

SELECT clasue specifies which field to select from
FROM clause specifies which table to select from
WHERE clause specifies which records to select from

ORDER BY     alphabetical order, numerical order, ascending or descending
GROUP BY     summarizes records of same field name
HAVING
INTO     out file or dump file


wwwwwwwwww

Add, modify and delete the data in the database tables.

INSERT
UPDATE
DELETE


wwwwwwwwww

Operators

Arithmatic operators
Logical operators
Set operators
Character operators
Comparison operators


wwwwwwwwww

Functions

Aggregate functions     count, sum, avg, max, min
Date and time functions
Arithmatic functions     trig, logs, powers, roots
Character functions     concat, initcap, upper, lower
Conversion functions


wwwwwwwwww

join     combines tables.  shows both tables.

union     shows intersection of tables.


joins     Inner joins.  Outer joins.


wwwwwwwwww

Views     Views are virtual tables 

Indexes are tables sorted by various fields in order to improve speed of data access.


wwwwwwwwww

Stored procedures

Triggers

<circular definition> Stored procedures are stored procedures that are started by triggers. Triggers are triggers that start stored procedures </circular definition>


wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

MULTIMEDIA

wwwwwwwwww

SOUND

Sound file formats: .wav, .mp3

MP3 players - software and hardware


wwwwwwwwww

MIDI

Musical composition on the computer

Free sound and music libraries


wwwwwwwwww

IMAGES

Image file formats - .bmp, .wav

Image software - GIMP, Photoshop

Free image libraries


Imaging
	still images
	video
 
GIF: 8 bit graphics
JPEG: 24 bit graphics
MPEG: video
PDF: Adobe Acrobat 


wwwwwwwwww

SCANNERS

Scanning hardware
Scanning software


wwwwwwwwww

CAMERAS

Digital still cameras
Digital video cameras
Still photo editing
Video editing
Photo library software


wwwwwwwwww

CD AND DVD BURNING

Burning software - Nero etc.
Audio Cd's
Data Cd's - fixed and rewriteable
iso images and bootable cdroms


more

Images.  Multimedia.  Video.  Digital Film.

Image editing.
Photoshop.

3-D images.
Open GL.

Architecture.  Engineering drawing.
AutoCAD.

Multimedia
Flash.
Dreamweaver.
Maya.

Movies.
Direct X.
Final Cut.





wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

TEXT EDITORS, WORD PROCESSING, DESKTOP PUBLISHING

Text editors.
Text editors are command line.
Text editors let you type in text.

Word processors.
Word processors have a GUI.
Word processors are WSYWIG.
Word processors let you format text


Desktop publishing.
Desktop publishing lets you do page composition.


Cut and paste.
Find and replace.
Font formatting.
Paragraph formatting.
Page layout features.
Page numbering.
Headers and footers.


wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

Spreadsheets

Spreadsheets are good at dealing with numbers.

Cells.

Mathmatical operations on cells.
Addition, subtraction, multiplication, division.
Horizontally and vertically.

Units of money.
Units of time.




wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

TROUBLESHOOTING.  TECH SUPPORT.  ADMINISTRATION.

wwwwwwwwww

Troubleshooting PC's.  
Desktop Support.  
Help Desk: 

wwwwwwwwww

Determine criticality and priority.  
	How soon does the user need the machine.

Get the user a spare pc as soon as possible

Keep spare parts on hand

Know what is under warranty.
	Have good repair shops lined up.

Backup data

Use virus software

Don't let the user add their own programs


wwwwwwwwww

Testing.

Is it a hardware problem?
Replace hardware.

Is it a software problem?
Reinstall software.

Is it a client problem.
Is it a server problem.
Is it a local area network problem?
Is it a wide area network problem?
Is it an Internet problem?
Is it a user problem?


wwwwwwwwwwwwwwwwwwww

Principles of LAN Administration

Basic Tasks
	Forecast growth
	Plan and design systems
	Test systems.
	Implement, rollout.
	Monitor and Control
	Troubleshooting

Basic issues
	Security
	Backups
	Viruses
	Email
	Spare parts

Budgets
Schedules

	
wwwwwwwwww

Fault tolerance.  Have an automatic fall-back system
	Spare systems and spare parts
	Backup the data to removeable media
	RAIDs
	Software media on hand for rebuilds and reinstallations


wwwwwwwwww

Train the customers in how to use their systems.

Keep the customer happy


wwwwwwwwww

Security
	From outside
		Virus software
		Protection from hackers: Firewalls and Proxy servers
	From inside
		Limiting users permissions


wwwwwwwwww

Purchasing
	Warranties


wwwwwwwwww

Documentation
	of network
	of pc's
	of hardware
	of software
	of problems


wwwwwwwwww

Build client machines (hardware and software)


wwwwwwwwww

Administrate 
	users and groups
	resources
		files
		printers
		internet connections


wwwwwwwwwwwwwwwwwwww

Principles of WAN Administration
	Make sure the lines are up.
	If the lines go down, start troubleshooting


wwwwwwwwwwwwwwwwwwww

LAN/WAN ADMINISTRATION

Client Server architecture:
Web architecture: Working via the web.  
	Intranet 
	Internet.  
	Virtual Private Network (VPN)
	Application Service Providers (ASP's).


Setting up a network
Make sure you have enough power capacity.  And backup power supplies.
Make sure you have enough communication line capacity.  Buy lines.
Choose media - Ethernet recommended
Choose star or bus topology - star recommended
Choose either Peer-to-peer or Client/server architecture
Attach NICS and cables
Configure drivers for NICS
Configure TCP/IP
Each computer gets a host name and IP address (use ntcfg).
Large networks use DHCP and DNS.  Small networks use static ip addresses in etc/hosts.


What's going on?
list users on systems
list processes (applications) running
list disk usage
list network stats
list machines on network.  What are they doing?
list CPU usage
list memory usage
Is everything running that should be?
Is nothing running that shouldn't be?
Is everything working?  Nothing broken?
Security check.
Backups working?
Documentation up to date on all hardware and software?
Users happy?  Users informed?
LAN admin


Network Management Software
	Principles
		Be able to see all.  Monitoring.
			Hardware: Hubs, Routers.  Swithces.  Servers, Clients
			Traffic: 
			Software
		Be able to log all.
		Be able to control all.  
		Security: Keep out intruders.
		Protocols: SNMP


	Monitoring the Server, Clients and Network traffic.
	Auditing events:  Logons and Logoffs.  Access to resources.
	Troubleshooting the network

Speed: minimize bottlenecks

For routers - add two NICS
CIDR - classless inter-domain routing.
Private class C ip addresses from 192.168.0.0 to 192.168.225.225.  Also 10.0.0.X.
Class C netmask 225.225.225.0

Test NIC with dmesg / grep eth
Test network using ping
Test pc using ifconfig

Check NIC
Check PPP
Check daemon services

Test connection with ping
test connection with traceroute.
Test sockets with netstat.
Test DNS with nslookup, host and dig


wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

Computer security.

wwwwwwwwww

Physical security:  

Lock up the box.  
	Rack.
	Room.

wwwwwwwwww

System security: 

Passwords
	Change passwords frequently.  
	Require long passwords.  
	Require password changes.  
	Enable bad password lockouts.

File permissions.
Users and groups.

Virus software

Backups

Encryption


wwwwwwwwww

Network security.

Password testing with Crack
Detect file tampering with Tripwire
SATAN
COPS
Firewalls: ipfw, ipchains.
PGP encryption and keys
SSH encryption for online business transactions.


Linux Security
PAM   authentication
shadow psswds
tcp-wrappers
ssh
passwords
cracklib


wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww


More computers



Lotus Notes.
Lotus Notes is email, groupware, database, and document management all in one.  Lotus Notes provides the following features: Replication of database.  Workflows.  Agents: user created programs to automate processes.  Response documents: are like post-its.  Full text searching.


Groove
Groove is a web based version of Lotus Notes.


Push technology
Pointcast, Marimba

Streaming audio/video


Video conferencing.  


Document Conferencing.


Total Cost of Ownership


Y2K


e-commerce


SSL
SSL stands for Secure Socket Layer.  Secure, encrypted public internet transmission


Grid computing.  
Like "take a penny leave a penny", except with your spare computing power over the Internet.


Clusters  
Clusters is a method of connecting small computers to form a big computer.


P2P  
PC's use part of their hard drive to share files over the Internet.


RSS  
Have many blogs feed you news at once.


LAMP.  
Connect databases to interactive web sites.


Friendster.  
Friendster is an internet-based social networking software.  Sort of like "Six Degrees of Seperation".


Smartmobs.  
Coordinate events with text messaging.


Basic web page.
Text only information.


Hyperlinked websites.


Static webpages.


Dynamic webpages.


Multimedia websites.  Images.  Moving images.  Sound.  Audio/visual.


Interactive websites.  Guestbooks.  Forums.  Message boards.  Calculators.


Webpages linked to databases.


Webpages exchanging data with each other.  XML.


Blog
A blog is a webpage that one can update from a web browser.


Wiki
A wiki is a social blog.  Multiple users can update the content from their web browsers.


RSS
RSS provides XML-based news feeds.


Computer.  
A computer is a machine capable of performing symbolic manipulations.  The first computers were mechanical calculators.  Analog vs. Digital.  


Network
A network consists of nodes connected by media.  Computer networks.  Social networks.


Internet
The web.


Virtual reality.  Cyberspace.


Avatar.  Online persona.


Hyperlink
Hyperlinks are links that 


Hypertext
Hypertext is text that contains hyperlinks.


Web browser
Web browsers display web pages.


Web site
A domain.  An URL address.


Web page
A web site is composed of web pages.


HTTP


HTML


Friendster


CMS
CMS stands for Content Management System.  Typical CMS functions include.   Examples of CMS are Slash, Scoop, PHP-Nuke and Postnuke.


P2P
P2P stands for Peer to Peer.  A synonym for file sharing.  Examples are Napster, Kazza, Bit torrent.


Email


Chat


Newsgroups


FTP


Online shopping.


Online gaming.


Virtual realilty.


LAMP


Linux


Apache


MySQL


PHP


PERL


PYTHON


KDE


GNOME


Open Office


Knoppix
Knoppix is a version of Linux that can be run directly from a cdrom.


Bittorent
Bittorrent is faster than trad p2p file sharing.


Internet businesses that thrived
Google
Yahoo
Amazon.com
Ebay.com



multiuser

multitasking

process
system services or daemons
user application processes

Drivers

Cameras

Scanners
SANE

Graphics
drawing programs
Photo manipulation programs
	GIMP
File formats
	.bmp
	.jpeg
	.gif
	
	

Bios

File systems

Backups
media
types 
frequency - daily, weekly, montly.

Sound
mixers
players
midi
synthesizers
formats - .wav , .mp3



Installation
	Dual boot methods
		Lilo
		Grub
		
MBR - master boot record		

Partitioning.
	Seperate partition for OS and data
	Partition types
		Primary parition
		Extended partitions
			Logical volumes

Creating a boot disk.
Creating a rescue disk.

Bootup sequences
run levels
init file

logs

X Windows
X server
X client

Desktops
Gnome
KDE

Chat
AIM.  GAIM.  Jabber.

TCP/IP
NIC
MAC address or NIC address
IP address
Subnets

Email
Schedule or Calendar
Contacts
To Do list

Firewalls
Encryption
SSH
Kerberos
Viruses
Anti-spam
Anti-spyware


RAID
Hardware raid
Software raid
	Mirror
	Stripes

Package management
RPM's
Tars

Printers
Stand alone or networked.
Dot matrix.  Inkjet.  Laser.
LPRng.  CUPS.

Irda
Bluetooth

Power management

Linux Kernel
Source code.
Compiling a kernel.

LSB Linux Standards Base.

DNS - translates IP addresses to URL's.
	Linux uses BIND.
	
DHCP - leases IP addresses.

Web servers
	Linux often uses Apache

Web browsers
	Linux often uses Mozilla

Email servers
	Linux often uses Sendmail.

Email clients

Database servers.
	Linux often uses Mysql or Postgres


P2P
File sharing.
Napster.  Gnutella.  Bit Torrent.

Proxy servers.



Programming
Edit mode
Run mode
Debug mode

IDE.  Integrated Development Environment.

Program types
Command line programs.  User enters text.
GUI programs.  User uses mouse.  
Web based programs.  User reaches program over internet.

Computers

Main factors in computers

Processing power.  Moore's law.

Hard drive capacity.

Memory.

Bandwidth.


wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

History of computers:

1941  first computer.  ENIAC.
Vacuum tubes
Transistors

1940's.  Alan Turing.  John Von Neuman.  Norbert Wiener.

1950's.  AI.  Marvin Minsky.  John McCarthy.

1970's.  Unix.  C.  Ritchie.  Thompson.

1970's. first pcs.  Jobs and Wozniak's Apple.

1970 tcp/ip with Vince Cerf

1970's.  AWK.

1980 Ethernet with Bob Metcalf

1980's.  Bill Joy.

1990 Internet, www, hypertext.  Tim Berners Lee.

1990's.  Linux.  Linus Torvalds.

Knuth, Donald.  Wrote about computer programming.

Seymour Cray.  Cray Supercomputers.  Big, fast computers from the 1980's.

Hillis, Danny.  Thinking machines.

Kleene, Stephen.  Did work in logic relating to "regular expressions".



Numbers, words, images, sounds, symbols.



Philosophy of computers.
Turing.
Minsky.
Dreyfus.  The dude who shows what is not possible with computers.
Searle.  Chinese room argument.
AI



wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww

History of computers and the Internet.  (see history database)