- •1. TABLE OF CONTENTS
- •2. AN INTRODUCTION TO UNIX
- •2.1 OVERVIEW
- •2.2 UNIX
- •2.2.1 Using UNIX Workstations in general:
- •2.2.2 Directories, Files, Etc.
- •2.2.3 Advanced Concepts
- •2.3 THE NETWORK
- •2.4 GOOD MANNERS
- •3. THE INTERNET
- •3.1 NETWORKS
- •3.1.1 Computer Addresses
- •3.2 NETWORK TYPES
- •3.2.1 Permanent Wires
- •3.2.2 Phone Lines
- •3.3 NETWORK PROTOCOLS
- •3.3.1 Mail Transfer Protocols
- •3.3.1.1 - Attachments
- •3.3.1.2 - Mail Lists
- •3.3.2 FTP - File Transfer Protocol
- •3.3.3 News
- •3.3.4 HTTP - Hypertext Transfer Protocol
- •3.3.5 Chat
- •3.3.6 Novell
- •3.3.7 Security
- •3.4 DATA FORMATS
- •3.4.1 HTML - Hyper Text Markup Language
- •3.4.1.1 - Publishing Web Pages
- •3.4.2 URLs
- •3.4.3 Hints
- •3.4.4 Specialized Editors
- •3.4.6 Encryption
- •3.4.7 Compression
- •3.5 PULLING ALL THE PROTOCOLS AND FORMATS TOGETHER WITH BROWSWERS
- •3.6 OTHER STUFF
- •3.6.1 Clients and Servers
- •3.6.2 Java
- •3.6.3 Javascript
- •3.6.5 Searches
- •3.6.6 ActiveX
- •3.6.7 Graphics
- •3.6.8 Animation
- •3.6.9 Video
- •3.6.10 Sounds
- •3.6.11 Other Program Files
- •3.6.12 Fancy Stuff
- •4. TEACHING WITH THE INTERNET
- •4.1 LECTURES
- •4.1.1 Equipment
- •4.1.2 Techniques
- •4.2 ON-LINE NOTES
- •4.3 ON-LINE MARKING
- •4.3.1 Web Pages
- •4.3.2 email
- •4.4 The Time-Line For My First On-Line Course (Fall 1996)
- •5. WWW and HTML
- •5.1 Why Bother?
- •5.2 Where to Find Netscape
- •5.3 How to Get Your Own Home Page
- •5.4 How to Create a file
- •5.5 Resources
- •6. A BASIC INTRODUCTION TO ‘C’
- •6.2 BACKGROUND
- •6.3 PROGRAM PARTS
- •6.4 HOW A ‘C’ COMPILER WORKS
- •6.5 STRUCTURED ‘C’ CODE
- •6.6 ARCHITECTURE OF ‘C’ PROGRAMS (TOP-DOWN)
- •6.7 CREATING TOP DOWN PROGRAMS
- •6.8.1 Objectives:
- •6.8.2 Problem Definition:
- •6.8.3 User Interface:
- •6.8.3.1 - Screen Layout (also see figure):
- •6.8.3.2 - Input:
- •6.8.3.3 - Output:
- •6.8.3.4 - Help:
- •6.8.3.5 - Error Checking:
- •6.8.3.6 - Miscellaneous:
- •6.8.4 Flow Program:
- •6.8.5 Expand Program:
- •6.8.6 Testing and Debugging:
- •6.8.7 Documentation
- •6.8.7.1 - Users Manual:
- •6.8.7.2 - Programmers Manual:
- •6.8.8 Listing of BeamCAD Program.
- •6.9 PRACTICE PROBLEMS
- •7. GUI DESIGN
- •7.1 PRACTICE PROBLEMS
- •8. AN EXAMPLE - BEAMCAD
- •9. PROGRAMMING IN JAVA
- •9.1 OVERVIEW
- •9.2 THE LANGUAGE
- •9.3 OBJECT ORIENTED PROGRAMMING
- •9.4 REFERENCES/BIBLIOGRAPHY
- •10. DATABASES
- •11. MESSAGE PASSING ON NETWORKS
- •12. MATHEMATICAL ELEMENTS OF COMPUTER GRAPHICS
- •12.1 INTRODUCTION
- •12.2 PIXELS
- •12.2.1 The Perspective Transform
- •12.3 LINE DRAWING
- •12.3.1 Hidden Lines
- •12.4 POLYGON DRAWING
- •12.5 SHADED POLYGONS
- •12.6 COLORS
- •12.6.1 Color Maps
- •12.6.1.1 - Quantization with an Octree RGB Cube
- •12.6.1.1.1 - Algorithm and Implementation
- •12.6.1.1.2 - Color Quantization Data Structures
- •12.7 DITHERING
- •12.7.1 A Model for Light Ray Reflection
- •12.7.2 A Model for Light Ray Refraction:
- •12.7.3 A Model for Specular Reflection of Point Light
- •12.8 RAY TRACING
- •12.8.1 Basic Ray Tracing Theory
- •12.8.1.1 - A Model for Diffuse Reflection of Ambient Light
- •12.8.1.2 - A Model for Diffuse Reflection of Point Light:
- •12.8.1.3 - Collision of a Ray with a Sphere:
- •12.8.1.4 - Collision of a Ray With a Plane:
- •12.8.1.5 - Mapping a Pattern
- •12.8.2 Ray Tracer Algorithms
- •12.8.3 Bounding Volumes
- •12.8.4 Shadows
- •12.8.5 Aliasing
- •12.8.6 Advanced topics
- •12.9 RADIOSITY
- •12.10 ADVANCED GRAPHICS TECHNIQUES
- •12.10.1 Animation
- •12.11 REFERENCES
- •12.12 PRACTICE PROBLEMS
- •13. NEW TOPICS
- •13.1 VIRTUAL REALITY
- •13.2 MULTIMEDIA
- •14. VISIONS SYSTEMS
- •14.1 OVERVIEW
- •14.2 APPLICATIONS
- •14.3 LIGHTING AND SCENE
- •14.4 CAMERAS
- •14.5 FRAME GRABBER
- •14.6 IMAGE PREPROCESSING
- •14.7 FILTERING
- •14.7.1 Thresholding
- •14.8 EDGE DETECTION
- •14.9 SEGMENTATION
- •14.9.1 Segment Mass Properties
- •14.10 RECOGNITION
- •14.10.1 Form Fitting
- •14.10.2 Decision Trees
- •14.11 PRACTICE PROBLEMS
- •15. SIMULATION
- •15.1 MODEL BUILDING
- •15.2 ANALYSIS
- •15.3 DESIGN OF EXPERIMENTS
- •15.4 RUNNING THE SIMULATION
- •15.5 DECISION MAKING STRATEGY
- •15.6 PLANNING
- •15.7 NEURAL NETWORK THEORY
- •16. ARTIFICIAL INTELLIGENCE (AI)
- •16.1 OVERVIEW
- •16.2 EXPERT SYSTEMS
- •16.3 FUZZY LOGIC
- •16.4 NEURAL NETWORKS
- •16.4.1 Neural Network Calculation of Inverse Kinematics
- •16.4.1.1 - Inverse Kinematics
- •16.4.1.2 - Feed Forward Neural Networks
- •16.4.1.3 - The Neural Network Setup
- •16.4.1.4 - The Training Set
- •16.4.1.5 - Results
page 10
3. THE INTERNET
3.1 NETWORKS
•What does a network do - It lets us communicate.
•Start by thinking of a telegraph machine.
-a talker hits a key and a pulse is sent along a wire to a receiving station
-at the receiving station a listener hears the pulses
-the sequence of the pulses (morse code) determine the message
-the two take turns talking and listening to communicate
•Computer networks work exactly the same way (just a bit faster)
-instead of keying stations we have network cards and cables
-there are many talkers and listeners
-instead of morse code we use ASCII to transmit letters, numbers, etc.
-there are certain methods for determining who is listening and who is talking (eg, FTP)
EXERCISE: Have a look at the back of your computer. There should be a network cable, and a cable. Look for status lights, there should be one red and one green. The green light indicates that your computer is communicating, and there are no problems. If the red light flashes, your computer was trying to communicate, but too many others were talking, and it got confused (this is OK, networks are designed that way). Don’t disconnect the network cable while the computer is on, but, if you did the lights would both stay off because no communication is occurring.
EXERCISE: Start a program such as Netscape, and point to a site. Look at the light while nothing is happening. Now, access a site, and quickly look to see what the lights are doing. You should see more activity.
•A small network is called a Local Area Network (LAN) and only connects a few computers for fast communication.
•We can connect smaller networks to larger networks that may just go across campus. These are Wide Area Networks (WAN).
page 11
EXERCISE: Follow the cables on the back of the computers back to the hub. Notice the status lights on the hub flash as communication occurs. Also notice that one wire on the hub goes elsewhere to another hub for the building or campus - It is taking another step towards the Internet.
•The Internet is just a lot of LANs andWANs connected together. If your computer is on one LAN that is connected to the Internet, you can reach computers on other LANs.
•The information that networks typically communicate includes,
email - text files, binary files (MIME encoded) programs - binary, or uuencoded
web pages - (HTML) Hyper Text Markup Language
• To transfer this information we count on access procedures that allow agreement about when computers talk and listen, and what they say.
email - (SMTP) Simple Mail Transfer Protocol, POP3, IMAP programs - (FTP) File Transfer Protocol
login sessions - Telnet
web access - (HTTP) Hyper Text Transfer Protocol
EXERCISE - Basic: Open a Dos window and type in ‘ftp’. You can then say ‘open sunsite.unc.edu. When it asks for your name type in ‘anonymous’, and for the password type in your email address. You should now be connected to a computer in North Carolina. you can look in the directories with ‘ls’ or ‘dir’, and you can move to new directories using ‘cd DIRECTORY_NAME’. If you see a file that you want type ‘get FILE_NAME’. Next, type ‘close’ to end the connection. Quit the Dos window, and use the Windows based FTP program to access the same computer.
EXERCISE - Intermediate: Open a Dos window and type in ‘telnet river.it.gvsu.edu’. This connects you to the main student computer on campus. If you have an account, enter your user name and password. You can the use this computer as if you are using another dos window on your computer. Type ‘exit’ and quit the Dos window. Run the Windows Telnet program to access river again.
page 12
EXERCISE - Advanced: Open a Dos window and type ‘telnet river.it.gvsu.edu 25’. this will connect you to the main student computer. But instead of the normal main door, you are talking to a program that delivers mail. Type the following to send an email message.
ehlo northpole.com mail from: santa rcpt to: jackh
data
Subject: Bogus mail
this is mail that is not really from santa
.
3.1.1 Computer Addresses
•Computers are often given names, because names are easy to remember.
•In truth the computers are given numbers.
Machine Name: |
claymore.engineer.gvsu.edu |
Alternate Name: |
www.eod.gvsu.edu |
IP Number: |
148.61.104.215 |
• When we ask for a computer by name, your computer must find the number. It does this using a DNS (Domain Name Server). On campus we have two ‘148.61.1.10’ and ‘148.61.1.15’.
EXERCISE: In netscape go to the location above using the name, and using the IP number (148.61.104.215).
• The number has four parts. The first two digits ‘148.61’ indicate to all of the internet that the computer is at ‘gvsu.edu’, or on campus here (we actually pay a yearly fee of about $50 to register this internationally). The third number indicates what LAN the computer is located on (Basically each hub has its own number). Finally the last digit is specific to a machine.
EXERCISE: Run the program ‘winipcfg’. You will see numbers come up, including an IP number, and gateway. The IP number has been temporarily assigned to your computer. The gateway number is the IP address for the router. The router is a small computer that controls traffic between local computers (it is normally found in a locked cabinet/closet).