Home Engineering Informatics Introduction To Informatics Introduction To Informatics Study Guide





In the document viewer below you will find Informatics Study Guides. These study guides cover boolean logic, C programming, symbolic logic, problem solving, history of computers, set theory, base conversions, and much more. All of these study guides will help you in many Informatics college courses offered today.

Note: If you are having trouble viewing this page or would prefer to view this information in a document viewer Click Here!


SECTION 1 - Informatics

Nature of Information

•"Information is that which reduces uncertainty". (Claude Shannon)

•"Information is that which changes us". (Gregory Bateson)

• "Information is a semantic chameleon". (Rene Thom)

 

What is Information?

· "The word information derives from the Latin informare (in + formare), meaning to give form, shape, or character to. It is therefore to be the formative principle of, or to imbue with some specific character or quality." -von Baeyer, Chapter 3, pp 20-21

 

Why are we studying Information?

· For hundreds of years, the word information has been used to signify knowledge and related terms such as meaning, instruction, communication, representation, signs, symbols, etc.

"the action of informing; formation or molding of the mind or character,

training, instruction, teaching; communication of instructive knowledge".

 

· One of the most outstanding achievements of science in the XX. Century:

-Invention of Digital Computers and Information Technology

· Resulted in the generation of vast amounts of data and information and new understandings of the concept of information itself

 

· Modern science is unraveling the nature of information in numerous areas such as communication theory, biology, neuroscience, cognitive science, and education, among others.

 

The emergence of Information

· The twentieth century has given us not only the theory of relativity and quantum mechanics, television and motion pictures, DNA and the genetic revolution, space technology, and rock and roll, but also something we call accessibility of information.

 

· The twenty first century promises to be very different due to information technology. We are inundated with it, and you live by it!

 

Information as Representation

We often presume that such and such information is simply a factual representation of reality

· but representation of reality to whom?

· the act of representing something as a piece of knowledge demands the existence of a separation between the thing being represented and the representation of the thing for somebody – between the known and the knower.

 

This is a form of communication:

· the representation of an object communicates the existence of the (known) object to the knower that recognizes the representation.

 

What is Informatics?

· Informatics develops new uses for information technology and in order to solve specific problems in areas as diverse as biology, fine arts, and economics. Informatics is also interested in how people transform technology, and how technology transforms people. The following are examples of new informatics areas:

o digital cinematography (Entertainment Informatics)

o design of interactive IT systems for resorts and casinos (Hospitality

o Informatics)

o design of digital interfaces in computing, entertainment, digital

o appliances, etc. (Digital Media/Human Computer Interaction)

o developing anti-spam and anti-phishing tools (Cybersecurity)

o computing and Network Forensics (Cybersecurity)

o innovation with virtual reality technologies (Digital Media/Human

o Computer Interaction)

o digitizing the choreography of a play (Entertainment Informatics)

o understanding the human genome (BioInformatics)

 

· In many ways, informatics is a bridge connecting IT to a particular field of study such as biology, chemistry, fine arts, telecommunications, geography, engineering, business, economics, journalism, etc.

SECTION 2 – C Programming

 

C

• It is a general purpose, procedural, block structured programming language

• By-product of UNIX operating system

• Developed at Bell Laboratories in 1972 by Ken Thompson, Dennis Ritchie, and others

• Development of a U.S. standard for C began in 1983 with the support of American National Standards Institute (ANSI)

 

Strengths of C

• Efficiency: Runs quickly and in limited amounts of memory

• Portability: Can run on computers ranging from PC’s to supercomputers

• Power: It is often possible to accomplish a lot with a few lines of code due to its large collection of data types and operators

• Flexibility: Can be used for a variety of applications from embedded systems to commercial data processing

• Standard library: Contains hundreds of functions for input/output, string handling, storage allocation, etc.

• Integration with UNIX: It is particularly powerful in combination with UNIX and Linux

 

Weaknesses of C

C programs can be

• Error-prone

• Difficult to understand

• Difficult to modify

 

C Program Example

pun.c

#include <stdio.h>

int main(void)

{

printf("To C, or not to C: "

printf("that is the question.");

return 0;

}

 

· #include <stdio.h> is necessary to include information about C’s standard I/O (input/output) library.

· The program’s executable code goes inside main, which represents the main program.  printf is a function from standard I/O library that can produce formatted output.

· return 0; indicates that the program returns the value 0 to the OS when it terminates.

 

Compiling and Linking

· Preprocessor: It obeys commands that begin with # (known as directives). Like an editor, it can add things to the program and make modifications.

· Compiler: It translates the modified program into machine instructions (object code).

· Linker: Combines the object code with any additional code needed to obtain a complete executable program.

 

Form of a Simple C Program

directives

int main(void)

{

statements

}

 

· Directives are commands that are intended for the preprocessor, which edits the program before it is compiled.

· #include <stdio.h> states that the information in <stdio.h> is to be included into the program before it is compiled. C has a number of headers like <stdio.h>; each contains information about some part of the standard library.

 

· Functions are the building blocks from which programs are constructed.

· There are two types of functions: those provided as part of the C implementation and those written by the programmer.

· In C, a function is simply a series of statements that have been grouped together and given a name.

· The only mandatory function in C is the main.

 

#include <stdio.h>

int main(void)

{

...

return 0;

}

 

· The word int before main indicates that the main function returns an integer value.

· The void in parenthesis indicates that main has no arguments.

· The statement return 0; causes the main function to terminate and indicates that the main functions returns a value of 0 to the operating system.

 

· A statement is a command to be executed when the program runs.

· pun.c program has two kinds of statements: the return statement and a function call.

· Asking a function to perform its task is known as calling the function. The pun.c program calls the printf function in order to display a string on the screen.

 

Comments

· Every program should contain identifying information such as the program name, the date written, the author, the purpose of the program, etc. In C, this information is placed in comments.

· The symbol /* marks the beginning of a comment as the symbol */ marks the end.

· A second kind of comment begins with //. This comment ends at the end of a line. However, it is NOT ANSI C compliant.

Variables and Assignment

Most programs need to perform a series of calculations before producing output, and thus need a way to store data temporarily during program execution. In C, as in most programming languages, these storage locations are called variables.

 

Variables

· Every variable must have type, which specifies what kind of data it will hold.

· C has a wide variety of types. Three of the most common ones are:

–char

– int

– float

 

· A variable of type char (short for character) can store a single character such as ‘a’, ‘9’, or ‘$’.

· A variable of type int (short for integer) can store a whole number such as 0, 3637, -36.

· A variable of type float (short for floating-point) can store larger numbers than int and numbers with digits after the decimal point, such as 25.147.

 

· Variables must be declared before they can be used.

· A variable is declared by first specifying the type of the variable, and then its name.

· Variable names are chosen by the programmer; however they are subject to certain rules.

 

Examples:

char answer;

States that answer is a variable type of char, meaning answer can store a character.

int height;

States that height is a variable type of int, meaning height can store an integer value.

float profit;

States that profit is a variable of type float.

 

· If several variables have the same type, their declarations can be combined.

char answer, question, c;

int height, length, width, volume;

float profit, loss;

 

· When main contain declarations, they must precede statements.

directives

int main(void)

{

declarations

statements

}

 

Assignment

· A variable can be given a value by means of assignment. The statements

height = 8;

length = 12;

width = 10;

assign values to height, length, and width.

· The numbers 8, 12, and 10 are said to be constants.

 

· Before a variable can be assigned a value – or used in any other way – it must first be declared. It is correct to write

int height;

height = 8;

but not

height = 8; // WRONG

int height;

 

· A constant assigned to a float variable usually contains a decimal point. So, if profit is a float variable, we may write

profit = 120.45

profit = 120.45f

· Mixing types (such as assigning an int value to a float variable or vice versa) is possible but not always safe.

 

· Once a variable has been assigned a value, it can be used to compute the value of another variable.

height = 8;

length = 12;

width = 10;

volume = height * length * width

// volume is now 960

 

Initialization

· A variable that doesn’t have default value and hasn’t yet been assigned a value is said to be uninitialized.

· A variable can be initialized when or after it is declared.

int height;

height = 8; // OR

int height = 8;

The value 8 is called the initializer.

 

Constants

· When a program contains constants, it’s often a good idea to give them names.

#define PI 3.14159f

· #define is a preprocessing directive (just like #include), so there is no semicolon at the end of the line.

 

Identifiers

· When writing a program, the programmer should choose names for variables, functions, macros, etc. These names are called identifiers.

· In C, an identifier may contain letters, digits, and underscores, but must begin with a letter or underscore.

 

Examples of legal identifiers:

times10                get_next_char                  _done

Examples of illegal identifiers

10times                get-next-char

 

· C is case-sensitive. It distinguishes between upper-case and lower case letters in identifiers. Following are all different identifiers in C:

Box        boX

bOx        bOX

Box        BoX

BOx        BOX

 

Formatted Output

· The printf function is used to display contents of a string, known as the format string, with values possibly inserted at specified points in the string.

· The values displayed can be constants, variables, or more complicated expressions.

· The format string may contain both ordinary characters and conversion specifications, which begin with the % character.

 

· The information that follows the % character specifies how the value is converted from its internal form (binary) to printed form (characters)

· The conversion specification %d specifies that printf is to convert an int value from binary to a string of decimal digits, while %f does the same for a float value, and %c does it same for a char value.

 

· Just as printf outputs in a specified format, scanf reads input according to a particular format.

· A scanf format string, like a printf format string, may contain both ordinary characters and conversion specifications.

· The conversions allowed with scanf are essentially the same as those used with printf.

SECTION 3 – History of Computers and Information Technology

 

Abacus (AKA counting frame)

· A non-automatic counting tool to perform arithmetic operations. It requires memory aid for intermediate calculations.

· It is consisted of a frame, rods, and beads.

· Babylonians may have invented it around 3000 B.C.; however Egyptian, Greek, Roman, Indian, Chinese, Japanese, and Native American versions also exist.

 

The Antikythera Mechanism

· An ancient mechanical calculator invented in the Greek island of Antikythera around 150-100 BC.

· Designed to calculate astronomical positions.

· Discovered in 1901 in a Roman shipwreck.

 

Slide rule (AKA slipstick)

· A mechanical analog computer invented by William Oughtred in 1622.

· It is consisted of at least two scales (a still outer pair of rules and a movable inner rule)

· Performs mathematical operations by using distance on non-linearly divided scales.

 

Calculating Clock

· First known mechanical calculator designed by William Schickard (1592 – 1635) in Germany in 1623.

· It is consisted of at six digit machine that could add or subtract.

· It had a bell that would ring to alert the user of an error, if the machine overflowed.

· It didn’t make beyond the prototype stage.

 

Pascaline (AKA Arithmetique)

· An adding machine invented by French mathematician Blaise Pascal (1623-1662) in 1645.

· It was a decimal machine that could work with 8 digits.

· Had trouble carrying.

 

Stepped Reckoner

· A device that can perform additions, subtractions, multiplications, divisions, and evaluations of square roots.

· Invented by German Baron Gottfried von Leibniz (1614-1716) in 1672.

 

Difference Engine

· A special purpose mechanical digital calculator designed to tabulate polynomial functions.

· First designed by J.H. Muller in 1786, but it was never built.

· In 1822 rediscovered by Charles Babbage.

· He never completed the full-scale machine.

 

Charles Babbage (1791-1871)

· Working with Ada Lovelace (daughter of Lord Byron) designed what was to have been a general-purpose mechanical digital computer.

· With a memory store and a central processing unit (or ‘mill’) it would have been able to select from among alternative actions consequent upon the outcome of its previous actions.

· Programmed with instructions contained on punched cards.

 

Herman Hollerith (1860-1929)

· Devised a system of encoding data on cards through a series of punched holes.

· Reduced reading errors, work flow was increased, and, more important, stacks of punched cards could be used as an accessible memory store of almost unlimited capacity.

· His Tabulating Machine Company (1896) was a predecessor to the International Business

· Machines Corporation (IBM)

Memory: punch card

· Binary Representation: holes denotes 1’s, non-holes denotes 0’s

· With 8 holes permissible 28 = 256 numbers possible per column.

 

Alan Turing (1912-1954)

· In 1935, at Cambridge University, Turing invented the principle of the modern computer: Universal Turing Machine.

· Abstract digital computing machine consisting of a limitless memory and a scanner that moves back and forth through the memory, symbol by symbol, reading what it finds and writing further symbols (Turing [1936]).

· The actions of the scanner are dictated by a program of instructions that is stored in the memory in the form of symbols.

 

ENIAC (1945)

· First fully functioning electronic digital computer to be built in the U.S.

· Electrical Numerical Integrator and Computer

· University of Pennsylvania, for the Army Ordnance Department, by J. Presper Eckert and John Mauchly.

· Punch-card input and output

 

Transistor (1947)

· Invented by William Shockley, John Bardeen and Walter Brattain at Bell Labs in 1947. Used

· As electronic switches to make or break the electric circuit.

· For amplification in analog devices

· For choosing between "0" and "1" ("on" or "off")

· A semiconductor device: principally silicon, germanium and gallium arsenide.

 

World’s smallest transistor

· First 45 nanometer (nm) transistor designed by Intel in 2007.

· Previous technology: 65 nm transistor.

· Approximately twice the transistor density

· Approximately 30 percent reduction in transistorswitching power

· More than 20 percent improvement in transistorswitching Speed

 

Fun Facts: Exactly how small is 45 nms.

· There are 1 billion nanometers (nm) in one meter. A meter is approximately 3 feet.

· The original transistor built by Bell Labs in 1947 could be held in your hand, while hundreds of

· Intel’s new 45nm transistor can fit on the surface of a single red blood cell.

· If a house shrunk at the same pace transistors have, you would not be able to see a house without a microscope. To see the 45nm transistor, you need a very advanced microscope.

· You could fit more than 2,000 45nm transistors across the width of a human hair.

· More than 2 million 45nm transistors could fit on the period (estimated to be 1/10 square millimeter in area) at the end of this sentence.

· A 45nm transistor can switch on and off approximately 300 billion times a second.

 

45 nm size comparison

· A nail = 20 million nm

· A human hair = 90,000nm

· Ragweed pollen = 20,000nm

· Bacteria = 2,000nm

· Intel 45nm transistor = 45nm

· Rhinovirus = 20nm

· Silicon atom = 0.24nm

 

Integrated Circuits (AKA IC, microcircuit, microchip, silicon chip, or chip)

· Conceptualized by Geoffrey W. A. Dummer

· Thin chip consisting of at least two interconnected semiconductor transistors, as well as passive components like resistors.

· Manufactured independently by

· Jack Kilby of Texas Instruments (Germanium) on February 6, 1958

· Robert Noyce of Fairchild Semiconductor (Silicon) on April 25,1961.

· Modern-day chips are of size 1 cm2 or smaller, and contain millions of interconnected devices.

· Allowed the placement of many transistors in a small area

· Typical use as microprocessors

· Central Processing Unit (CPU): part of a computer that interprets and carries out the instructions.

 

Moore’s Law (1965)

· the number of transistors that can be inexpensively placed on an integrated circuit is increasing exponentially, doubling approximately every two years. (Gordon E. Moore)

 

The First Personal Computer

· In 1971, Intel released the first microprocessor.

· Able to process four bits of data at a time!

 

The Altair 8800 (1975)

· by a company called Micro Instrumentation and Telementry Systems (MITS) sold for $397

· Came as a kit for assembly who had to write software for the machine (in machine code!)

· 256 byte memory --about the size of a paragraph

· Microsoft (1975)

· Was born to create a BASIC compiler for the Altair

· Beginners All-purpose Symbolic Instruction Code

 

Apple II (1977)

· Audio cassette interface

· BASIC programming language

· Display of 24 by 40 of upper-case-only text

· 4100 character memory

· $1298.

 

TRS-80 (1977)

· Tandy Radio Shack

· 64,000 character memory

· disk drive to store programs and

· data on.

 

IBM (PC) 5150 (1981)

· modular design

· 16,000 character memory

· $1265.

 

Graphical User Interface (GUI)

· first real-time graphic display systems for computers: the SAGE Project and Ivan Sutherland's Sketchpad.

 

Graphical User Interface (GUI)

· Doug Engelbart's Augmentation of Human Intellect project at SRI in the 1960s developed the On-Line System (NLS), which incorporated a mouse-driven cursor and multiple windows.

· WIMP (windows, icons, menus and pointers)

 

Xerox PARC

· Xerox Alto (1973)

· first computer to use the desktop metaphor and GUI

 

Macintosh (1984)

· Steve Jobs adapted the idea from Xerox PARC

· Introduced with a famous super bowl commercial $2,495

 

Macintosh (1984)

· Characteristics

· graphical user interface, icons, a desktop, etc.

· The use of a mouse or other pointing device in personal computing

· The "double click" and "click-and-drag" behaviors to perform actions with a pointing device

 

Microsoft Windows

· Windows 1.0 (1985)

· Running on MS-DOS (operative system)

 

SECTION 4 – The Art of Modeling and Problem Solving

 

Problem Solving

· "Process of moving toward a goal when the path to that goal is uncertain."

· "A systematic approach utilizing multiple perspectives to uncover the issues related to a particular problem, design an intervention plan, and evaluate the outcome."

· "The cognitive process through which information is used to reach a goal that is blocked by some obstacle."

 

George Polya’s "How to Solve It" (1945)

· First, you have to understand the problem.

· After understanding, then make a plan.

· Carry out the plan.

· Look back on your work. How could it be better?

 

Heuristics in Polya’s Method

· Analogy: Can you find a problem analogous to your problem and solve that?

· Generalization: Can you find a problem more general than your problem?

· Induction: Can you solve your problem by deriving a generalization from some examples?

· Variation of the Problem: Can you vary or change your problem to create a new problem (or set of problems) whose solution(s) will help you solve your original problem?

· Auxiliary Problem: Can you find a sub-problem or side problem whose solution will help you solve your problem?

 

Heuristics in Polya’s Method

· Specialization: Can you find a problem more specialized?

· Decomposing and Recombining: Can you decompose the problem and "recombine its elements in some new manner"?

· Working backward: Can you start with the goal and work backwards to something you already know?

· Draw a figure: Can you draw a picture of the problem?

· Auxiliary Elements: Can you add some new element to your problem to get closer to a solution?

 

Process of Problem Solving

Model

· "a hypothetical description of a complex entity or process"

· "a pattern, plan, representation, or description designed to show the structure or workings of an object, system, or concept."

 

Fibonacci (AKA Leonardo of Pisa) (1170 – 1250)

· Italian Mathematician

· His book, Liber Abbaci, advocated the use of Hindu-Arabic numeral system in Europe.

· Introduced the famous number sequence, after named Fibonacci numbers, to the West. Fibonacci numbers answer the problem of growth in rabbits.

 

Original Problem

1) In month one, there is one newly pair (one male, one female) of baby rabbits

2) It takes one month for the rabbits to become an adult and have babies of their own

3) The female always produces one new pair (one male, one female) every month from the second month on

4) Rabbits never die

How many pairs of rabbits are there at the end of one year?

 

Solution (at the end of 5 months)

 

Fibonacci Numbers

· Fibonacci numbers form a sequence defined by the following recursive formula:

 

Fibonacci Numbers:

· 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946, 17711, 28657, 46368, 75025, …

 

Fibonacci Spiral

 

Fibonacci Spiral

 

Fibonacci Numbers in Nature

Leaves of Plants (many other examples)

 

Golden Ratio (AKA Golden Mean or Section)

· In mathematics and the arts, two quantities are in the golden ratio if the ratio between the sum of those quantities and the larger one is the same as the ratio between the larger one and the smaller.

 

· The golden ratio (? – phi) is approximately 1.6180339887.

 

 

Golden Ratio and Fibonacci Numbers

· If we take the ratio of two successive numbers in Fibonacci sequence, (1, 1, 2, 3, 5, 8, 13, ..) and we divide each by the number before it, we will find the following series of numbers:

The ratio is converging to the Golden Number which is approximately 1.6180339887

 

Golden Rectangle

· A golden rectangle is a rectangle whose side lengths are in the golden ratio, 1: ? (one-tophi), that is, approximately 1:1.618.

Golden Rectangle

Parthenon in Greece (many examples)

Types of Modeling: Mathematical Modeling

· Using mathematical knowledge to describe the behavior of a system.

· Mathematical modeling is used to understand the behaviors of the systems in fields such as engineering, physics, biology, chemistry, economics, sociology, computer science, statistics, etc.

 

Mathematical Modeling Examples

· Malthusian Growth Model (AKA simple exponential growth model) for population: based on a constant growth rate, proposed by Thomas Maltus (1766-1834).

Mathematical Modeling Examples

The Malthusian Dilemma:

· Malthus argued that human populations grow geometrically or exponentially--that is, by doubling every few generations, as in the series 2-4-8-16.

· In contrast, he contended that food resources could only increase arithmetically or in additive increments, such as 4-5-6-7.

· Population would eventually outstrip its supply of food.

 

Mathematical Modeling Examples

The Malthusian Dilemma:

Mathematical Modeling Examples

The Boyle’s Law:

· States that when the temperature is held constant, the volume (V) of a gas is inversely proportional to its pressure (P). (Robert Boyle, 1627-1691)

· Therefore, if the pressure increases, the volume decreases and visa versa. For example, if the volume if halved, then the pressure is doubled.

 

 

Mathematical Modeling Examples

The Ohm’s Law:

· Ohm's law is a mathematical formula that is used to describe the relationship between voltage (V), current (I), and resistance (R). (Georg Ohm, 1789 – 1854)

· States that, in a given electrical circuit, the amount at current in amps is equal to the pressure in volts divided by the resistance in ohms.

 

 

Mathematical Modeling Examples

The Cobweb Model:

· The Cobweb model is an economics model of cyclical supply and demand in which there is a lag between response of producers to a change of price.

· Farming is a good example, as there is a lag between planting and harvesting.

· It explains why prices could be subject to periodic fluctuations in certain types of markets.

 

Types of Modeling: Causal Model

· A probabilistic dependency model generated by a causal input list.

· Causal models are used in science to simulate a more detailed understanding of how a particular system or event actually works (the model simulates the circumstances which cause the event to occur).

 

Causal Model Examples

Causal Loop Diagram (CLD)

· Is a diagram containing variables and directed arrows connecting those variables, usually with at least one closed loop representing feedback.

· Each arrow is labeled with an "S" or "+" or with "O" or "-".

· S or +: when the first variable changes in one direction, the second one also changes in the same direction.

· O or -: when the first variable changes in one direction, the second one changes in the opposite direction.

 

Causal Model Examples

Causal Loop Diagram:

 

Causal Model Examples

Bayesian Belief Network

· Bayesian Belief Network is a directed acyclic graph, where each node represents a random discrete variable or uncertain quantity that can take two or more possible values. The directed arcs between the nodes represent the direct causal dependencies among these random variables.

· If there is an arc from node A to another node B, then we say that A is a parent of B and B is a child of A.

 

Causal Model Examples

Bayesian Belief Network:

 

Types of Modeling: Computer Model/Simulation

· A data-driven system/computer program that uses a built-in set of rules to predict the results of a process or to simulate how a given set of conditions will change over time

 

Computer Model Examples

Advanced Weather Interactive Processing

System (AWIPS)

· AWIPS is an interactive computer system that integrates all meteorological and hydrological data, and all satellite and radar data, and enables the forecaster to prepare and issue more accurate and timely forecasts and warnings.

 

Computer Model Examples

Traffic Simulation

 

Types of Modeling: Data Model

· Is a model that describes in an abstract way how data is represented in an information system or a database management system.

 

Data Model Examples

Documents-User Data Model

 

SECTION 5 - Information: The New Language of Science – Chapter 1 and 4 Summary

 

· Information is like electric rain, meaning that information surrounds people in every environment. Of this information that surrounds us, some is accessible and some is not (e.g. military transmission). The underlying zeroes and ones (binary language) parallel our universe. They form the foundation for information to carry meaning.

· Due to the exponential growth model, our information universe has exploded. Marshall McLuhan pioneered the idea that information was a commodity. This pioneering notion facilitated International Business Machines (IBM) realization that they were in the business of information and not office equipment. Thus, IBM was destined to pave way for the information age.

· Due to the limits of growth theory, some people believe the progression of information technology will come to resemble economists Thomas Malthus’ S-curve. Furthermore, many believe the limits on information technology as dictated by physical law will be reached in the 2020s.

· As technology transforms we become further engulfed with information. Scientists and engineers are leading this transformation. At Massachusetts Institute of Technology (MIT) the Oxygen project was launched. The goal of Oxygen is to make "computation as ubiquitous as the air we breathe." To accomplish this MIT envisions a world with computers built into everything. On the west coast the University of California, Berkeley founded the Endeavour project. This project is aimed at "creating an ocean of data that will envelop people like fish in the sea."

· So, what are the limits to technology and information? First, the impact of information is not universal. Half of the world is still stricken with poverty and health issues. Second, the real cost of technology has yet to be realized. It has been suggested that a two gram microchip consumes many times its weight in chemicals, fuel, and water. It is still undetermined when these hidden costs will become unreasonable. Lastly, human frailty may contribute to the limitations.  Murray Gell-Mann best states the mechanics of the human frailty limitation: "finding meaning in a flood of data, and wisdom in an ocean of information" which may lead to "a cybership without a human steersman [becoming] a vessel out of control."

· In addition to artificial information, natural information engulfs us. This is contributed through the tools of our biological being (e.g. brain, eyes, ears, etc.). If information, artificial and natural, is essential to the world around us, why does it not play a bigger role in describing the material world? Well, Information is a rather vague, ill-defined concept. This spawns a number of questions. One such question is: How can we measure information?

· Claude Shannon, the founder of information theory, invented a way to measure information. To measure information he tied messages to binary language: "to find the information content of any message, translate the message into binary code of the computer and count the digits of the resulting string of zeroes and ones." This technique is called bit counting and the result was named Shannon information.  The power of bits is astonishing. For example, a game of twenty questions produces a lot of information. The secret is to divide the possible answers into two equal parts. With good strategy, twenty answers yield twenty bits. The twenty bits result in a single choice among 1,048,576 equally probable possibilities.

· The trouble with Shannon’s discovery is that it says nothing about the intended meaning of the message. Shannon’s bit counting strategy is quantitative rather than qualitative. François Jacob, a Nobel Prize winner, espoused that asking general questions led to very limited answers and asking limited questions turned out to provide more and more general answers. Shannon’s approach produced some limited questions that led to general answers. Some of these answers included that binary is the least expensive way to handle information and that digital processing is more efficient than analogue.

· It seems that bit counting is a starting point for information problems. It is a powerful tool promising to be the key to higher levels of meaning in the study of information. On the other hand, will information, studied at any level, be of use in physics?

 

SECTION 6 - Natural-Born Cyborgs: Minds, Technologies, and the Future of Human Intelligence – Chapter 2 Summary

 

· Andy Clark begins chapter two with a story about his visit to Los Alamos National Laboratory. During his visit he notices the distinction between old and new technology. Los Alamos is a bunker designed to house huge mainframes and other big complex equipment. However, Clark notices that the lab currently houses a few high-powered laptops. After lunch, his next stop was The Black Hole. The Black Hole is a shopping outlet where people can purchase retired National Laboratory equipment. The Black Hole is "an elephant’s graveyard of Un-transparent, In-Your-Face Technology." The point of Clark’s story was to note the contrast between two types of technologies: transparent technologies and opaque technologies.

· Transparent technologies are so integrated with the user that they are almost invisible in use. Opaque technologies require unnatural skills and the focus of attention remains during use. The problem with opaque technologies is the ability of the user to successfully set up and run the tool. Transparent technologies allow the user to literally see through the tool and directly confront the issue at hand.

· Donald Norman, a Cognitive Scientist, views opaque versus transparent technologies as technology centered versus human centered products. For technology centered products to achieve widespread adoption by users and for the product to survive it must provide clear benefits at low cognitive and economic cost. When this is accomplished it creates a kind of symbiotic relationship with the biological user. An example of this symbiotic relationship is the wristwatch. As an agricultural society people relied on natural time (aka the Sun). As society moved into the Industrial Age new ways to keep time were developed. These new time keeping measures transformed from a town time caller to a town clock and eventually to personal time devices. Over time, the wristwatch became transparent (achieved symbiosis). Technology must change over time to become easy-to-use, access, and purchase. However, in return, elements of culture, education, and society must too change over time.

· The technological and social evolution that occurred with time keeping is now happening with information itself. There are a number of researchers facilitating this transformation.

· Clark argues that, "Mark Weiser’s vision of ubiquitous computing is finding concrete expression in attempts to design and market what Norman calls information appliances." Information appliances are defined by three criteria: 1) They are geared to support a specific activity; 2) They form an intercommunicating web; and 3) They are transparent technologies. An example of an information appliance is Bradley Rhode’s wearable remembrance agent (a hat-like device with an above head viewable screen for the user). The danger of transparent pseudo-neural technologies is a loss of human control over a technology of which we are barely aware.

· Dourish (a former colleague of Weiser) coined the term tangible computing. Tangible computing maintains key elements of invisible computation but seeks to do so without allowing the tools and technologies to become permanently invisible. The Tangible Media Group at the Massachusetts Institute of Technology Media Lab is researching and developing technologies in the manner of the tangible computing discipline. One such project is called Sensetable. The Sensetable is a tabletop display that uses electromagnetic sensing to determine a variety of physical objects which the user can move around so as to alter the information displayed.

· Another area being researched Augmented Reality. Augmented Reality also focuses on the idea of reinventing the interface of technological tools. The goal is to overlay the human experience of the physical world with layers of personalized digital information. Some ideas being introduced include direct optical input overlaid with computer graphics and retrofitted eyeglasses to add digital information to the everyday scene.

· Clark claims that the blurring of the physical and technological has educational importance: "If we are to become complex biotechnological hybrids, a major challenge is to train young minds to think well about a world in which the physical and the informational/digital are densely and continuously interwoven." Researchers are developing mixed reality play to address this challenge. Mixed reality play makes the virtual/informational tangible and the physical is made virtual. It is believed that mixed reality play will help alleviate opposition between the real and the virtual.

· Several visions of the near future were covered in this chapter. Clark coined the term "dynamic appliances" encapsulating the inevitable convergence of these visions. Dynamic appliances are information appliances that, in use, actively work to learn about and better fit the user. It is likely that a variety of these different technologies being researched will be in our future; and "such technologies are apt for the most profound and enduring kinds of interweaving into our lives, identities, and projects, and into our constantly constructed sense of place, presence, and self."

Introduction to Logic:

Logic

  • "The science that investigates the principles governing correct or reliable inference"
  • "A particular method of reasoning or argumentation"
  • "The study of the principles and criteria of valid inference and demonstration"

  • It is the study of what constitutes "correct" reasoning (inferring).
  • The ability to reason (or infer) is simply the ability to draw appropriate conclusion from given evidence.
  • Reasoning ability is the source of most of our knowledge.

Most of our knowledge is inferential, i.e. it is gained not through direct observation, but by inferring one thing from another.

It is a process going from what we do know (the premises) to what we previously didn’t know (the conclusion).

Premise: sentence/clause containing evidence

Conclusion: claim that is supposed to follow from the premises

Logic is concerned with CORRECT reasoning.

Reasoning / Inferring

Example of Correct Reasoning

John needed to get at least 70 on his final to get an A (Pre.). John got 65 on his final (Pre.).

Therefore, John didn’t get an A (Conc.).

Example of Incorrect Reasoning

If coal is black, then snow is white (Pre.). Snow is white (Pre.). Therefore, coal is black (Conc.)

Why Study Logic?

  • Every time you draw a conclusion on the basis of certain evidence, infer one thing from another, or try to figure out the consequences of a certain course of action, you are using logic.
  • Logic is a matter of what follows from what, and the better you are at figuring this out (i.e. the better you are at reasoning correctly), the more likely you are to come up with the right decision in practical situations.
  • Logic should increase your ability to construct extended chains of reasoning and to deal with more complex problems.
  • In real life you may have to consider a number of options, consequences of each of those options, and consequences of the consequences.

What Logic is All About

Logic is concerned with the verbal expression of reasoning.

An argument is a set of sentences consisting of one or more premises, which contain the evidence, and a conclusion, which is supposed to follow from the premises.

  • It is important to distinguish between arguments and assertions.

Example of Assertion:

Mary makes $45K/year, which is not enough for her to purchase a house.

Example of Argument:

Mary needs to make $70K/year to purchase a house (Pre.). Mary makes $45K/year (Pre.).

Therefore, Mary cannot purchase a house (Conc.).

Example of Assertion:

My lucky numbers are 1, 5, 10, 25, 30, 46.

Example of Argument:

My fortune cookie said that my lucky numbers are 1, 5, 10, 25, 30, 46 (Pre.). I played the lottery with those numbers (Pre.). Therefore, I will win the lottery (Conc.).

All horses are green. (Premise)

All green things are plastic. (Premise)

/? All horses are plastic. (Conclusion)

  • The only thing logic is concerned with is whether arguments are good or bad, correct or incorrect. Its job is to evaluate arguments.

  • In an argument, a claim is being made that there is some sort of evidential relationship between premises and conclusion.
  • The conclusion is supposed to follow from the premises. The premises are supposed to imply the conclusion.
  • The correctness of an argument is a matter of connection between premises and conclusion and concerns the strength of the relation between them.

Deductive vs. Inductive Argument

  • Valid deductive arguments have the strongest relationship between their premises and conclusion.
  • A deductive argument is an argument in which the premises are intended to provide absolute support for the conclusion.
  • An inductive argument is an argument in which the premises are intended to provide some degree of support for the conclusion.

Example of Inductive Argument:

John gets an A on 95% of the exams for which he studies (Pre.). He studied for his logic exam. (Pre.)

Therefore, he will probably get an A on his logic exam (Conc.).

  • The strength of inductive arguments ranges over an infinitely variable scale, from close to 100% probable to nearly impossible.

Sentential (Propositional) Logic

  • Sentential logic is concerned with how complete sentences are compounded with others by means of logical words such as "and", "not", and "or". Sentences are NOT analyzed into their subjects and predicates.
  • Subject is what the sentence is talking about, or refers to, and the predicate is what being asserted about the subject.

Simple and Compound Sentences

  • In sentential (propositional) logic, most basic unit is the complete sentence.
  • Sentential logic is concerned with simple complete sentences as well as complete sentences that are compounded by other complete sentences by words such as "and", "or", "if … then", "either … or", etc., which are called sentential operators.

  • It is important to be able to distinguish between simple sentences and compound sentences and to be able to identify the simple components of compound sentences.
  • A declarative sentence is compound if it logically contains another complete declarative sentence as a component.
  • A declarative sentence is simple if and only if it is not compound.

John loves Mary and Mary loves David. -> Comp.

John believes that Mary loves Bill. -> Comp.

The person who ate the cake has a guilty conscience -> Not comp.

  • One sentence occurs as a component of a second if, whenever the first sentence is replaced by another declarative sentence, the result is still a grammatical sentence.

John is going to New York. -> Simple

Mary is a good student. -> Simple

Dolphins are highly intelligent -> Simple

The odd-looking person standing to the right of the woman with the weird hat with the flowers and cherries on it is the one infuriated the chairman of the board by complaining in public about the high prices of the company’s inferior products. -> Simple

  • One sentence logically contains another if it literally contains the other as a component, or if it can be paraphrased into an explicitly compound sentence that contains the other as a component.
  • A sentence is compound if it logically contains another sentence as a component.

  • All negated sentences are compound sentences.

Example:

John is not happy.

  • It has a simple component "John is happy", since it can be paraphrased into "It is not the case that John is happy."

Sentential Operators

  • Sentential logic is concerned with the way in which simple sentences are combined by means of sentential operators into more complex sentences.
  • A sentential operator is an expression containing blanks such that when the blanks are filled with complete sentences, the result is a sentence.

John believes that _____ .

John knows that _____ .

John hopes that _____ .

John heard that _____ .

It is possible that _____ .

It is necessary that _____ .

It is likely that _____ .

It is not true that _____ .

Either _____ or _____ .

Neither _____ nor _____ .

_____ and _____ .

If _____, then _____ .

_____ if and only if _____ .

_____ unless _____ .

_____ after _____ .

_____ only if _____ .

_____ because _____ .

the dot

(_____ ? _____) "_____ and _____"

the wedge

(_____ V _____) "_____ or _____"

the horseshoe

(_____ ? _____) "if _____ then _____"

the triple bar

(_____ _____) "_____ if and only if _____"

the tilde

~_____ "not _____"

  • Any declarative sentence may be inserted into the blank spaces.

Structure of Sentential Logic

the "and" sentence

  • which is symbolized as (p ? q), where p and q are variables representing arbitrary sentences, is called a conjunction, and its two major components are called conjuncts.

the "or" sentence

  • which is symbolized as (p v q), where p and q are variables representing arbitrary sentences, is called a disjunction, and its two major components are called disjuncts.

the "if-then" sentence

  • which is symbolized as (p ? q), where p and q are variables representing arbitrary sentences, is called a conditional, and the part to the left of the horseshoe is called antecedent (what comes before), and the part to the right of the horseshoe is called the consequent (what comes after).

the "not" sentence

  • which is symbolized as (~p ), where p is a variable representing an arbitrary sentence, is called a negation.

the "if-and-only-if" sentence

  • which is symbolized as (p q), where p and q are variables representing arbitrary sentences, is called a conditional.

Truth Values for Operators

  • Determining the truth value of a compound sentence, given the truth values of its components, requires knowing the rules of computation for each of the sentential operators.

Presuppositions:

  • Sentences must have a truth value
  • The truth value must be either true (1) or false (0) (no such thing as almost true, nearly false, etc.)
  • Truth values of simple sentences are independent of each other

"and"

  • A conjunction will be true only if both conjuncts are true; if one or both of the conjuncts is false then the conjunction is also false.

"or"

  • A disjunction will be false only if both disjuncts are false; if one or both of the disjuncts is true then the disjunction is also true.

"if-and-only-if"

  • A biconditional will be true only if the truth values of its components are the same; if the truth values of its components are different then the biconditional is false.

"not"

  • The negation of a sentence will have the truth value that is opposite of that sentence.

"if-then"

  • A conditional will be false only if its antecedent is true and its consequent is false; it will be true whenever the antecedent is false or  whenever the consequent is true.

Computing Truth Values

  • What is the truth value of (A ? ~B) ?C, given that A and B are TRUE and C is FALSE?

  • What is the truth value of (A ? Z ) ? (~B ?~ Y), given that A, B are TRUE and Y, Z are FALSE?

Boolean Logic:

 

  • Boolean algebra is an algebra for which the axiom "x1 x2 = x" holds.
  • Processing of information in digital computers is based on Boolean logic.

Boolean Operators:

· NOT

· AND

· OR

· XOR (Exclusive OR)

· NAND (Not AND)

· NOR (Not OR)

NOT: ?, ¬A            (Prepositional logic equivalent is ~A)

A

?

0

1

1

0

AND: A ? B            (Prepositional logic equivalent is A • B)

A

B

A ? B

0

0

0

0

1

0

1

0

0

1

1

1

OR: A ? B               (Prepositional equivalent is p ? q)

A

B

A ? B

0

0

0

0

1

1

1

0

1

1

1

1

XOR: , A # B

A

B

0

0

0

0

1

1

1

0

1

1

1

0

NAND: ,

A

B

0

0

1

0

1

1

1

0

1

1

1

0

NOR:

A

B

0

0

1

0

1

0

1

0

0

1

1

0

Classical Set Theory:

  • Set: A well-defined unordered collection of elements or objects.
  • In sets order and redundancy are irrelevant (the following mean the same):
      • {1, 2, 3, 4, 5}
      • {3, 1, 4, 2, 5}
      • {1, 1, 1, 2, 2, 3, 4, 4, 4, 5}

  • N à Set of natural numbers.
      • N = {0, 1, 2, 3…} à There are infinitely many elements in this set.
  • = Set of integers.
      • {…-3, -2, -1, 0, 1, 2, 3…}
  • Empty set is the set is the set with zero elements.
      • { } or 

· A = {1, 2, 3}

o Is { } a subset of A?

§ YES

· The empty set is a subset of all sets.

· The empty set is a proper subset of all sets except itself.

· Every set is a subset of itself.

· Power Set: Power set of A is consisted of all subsets of A.

o Ex. A = {1, 2}

§ Subsets of A = { }, {1}, {2}, {1,2}

· Power ser of A = {{ }, {1}, {2}, {1,2}}

o Ex. B = {1, 2, 3}

§ Subsets of B = { }, {1}, {2}, {3}, {1, 2}, {1,3}, {2, 3}, {1, 2, 3}

· Power set of B = {{ }, {1}, {2}, {3}, {1, 2}, {1,3}, {2, 3}, {1, 2, 3}}

· A set with n elements will have 2n subsets.

· Explicitly:

o D = {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday}

o A = {1, 2, 3, 4, 5}

o B = {a, b, c, d, e, f, g}

· Implicitly:

o N = {1, 2, 3, 4, 5…}

o B = {0, ½, 1, 3/2, 2, 5/2…}

o = {…,-4, -3, -2, -1, 0, 1, 2, 3, 4,…}

· Define the elements of a set:

o D = {x | x is a day of the week}

§ x = variable, | = "such that"

o M = {x | x is a month of the year}

o N = {x | x is a natural number}

o = {x | x is an integer}

§ Ex. A = {x | x is a non-negative integer that is divisible by 3 and x is smaller than 20.

· A = {0, 3, 6, 9, 12, 15, 18}

§ Ex. B = {x | x is a prime number}

· B = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31…}

§ Ex. C = {x | x is a member of Fibonacci series}

· C = {1, 2, 3, 5, 8, 13, 21, 34, 55…}

§ Ex. E = {1, 2, 3, 4, 5, 6}

· F = {x | x is an element of E and x is an odd number}

o F = {1, 3, 5}

· Set Operations:

o Universal set is the set that contains all of the possible elements within a given context.

Numbering Systems:

  • Order of magnitude is the class or scale of any amount.
    • Ex. 10
      • 102 à order of magnitude is 2.
      • 104 à order of magnitude is 4.
      • 10-3 à order of magnitude is -3.
      • 10 à order of magnitude is 1.
      • 1 à order of magnitude is 0. ** (same as 100)
  • Order of magnitude allows us to compare numbers approximately.

Measures of Central Tendency:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

C Programming:

 

 

 

Ex.

#include <stdio.h>
 
int main(void)
{
        int grade;
        printf("Please enter your test grade >");
        scanf("%d", &grade);
        if (grade > 85)
               printf("\nYou will get an A in this class\n");
        return 0;
}

Ex.

#include <stdio.h>
 
int main(void)
{
        int x, y;
        printf("Please enter the first integer >");
        scanf("%d", &x);
        printf("\n");
        printf("Please enter the second integer >");
        scanf("%d", &y);
        printf("\n");
        
        if (x > y)
               printf("the first integer is greater than the second integer");
        if (x < y )
               printf("the first integer is less than the second integer");
        if (x == y)
               printf("the first integer is equal to the second integer");
        return 0;
}

Ex.

#include <stdio.h>
 
int main(void)
{
        int x, y;
        printf("Please enter the first integer >");
        scanf("%d", &x);
        printf("\n");
        printf("Please enter the second integer >");
        scanf("%d", &y);
        printf("\n");
        
        if (x > y)
               printf("the first integer is greater than the second integer");
        else if (x < y )
               printf("the first integer is less than the second integer");
        else 
               printf("the first integer is equal to the second integer");
        return 0;
}

Ex.

#include <stdio.h>
 
int main(void)
{
        int score;
        printf("Please enter your overall score >");
        scanf("%d", &score);
        
        if ((score < 0) || (score > 100))
               printf("You have entered an invalid score");
        else if ((score >= 90) && (score <= 100))
               printf("\nYou will get an A\n");
        else if (score >= 80)
               printf("\nYou will get a B\n");
        else if (score >= 70)
               printf("\nYou will get a C\n");
        else if (score >= 60)
               printf("\nYou will get a D\n");
        else 
               printf("\nYou will get an F\n");
        return 0;
}

Ex.

#include <stdio.h>
 
int main(void)
{
        int x, y, z, maximum;
        printf("Please enter the first integer >");
        scanf("%d", &x);
        printf("\n");
        printf("Please enter the second integer >");
        scanf("%d", &y);
        printf("\n");
        printf("Please enter the third integer >");
        scanf("%d", &z);
        printf("\n");
        
        if (x >= y)
               maximum = x;
        else 
               maximum = y;
        if (z > maximum)
               maximum = z;
        printf("The maximum of these three numbers is %d", maximum);
        return 0;
}

Ex.

int main(void)
{
        int x, y, z;
        printf("Please enter the first integer >");
        scanf("%d", &x);
        printf("\n");
        printf("Please enter the second integer >");
        scanf("%d", &y);
        printf("\n");
        printf("Please enter the third integer >");
        scanf("%d", &z);
        printf("\n");
        
        if (x >= y)
               if (x >= z) {
                       printf("The maximum of these three numbers is %d\n", x);
                       printf("The first number you entered was the bigget number");
                       }
               
               else printf("The maximum of these three numbers is %d", z);
        else 
               if (y >=z)
                       printf("The maximum of these three numbers is %d", y);
               else printf("The maximum of these three numbers is %d", z);
        return 0;

}

Ex.

#include <stdio.h>
 
int main(void)
{
        int grade;
        printf("Please enter your test grade >");
        scanf("%d", &grade);
        if (grade > 85) {
               printf("\nYou will get an A in this class");
               printf("\nCongratulations! You did very well");
        }
        return 0;
}

Ex.

#include <stdio.h>
 
int main(void)
{
        float x, y, result;
        printf("Please enter the number >");
        scanf("%f", &x);
        printf("\n");
        printf("Please enter the number >");
        scanf("%f", &y);
        printf("\n");
        
        if (y != 0.0){ 
               result = x / y;
               printf("The result is %.2f", result);
        }
        else printf("Error: Division by zero");
        
        return 0;
}

REVIEW OF C PROGRAMMING:

Variables

A variable is a language object that can take different values, one at a time. Creating a

variable in a program is called "declaration". All variables must be declared prior to use.

Initializing or changing the value associated with a variable is called "assignment" ("=").

Obtaining the value associated with a variable is often called "dereferencing"

Variable Names

Made up of letters and digits

The first character must be a letter

The underscore, "_", counts as a letter

Try not to begin variable names with underscore, since they are often used in

library routines

C is case sensitive, i.e. uppercase and lowercase letters are distinct. Num and num

are two distinct variable names.

Traditionally: lowercase for variable names and uppercase for symbolic constants

Data Types and Sizes

char A single byte (8 bits), capable of holding one character in the local

character set

int an integer, typically reflecting the natural size of integers on the

host machine

float single-precision floating point

double double-precision floating point

Constants

#define MAXNUM 100

#define ITER 30

Note: Constants cannot be assigned values after they have been defined (i.e. their

values cannot be changed)

Declarations

int num1, num2, sum;

char a;

double result;

int num1;

int num2;

int sum;

int i=0;

int limit = MAXNUM + 1;

char last = ‘z’; char z = last;

const double e = 2.71828182845905;

const int maxnum = 100;

Arithmetic Operators

The binary arithmetic operators are:

+: Addition x + y

-: Subtraction x – y

*: Multiplication x * y

/: Division x / y

%: Modulus (Remainder) x % y

Note: Integer division truncates any fractional part

Standard Input and Output functions

printf

printf("Hello, world\n");

...

printf("Sum of %d and %d is: %d\n", num1, num2, sum);

printf("The quotient when %d is divided by %d is: %f",

num1, num2, quo);

%d print as a decimal integer

%4d print as decimal inter, at least 4 characters wide

%f print as a floating point

%6f print as a floating point, at least 6 characters wide

%.2f print as a floating point, 2 characters after decimal point

%6.2f print as a floating point, at least 6 characters wide and 2 characters

after decimal point

%c print as a single character

%s print as a string

scanf

%d read as a decimal integer

%f read as a floating point

%c read as a single character

%s read as a string

Escape sequences

\n Newline. Position the cursor at the beginning of the next line

\t Horizontal tab. Move the cursor to the next tab stop.

\a Alert. Sound the system bell.

\\ Backslash. Insert a backslash character in a string.

\" Double quote. Insert a double quote character in a string.

Share
 



Login Form
Who's Online
We have 28 guests and 9 members online
Follow Us
  • Facebook Page: 120863957978522
  • Stumble Upon: studentsagain
  • Twitter: studentsagain