General Computer Science 320201 GenCS I & II Lecture ... - Kwarc
General Computer Science 320201 GenCS I & II Lecture ... - Kwarc
General Computer Science 320201 GenCS I & II Lecture ... - Kwarc
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
2.6.3 Logical Systems and Calculi . . . . . . . . . . . . . . . . . . . . . . . . . . . 94<br />
2.6.4 Proof Theory for the Hilbert Calculus . . . . . . . . . . . . . . . . . . . . . 97<br />
2.6.5 A Calculus for Mathtalk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102<br />
2.7 Machine-Oriented Calculi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106<br />
2.7.1 Calculi for Automated Theorem Proving: Analytical Tableaux . . . . . . . 106<br />
Analytical Tableaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106<br />
Practical Enhancements for Tableaux . . . . . . . . . . . . . . . . . . . . . 109<br />
Soundness and Termination of Tableaux . . . . . . . . . . . . . . . . . . . . 111<br />
2.7.2 Resolution for Propositional Logic . . . . . . . . . . . . . . . . . . . . . . . 112<br />
3 How to build <strong>Computer</strong>s and the Internet (in principle) 115<br />
3.1 Combinational Circuits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115<br />
3.1.1 Graphs and Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115<br />
3.1.2 Introduction to Combinatorial Circuits . . . . . . . . . . . . . . . . . . . . . 122<br />
3.1.3 Realizing Complex Gates Efficiently . . . . . . . . . . . . . . . . . . . . . . 124<br />
Balanced Binary Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125<br />
Realizing n-ary Gates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126<br />
3.2 Arithmetic Circuits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130<br />
3.2.1 Basic Arithmetics with Combinational Circuits . . . . . . . . . . . . . . . . 130<br />
Positional Number Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . 130<br />
Adders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132<br />
3.2.2 Arithmetics for Two’s Complement Numbers . . . . . . . . . . . . . . . . . 139<br />
3.2.3 Towards an Algorithmic-Logic Unit . . . . . . . . . . . . . . . . . . . . . . . 145<br />
3.3 Sequential Logic Circuits and Memory Elements . . . . . . . . . . . . . . . . . . . 147<br />
3.3.1 Sequential Logic Circuits . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147<br />
3.3.2 Random Access Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149<br />
3.4 Computing Devices and Programming Languages . . . . . . . . . . . . . . . . . . . 152<br />
3.4.1 How to Build and Program a <strong>Computer</strong> (in Principle) . . . . . . . . . . . . 152<br />
3.4.2 A Stack-based Virtual Machine . . . . . . . . . . . . . . . . . . . . . . . . . 157<br />
A Stack-based Programming Language . . . . . . . . . . . . . . . . . . . . . 158<br />
Building a Virtual Machine . . . . . . . . . . . . . . . . . . . . . . . . . . . 160<br />
3.4.3 A Simple Imperative Language . . . . . . . . . . . . . . . . . . . . . . . . . 164<br />
3.4.4 Basic Functional Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . 169<br />
A Virtual Machine with Procedures . . . . . . . . . . . . . . . . . . . . . . 170<br />
Compiling Basic Functional Programs . . . . . . . . . . . . . . . . . . . . . 180<br />
3.4.5 Turing Machines: A theoretical View on Computation . . . . . . . . . . . . 183<br />
3.5 The Information and Software Architecture of the Internet and World Wide Web . 190<br />
3.5.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190<br />
3.5.2 Internet Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192<br />
3.5.3 Basic Concepts of the World Wide Web . . . . . . . . . . . . . . . . . . . . 200<br />
Addressing on the World Wide Web . . . . . . . . . . . . . . . . . . . . . . 201<br />
Running the World Wide Web . . . . . . . . . . . . . . . . . . . . . . . . . 202<br />
Multimedia Documents on the World Wide Web . . . . . . . . . . . . . . . 205<br />
3.5.4 Web Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207<br />
3.5.5 Introduction to Web Search . . . . . . . . . . . . . . . . . . . . . . . . . . . 212<br />
3.5.6 Security by Encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217<br />
3.5.7 An Overview over XML Technologies . . . . . . . . . . . . . . . . . . . . . . 223<br />
3.5.8 The Semantic Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226<br />
v