|
|
|
|
Lesson#45
|
Review and Wrap-Up
|
|
|
|
Today’s Goal:
(Review & Wrap-Up)
• To review some of the
interesting ideas that we discussed over the last 44 lectures
• Please note that this lectures is not a comprehensive review, just a
sampler!
Course Objectives
Progression of Computer Technology
1. Mechanical computing
2. Electro-mechanical
3. Vacuum tube
4. Transistor
(the current state-of the-art)
5. Quantum computing
Quantum Computers
• Quantum computers may one day be
millions of times more efficient than the current state-of-theart
computers …
• as their quantum mechanical nature will allow them to examine all
possible answers to a question,
simultaneously
The World Wide Web
• A huge resource of info
• Logically unified, but physically distributed
To build an appreciation for the
fundamental concepts in
computing
To become familiar with popular PC productivity software
To achieve a beginners proficiency in Web page development
• It is unlike any previous human invention:
– It is a world-wide resource, important to all and shared by all of the
people in the world
The Semantic Web
Whereas, today’s Web’s content is
designed for humans to read; the Semantic Web’s content will be
designed for computers to understand meaningfully
Internet: Network of Networks
• A large number of networks, interconnected physically
• Capable of communicating and sharing data with each other
• From the user’s point view, Internet – a collection of interconnected
networks – looks like a single,
unified network
Language of the Internet: TCP/IP
Transmission Control
Protocol/Internet Protocol
• TCP breaks down the message to be sent over the Internet into packets
• IP routes these packets through the Internet to get them to their
destination
• When the packets reach the destination computer, TCP reassembles them
into the original message
Instant Messaging
• eMail: Slow response times
• eMail: No way of knowing if the person we are sending eMail to is
there to read it
• eMail: The process of having a conversation through eMail by
exchanging several short messages
is too cumbersome
• Instant messaging (IM) solves these problems
On-Chip Cache Memory
• That small amount of memory
located on the same chip as the uP
• The uP stores a copy of frequently used data and instructions in its
cache memory
• When the uP desires to look at a piece of data, it checks in the cache
first. If it is not there, only
then the uP gets it from the main memory
• Its proximity to the uP makes access times short
Ways of Enhancing A uP
• Increase the clock frequency
• Increase the word-width
• Add more functional units (e.g. ALU’s, FPU’s, Vector/SIMD units, etc.)
The Role of An OS
• Manages the HW and SW resources
of the computer system, often invisibly. These include the
processor, memory, disk drives, etc.
• Provides a simple, consistent way for applications to interact with
the HW without having to know
all the details of the HW
Who Owns Software?
• Generally, although a piece of
SW that is being used by millions, it is not owned by any of them!
• When we buy a SW package, we do not really buy it – we just buy a
license that allows us to use it,
the ownership stays with the maker
4th-generation languages
Hardware
Operating System
Utilit
y
Language
Translator
Device Driver
Scientific
Apps.
Business
Apps.
Productivit
y
Apps.
Entertainment
Apps.
System software
Application software
Machine languages
Interpreters:
Immediate response, but execute code
slowly
Compilers:
Compiling takes time, but
super-fast execution
Algorithm
1st Definition:
Sequence of steps
that is taken to solve a problem
Better Definition:
A precise sequence
of a
limited number of
unambiguous, executable steps
that
terminates
in
the form of a solution
Pseudo Code
• Quite suitable for SW
development as it is closer in form to real code
• One can write the pseudo code, then use it as a starting point or
outline for writing real code
• Many developers write the pseudo code first and then incrementally
convert each line into real
code
Heuristic
Common sense Lesson drawn from
experience
(Artificial) Intelligent Systems
SW programs or SW/HW systems designed to perform
complex
tasks employing strategies that mimic
some aspect of human thought
Not a Suitable Hammer
for All Nails!
if
the nature of computations
required in a task is not well understood
or
there are too many exceptions to
the rules
or
known algorithms are too complex
or inefficient
then
artificial intelligent systems
have the potential of offering an acceptable solution
Database
• A collection of data organized
in such a fashion that the computer can quickly search for a desired
data item
• All data items in it are generally related to each other and share a
single domain
Relational Databases
• Databases consisting of two or
more related tables are called
relational databases
• A relational database stores
all its data inside tables, and nowhere else
• All operations on data are done on those tables or those that are
generated by table operations
Future Trends:
On-Demand Computing Power
• Almost infinite “computing
power” supply
• Reliable, maintenance-free, just like the electricity, telephone, or
water-supply service
• No capital expenditure; you pay for only what you use!
• Same will be true for storage
Future Trends: Immortal Minds
• Some day it will be possible to
load all the lectures, papers, books and SW produced by an expert
into an intelligent system
• After that system processes, indexes and restructures the info in
those artifacts, it will be possible
to have a conversation in plain English (or some other language) with
that system
Distances Are Contracting!
Distances Are Increasing!
• Because of the ever-decreasing
costs of verbal, text, video communications, it is becoming easier to
stay in touch of anyone, regardless of their physical location
• Solitude is the order of the day as many children & adults spend their
free time surfing, chatting,
playing computer games, instead of spending it on interacting with
friends or family
Computers may Become too Powerful!
• Computers keep on becoming more
and more powerful, gaining more and more autonomy
• They are being equipped with fail-safe and self-healing technologies
• Are we heading towards a future where the role of the masters and the
slaves will be reversed?
Why JavaScript?
• HTML is great for static Web
pages; however, supports only rudimentary interactivity through
forms and hyperlinks
• JavaScript can be used (along with HTML) to develop interactive
content for the Web
Some of things that JavaScript
cannot
do!
• The following file ops. on the client
computer:
–Read -- Modify
–Rename -- Delete
–Create
• Create graphics (although, it does have the ability to format pages
through HTML - including the
placement of graphics)
• Any network programming bar one function: the ability to download a
file to the browser specified
through an arbitrary URL
Advantages of Client-Side Scripting
• Reduced server load as it does
not have to send messages to the user’s browser about missing or
incorrect data
• Reduced network traffic as the form’s data is sent only once instead
of many to’s and fro’s
Object
: A
named
collection of properties (data, state) &
methods (instructions, behavior)
Functions
• A named group of statements that
is put together once and then used (by reference) repeatedly on a
Web page
• Code becomes easier to read, understand and maintain
Local and Global Variables
Local or Function-level Variable
Effective only in the function
in which they are declared
Global Variables
Visible everywhere on the Web
page
Image Preloading
• The Image object can be used to
download an image into the cache before it is actually needed for
display
• This technique can be used to create smooth animations or to display
one of several images based
on the requirement
Productivity SW
• The lectures and assignments
were designed to give a brief introduction, and no more
• All we desired was for you to become able to open the package and
perform some trivial tasks
• With time, you will find more and more use for these packages, and
gradually develop an expertise
that later will become very useful in your career
Course Objectives
1. To build an
appreciation
for the fundamental concepts in computing
2. To achieve a beginners
proficiency in Web page
development
3. To become familiar
with popular PC productivity software
• How successful were we in helping you achieve those objectives?
• Please do let us know so that we can modify the future offerings of
this course accordingly. I will
be most grateful
• I have enjoyed doing this course with you very much
• Hope it was enjoyable & useful for you as well
********************THE END*******************
|
|
|
|