YOU ARE DOWNLOADING DOCUMENT

Please tick the box to continue:

Transcript
Page 1: Brief History of Computers and Computer Languages.

Brief History of Computers and Computer Languages

Page 2: Brief History of Computers and Computer Languages.

CSCE106 2

Outline A brief history of computers {section

1.1} Programming languages {section 1.3} Processing a high-level language program

{section 1.4} Professional ethics for computer

programmers {section 1.7}

Page 3: Brief History of Computers and Computer Languages.

CSCE106 3

Early Computers First computer invented in the late 1930s to perform

mathematical computations. ENIAC, the first large-scale, general purpose

electronic digital computer, which was completed in 1946, used to be programmed by connecting hundreds of wires and arranging thousands of switches in a certain way. (Weighed 30 tons & occupied 9x15m2).

Dr. John Von Neumann, at Princeton University, in the same year proposed the concept of a stored program computer, and he designed a computer based on this idea.

Stored-program computer (Von Neumann architecture) is the basis of today's digital computers.

Page 4: Brief History of Computers and Computer Languages.

CSCE106 4

MicroprocessorMuch smallerMuch more powerful

Figure 1-2 The ENIAC computer (courtesy of U.S. Army Historic Computer Images)

Figure 1-3 A lab technician holds a modern microprocessor (photo courtesy of IntelCorporation)

Early Computers (cont’d)

Source: Gaddis T. Starting Out With Games and Graphics in C++. Addison Wesley, 2010.

Page 5: Brief History of Computers and Computer Languages.

CSCE106 5

Categories of Computers

Microcomputers. Minicomputers. Mainframes. Supercomputers.

Time Sharing (allowing simultaneous

access to a single computer’s resources by a number of users)

Page 6: Brief History of Computers and Computer Languages.

CSCE106 6

Programming Languages Machine Language (low-level language)

“Native tongue” of the computer Binary 0s and 1s that specify what to do

0010 0000 0000 01001000 0000 0000 01010011 0000 0000 0110

Assembly Language: Symbolic encoding of Machine Language:

MVI B, 05HLDA 1234HADD B

High-Level Languages Resemble human language (C++, C, Pascal, Java)

a = a + b;

Ass

emb

ler

Com

pil

er

Page 7: Brief History of Computers and Computer Languages.

CSCE106 7

Editor used to enter the program Source program (file.cpp) UNIX vi text editor

Compiler translates the source program, producing object program (file.obj) Displays syntax errors (not descriptive)

Linker combines object file with other object files Executable program (file.exe)

Loader copies executable instructions to memory, and directs CPU to begin execution with the first instruction.

Processing a High-Level Language Program

Page 8: Brief History of Computers and Computer Languages.

CSCE106 8

Program Processing Diagram (1)

Page 9: Brief History of Computers and Computer Languages.

CSCE106 9

Program Processing Diagram (2)

Page 10: Brief History of Computers and Computer Languages.

CSCE106 10

Processing a High-Level Language Program (cont’d)

An IDE (integrated development environment) is a package that combines a simple editor with a compiler, linker, and loader.

IDEs give the developer menus from which to select steps, and if the developer tries a step that is out of sequence, the IDE simply fills in the missing steps automatically.

IDEs might simply leave the program in memory; therefore, users must remember to save the source file to disk after every modification before attempting to run the program, to avoid loosing it in case something goes wrong.

Examples: C++ Builder, Microsoft Visual C++

Page 11: Brief History of Computers and Computer Languages.

CSCE106 11

Professional Ethics for Computer Programmers

Privacy and misuse of dataComputer hackingPlagiarism and software piracyMisuse of a computer resource

Page 12: Brief History of Computers and Computer Languages.

CSCE106 12

Privacy and Misuse of Data

As part of their jobs, programmers may have access to large data containing sensitive/secret information.

Programmers should not misuse information, just as doctors and lawyers.

Computer theft/fraud is changing financial information, and could lead to fines and imprisonment.

Page 13: Brief History of Computers and Computer Languages.

CSCE106 13

Computer Hacking Computer hackers break into

secure/classified/confidential data banks by using their own computers.

Computer hacking is illegal. Hackers also sometimes attach harmful

code, virus, to another program so that it copies itself to a computer’s disk.

Viruses spread from one infected computer to another by copying files or emails.

Page 14: Brief History of Computers and Computer Languages.

CSCE106 14

Plagiarism and Software Piracy Plagiarism, e.g. modifying another student’s code and

submitting it as your own, is fraudulent. Software piracy is the practice of illegally copying

software. Copying/Using someone else’s programs without

permission could lead to lawsuit. Most commercial software packages are protected by

copyright laws against software piracy. It is important to read the copyright restrictions on each

software package and adhere to them.

Page 15: Brief History of Computers and Computer Languages.

CSCE106 15

Misuse of a Computer Resource As computer technology spreads throughout modern

society, so do the opportunities for its misuse. Computers, computer programs, data and accounts

are like any other property. If they belong to someone else and you are not explicitly given permission to use them, then don’t use them.

Computer access privileges or user account codes are private property which are usually granted for a specific purpose.


Related Documents