csce 106 fundamentals of computer science assisting slides the american university in cairo computer...
TRANSCRIPT
![Page 1: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/1.jpg)
CSCE 106Fundamentals of Computer Science
Assisting Slides
The American University in CairoComputer Science and Engineering Department
![Page 2: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/2.jpg)
0-2
Introduction to Computer Systems
![Page 3: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/3.jpg)
0-3
Origins of Computing Machines
• Early computing devices– Abacus: positions of beads represent numbers– Gear-based machines (1600s-1800s)• Positions of gears represent numbers• Blaise Pascal, Wilhelm Leibniz, Charles Babbage
![Page 4: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/4.jpg)
0-4
Figure 0.3 An Abacus
![Page 5: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/5.jpg)
0-5
Early Data Storage
• Punched cards– First used in Jacquard Loom (1801) to store
patterns for weaving cloth– Storage of programs in Babbage’s Analytical Engine– Popular through the 1970’s
• Gear positions
![Page 6: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/6.jpg)
0-6
Early Computers
• Based on mechanical relays– 1940: Stibitz at Bell Laboratories– 1944: Mark I: Howard Aiken and IBM at Harvard
• Based on vacuum tubes– 1937-1941: Atanasoff-Berry at Iowa State– 1940s: Colossus: secret German code-breaker– 1940s: ENIAC: Mauchly & Eckert at U. of Penn.
![Page 7: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/7.jpg)
0-7
Figure 0.4 The Mark I computer
![Page 8: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/8.jpg)
0-8
Personal Computers
– First used by hobbyists– IBM introduced the PC in 1981.• Accepted by business• Became the standard hardware design for most desktop
computers• Most PCs use software from Microsoft
![Page 9: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/9.jpg)
0-9
Terminology
• Hardware: Equipment
• Software: Programs and algorithms
![Page 10: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/10.jpg)
2-10
Computer Architecture
• Central Processing Unit (CPU) or processor– Arithmetic/Logic unit versus Control unit– Registers• General purpose• Special purpose
• Bus• Motherboard
![Page 11: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/11.jpg)
2-11
Figure 2.1 CPU and main memory connected via a bus
![Page 12: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/12.jpg)
1-12
Memory Terminology
• Random Access Memory (RAM): Memory in which individual cells can be easily accessed in any order
• Dynamic Memory (DRAM): RAM composed of volatile memory
![Page 13: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/13.jpg)
1-13
Main Memory Addresses
• Address: A “name” that uniquely identifies one cell in the computer’s main memory– The names are actually numbers.– These numbers are assigned consecutively starting
at zero.– Numbering the cells in this manner associates an
order with the memory cells.
![Page 14: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/14.jpg)
1-14
Bits and Bit Patterns
• Bit: Binary Digit (0 or 1)• Bit Patterns are used to represent information.– Numbers– Text characters– Images– Sound– And others
![Page 15: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/15.jpg)
1-15
Main Memory Cells
• Cell: A unit of main memory (typically 8 bits which is one byte)– Most significant bit: the bit at the left (high-order)
end of the conceptual row of bits in a memory cell– Least significant bit: the bit at the right (low-order)
end of the conceptual row of bits in a memory cell
![Page 16: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/16.jpg)
1-16
Figure 1.7 The organization of a byte-size memory cell
![Page 17: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/17.jpg)
1-17
Figure 1.8 Memory cells arranged by address
![Page 18: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/18.jpg)
1-18
Measuring Memory Capacity
• Kilobyte: 210 bytes = 1024 bytes– Example: 3 KB = 3 times1024 bytes– Sometimes “kibi” rather than “kilo”
• Megabyte: 220 bytes = 1,048,576 bytes– Example: 3 MB = 3 times 1,048,576 bytes– Sometimes “megi” rather than “mega”
• Gigabyte: 230 bytes = 1,073,741,824 bytes– Example: 3 GB = 3 times 1,073,741,824 bytes– Sometimes “gigi” rather than “giga”
![Page 19: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/19.jpg)
1-19
Mass Storage
• On-line versus off-line• Typically larger than main memory• Typically less volatile than main memory• Typically slower than main memory
![Page 20: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/20.jpg)
1-20
Mass Storage Systems
• Magnetic Systems– Disk– Tape
• Optical Systems– CD– DVD
• Flash Drives
![Page 21: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/21.jpg)
1-21
Figure 1.9 A magnetic disk storage system
![Page 22: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/22.jpg)
1-22
Representing Text
• Each character (letter, punctuation, etc.) is assigned a unique bit pattern.– ASCII: Uses patterns of 7-bits to represent most
symbols used in written English text– Unicode: Uses patterns of 16-bits to represent the
major symbols used in languages world side– ISO standard: Uses patterns of 32-bits to represent
most symbols used in languages world wide
![Page 23: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/23.jpg)
1-23
Representing Numeric Values
• Binary notation: Uses bits to represent a number in base two
• Limitations of computer representations of numeric values– Overflow – occurs when a value is too big to be
represented– Truncation – occurs when a value cannot be
represented accurately
![Page 24: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/24.jpg)
1-24
The Binary System
The traditional decimal system is based on powers of ten.
The Binary system is based on powers of two.
![Page 25: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/25.jpg)
1-25
Figure 1.15 The base ten and binary systems
![Page 26: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/26.jpg)
1-26
Figure 1.16 Decoding the binary representation 100101
![Page 27: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/27.jpg)
1-27
Figure 1.17 An algorithm for finding the binary representation of a positive integer
![Page 28: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/28.jpg)
1-28
Figure 1.18 Applying the algorithm in Figure 1.15 to obtain the binary representation of thirteen
![Page 29: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/29.jpg)
1-29
Figure 1.19 The binary addition facts
![Page 30: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/30.jpg)
2-30
Figure 2.2 Adding values stored in memory
![Page 31: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/31.jpg)
2-31
Figure 2.3 Dividing values stored in memory
![Page 32: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/32.jpg)
1-32
Boolean Operations
• Boolean Operation: An operation that manipulates one or more true/false values
• Specific operations– AND– OR– NOT
![Page 33: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/33.jpg)
1-33
Figure 1.1 The Boolean operations AND and OR
![Page 34: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/34.jpg)
2-34
Stored Program Concept
A program can be encoded as bit patterns and stored in main memory. From there, the CPU can then extract the instructions and execute them. In turn, the program to be executed can be altered easily.
![Page 35: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/35.jpg)
0-35
Terminology
• Algorithm: A set of steps that defines how a task is performed
• Program: A representation of an algorithm• Programming: The process of developing a
program
![Page 36: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/36.jpg)
2-36
Low Level LanguageFirst Generation Language
• Machine instruction: An instruction (or command) encoded as a bit pattern recognizable by the CPU
• Machine language: The set of all instructions recognized by a machine
![Page 37: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/37.jpg)
2-37
Machine Instruction Types
• Data Transfer: copy data from one location to another
• Arithmetic/Logic: use existing bit patterns to compute a new bit patterns
• Control: direct the execution of the program
![Page 38: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/38.jpg)
2-38
Program Execution
• Controlled by two special-purpose registers– Program counter: address of next instruction– Instruction register: current instruction
• Machine Cycle– Fetch– Decode– Execute
![Page 39: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/39.jpg)
2-39
Figure 2.8 The machine cycle
![Page 40: CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department](https://reader036.vdocuments.net/reader036/viewer/2022062407/56649e305503460f94b20ff1/html5/thumbnails/40.jpg)
0-40
Ethical Theories
• Consequence based:What leads to the greatest benefit?
• Duty based:What are my intrinsic obligations?
• Contract based:What contracts must I honor?
• Character based:Who do I want to be?