Table of contents
During the course, first we consider the digital computer as a black box, and then we will gradually go into detail about its internal workings. Finally, we shall see the computer as a white box, getting a clear picture of the fundamental aspects of how the computer works.
In order to achieve our goals, we shall discuss, among others, the following topics:
- Introduction to computers. The computer as an information processing machine (black box model, data vs. information etc.). Basic IT concepts.⇒
- digital computers
- computer systems; computer achitecture
- computer hardware
- early computers; electronic computers
- computer software
- computer applications
- Number systems, conversion rules and algorithms (through examples and computer programs). The concept and basic characteristics of algorithms, and ways of how we can express them.⇒
- number or numeral systems; positional notation
- decimal, binary and hexadecimal notation
- conversion algorithms
- Using programs to describe algorithms. Elements of a high level programming language. Description of the presented algorithms using short programs.⇒
- variables, data types, operators, assignment statements; complex data types (e.g. strings, arrays etc.)
- basic program structures (sequences, selections, iterations or loops) and their corresponding flowcharts
- Data representation, formats, operations and related algorithms (numerical, character, logical or Boolean types, etc.).⇒
- binary representation of unsigned integers
- two's complement representation of integers
- floating-point notation of real numbers
Click here to test your skills in performing the various conversion and data representation algorithms.You can use an online JavaScript interpreter to try the JS example programs presented in the material:
Online JavaScript Interpreter by Peter Jipsen, Chapman University (January 2013).
http://math.chapman.edu/~jipsen/js/ (2020-11-19)Note: If the link above does not work for some reason, please use the link here.
The flowchart of JavaScript programs can be displayed using the following web application:
Live code editor. Created by Bogdan Lyashenko.
https://bogdan-lyashenko.github.io/js-code-to-svg-flowchart/docs/live-editor/index.html (2022-10-02)Important note: the flowchart does not represent the 'for' loop correctly, so it is worth rewriting 'for' loops into 'while' loops before displaying the flowchart of the program.
Logic circuits representing various logical functions can be easily designed using the following web applications:
Logic Gate Simulator | Academo.org – Free, interactive, education.
https://academo.org/demos/logic-gate-simulator/ (2022-11-19)simulator.io - Build and simulate logic circuits.
https://simulator.io/ (2022-11-19)
Exercises
- implementing conversion and data representation algorithms⇒
- creating truth tables manually⇒ and with simple JavaScript programs⇒
- proving logical laws or tautologies (e.g. distributivity, absorption, de Morgan laws etc.⇒) by creating truth tables
- using logical laws or tautologies for transforming given logical expressions into equivalent ones
- creating the disjunctive formal form (DNF) of logical functions given by truth tables⇒
- creating and testing logic circuits from logic gates⇒ in order to implement a given logical expression⇒
Click here to test your skills in practising the above exercises.
References:
Computer. Wikipedia. (2022-09-04)
...
(further entries from Wikipedia)
...
Illingworth, Valerie – Pyle, Ian 1996. A Dictionary of Computing. Oxford – New York etc.: Oxford University Press.