15.08.2013 Views

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

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!