Upload
jeffry-jennings
View
225
Download
3
Tags:
Embed Size (px)
Citation preview
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}
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.
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.
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)
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
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
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++
CSCE106 11
Professional Ethics for Computer Programmers
Privacy and misuse of dataComputer hackingPlagiarism and software piracyMisuse of a computer resource
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.
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.
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.
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.