540 likes | 677 Views
EE1301: Intro. to Computer Science. Browsing the “ World Wide Web ” with Microsoft Explorer ™ File management Microsoft XP Operating System™ Writing documents with Microsoft Word ™ Preparing presentations with Microsoft Powerpoint ™ Operating on spreadsheets with Microsoft Excel ™
E N D
EE1301: Intro. to Computer Science • Browsing the “World Wide Web”with Microsoft Explorer™ • File management Microsoft XP Operating System™ • Writing documents with Microsoft Word™ • Preparing presentations with Microsoft Powerpoint™ • Operating on spreadsheets with Microsoft Excel™ • Reading and composing electronic mail,“e-mail,” with Microsoft Outlook™ The students will learn the fundamentals of computer science including:
CIS 106: Intro. to Computer Science EE1301: Intro. to Computer Science at Pasadena City College
EE1301: Intro. to Computer Science Computer Systems Computer Engineering
EE1301: Intro. to Computing Systems The course will introduce the fundamental concepts of computing systems from the machine level to high-level language programming, including: • transistors and logic circuits • binary arithmetic and data representation • memory and pointer addressing • data types and structures • Assembly Language • C programming
Vertical Slice of Computer Engineering • Quantum Physics (what’s an atom?) • Material Science (why does doped silicon behave as a semiconductor?) • Device Physics (how does a transistor work?) • Circuits(how do we put transistors together to get simple logic functions?) • Logic Design (how do we get complicated logic functions from simpler ones?) • Computer Architecture (how do we build a computer from logic functions?) • Assembly Programming (how do we specify tasks in the form of instructions for the computer?) • High-Level Programming (how do we specify tasks in a form that can be translated into instructions for the computer?)
Vertical Slice of Computer Engineering • Quantum Physics (what’s an atom?) • Material Science (why does doped silicon behave as a semiconductor?) • Device Physics (how does a transistor work?) • Circuits(how do we put transistors together to get simple logic functions?) • Logic Design (how do we get complicated logic functions from simpler ones?) • Computer Architecture (how do we build a computer from logic functions?) • Assembly Programming (how do we specify tasks in the form of instructions for the computer?) • High-Level Programming (how do we specify tasks in a form that can be translated into instructions for the computer?) EE1301 CS 1901 & CS1902
No Hamsters, No Magic Any sufficiently advanced technology is indistinguishable from magic. – Arthur C. Clarke
Examples of Computing Systems Are all these systems “equivalent”?
Examples of Computing Systems Are all these systems “ Turing Equivalent”?
Concepts vs. Jargon “Now this end is called the thagomizer, after the late Thag Simmons.”
Turing Equivalence “It can be shown that a single special machine of that type can be made to do the work of all. It could in fact be made to work as a model of any other machine. The special machine may be called the universal machine.” – Alan Turing,1947 “The problems solvable by a universal Turing machine are exactly those problems solvable by an algorithm or an effective method of computation, for any reasonable definition of those terms. .” – Church-TuringThesis
Turing Universal Systems • Machine that can execute any C program. main(){ for(;;){ printf("Hello World!\n"); } }
Turing Universal Systems • Machine that can execute any Assembly program.
outputs inputs combinational circuit memory elements clock Turing Universal Systems • Synchronous Digital System
Building Digital Circuits Intel 4004(1971) ~2000 gates Intel “Nehalem”(2008) ~2 billion gates
Boxes inside Boxes [inside boxes…] 2000 transistors(Intel 4004, 1971) 800 million transistors(Intel Penryn, 2007) 1 transistor (1960’s)
From Chips to Computers IBM’s Blue Gene: 64,000 Processors
The Computational Landscape “There are known ‘knowns’; and there are unknown ‘unknowns’; but today I’ll speak of the known ‘unknowns’.” – Donald Rumsfeld, 2002 • Abutting true physical limits. • Cost and complexity are starting to overwhelm. Semiconductors:exponentially smaller, faster, cheaper – forever?
circuit Integrated Circuits inputs outputs 0 1 1 0 1 1 0 0 0 1 • What do integrated circuits do? • accept zeros and ones as inputs; • produce zeros and ones as outputs.
circuit Integrated Circuits inputs outputs 0 1 1 0 1 1 0 0 0 1 • Why do we want this? • zeros and ones represent information; • circuit performs computation.
circuit Integrated Circuits inputs outputs 0 1 1 0 1 1 0 0 0 1 • How do we build (design) such circuits? • hierarchically, from components.
All (or mostly) About “Bits” 0 1 one zero true false on off closed open asserted not asserted set not set … …
x1 x2 x3 f mvariables 2mrows 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 1 Truth Tables Example 2 variables 4 rows 3variables 8 rows 64variables 264rows
One made-up fact… [well, an abstraction really…] A Logic Gate
0 0 0 1 1 0 1 1 Logic Gates Common Gate: “AND” gate 0 0 0 1
Logic Gates Common Gate: “OR” gate 0 0 0 0 1 1 1 0 1 1 1 1
Logic Gates Common Gate: “NAND” gate 0 0 1 0 1 1 1 0 1 1 1 0
Logic Gates Common Gate: “NOR” gate 0 0 1 0 1 0 1 0 0 1 1 0
Logic Gates Common Gate: “XOR” gate 0 0 0 0 1 1 1 0 1 1 1 0
w x 1 1 w x 2 2 w ... 0 w x n n Linear Threshold Gates
Linear Threshold Gates Useful Model?
inputs outputs circuit Digital Circuit
inputs outputs circuit gate Digital Circuit
NAND OR AND AND NOR AND Digital Circuit 1 1 0 1 0 0 0 1 0 1 1 1
x3 x1 x2 Data Structures Truth Tables Example x1 x2 x3 f 0 0 0 0 0 0 1 0 0 1 0 0 f 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 1
outputs inputs combinational circuit memory elements clock Sequential Circuits synchronous, finite number of states
Astonishing Hypothesis The Astonishing Part: “A person's mental activities are entirely due to the behavior of nerve cells, glial cells, and the atoms, ions, and molecules that make them up and influence them.” – Francis Crick, 1982 “That the astonishing hypothesis is astonishing.” – Christophe Koch, 1995
Circuit Domains of Expertise • Vision • Language • Abstract Reasoning • Farming • Number Crunching • Mining Data • Iterative Calculations Human
Artificial Life Going from reading genetic codes to writing them. US Patent 20070122826 (pending):“The present invention relates to a minimal set of protein-coding genes which provides the information required for replication of a free-living organism in a rich bacterial culture medium.” – J. Craig Venter Institute
Artificial Life Going from reading genetic codes to writing them. Moderator: “Some people have accused you of playing God.” J. Craig Venter:“Oh no, we’re not playing.
Biochemistry in a Nutshell Nucleotides: DNA: string of n nucleotides (n ≈ 109) ... ACCGTTGAATGACG... Amino acid: coded by a sequence of 3 nucleotides. Proteins: produced from a sequence of m amino acids (m ≈ 103) called a “gene”.
+ 2a c b + Playing by the Rules Biochemical Reactions: how types of molecules combine.
Biochemical Reactions + cell proteins count 9 8 6 5 7 9 Discrete chemical kinetics; spatial homogeneity.
Biochemical Reactions + + + Relative rates or (reaction propensities): slow medium fast Discrete chemical kinetics; spatial homogeneity.
Protein-ProteinChemistry y [computational]Biochemistry Biochemical[computation] x z quantity quantities
Multiplication pseudo-code biochemical code