LECTURER: MAX MUSTERMANN
INTRODUCTION TO COMPUTER SCIENCE
INTRODUCTORY ROUND
Who are you?
- Name
- Employer
- Position/responsibilities
- Fun Fact
- Previous knowledge? Expectations?
INTRODUCTION TO COMPUTER SCIENCE
TOPIC OUTLINE
Basic Concepts of Data Processing 1
Information Representation 2
Algorithms and Data Structures 3
Propositional Logic, Boolean Algebra and Circuit Design 4
Hardware and Computer Architectures 5
INTRODUCTION TO COMPUTER SCIENCE
TOPIC OUTLINE
Networks and the Internet 6
Software 7
Computer Science as a Discipline 8
10
UNIT 1
BASIC CONCEPTS OF DATA PROCESSING
STUDY GOALS
- Understand the concepts of data, information, and
computer messaging.
- Learn about the difference between hardware, firmware,
and software.
- Know the basics of binary and data interpretation.
- Understand what syntax and semantics refer to in
programming languages.
- Know the history of computers and data processing.
EXPLAIN SIMPLY
1. What is the syntax of a language?
2. What is the concept of a message?
3. Why do computers need an operating system?
BASIC CONCEPTS OF DATA PROCESSING
Data, Software,
Languages, Historical
information, firmware,
syntax, and overview of
and and
semantics computers
messages hardware
WHAT IS THE DIFFERENCE BETWEEN DATA AND INFORMATION?
- Data in its most basic, standalone digital format does not provide
information.
- When combined with other data or manipulated in some way, the
organization derives value from it.
- Information is data with a context.
Ü Information then leads to knowledge. i
DIFFERENT TYPES OF DATA
Data processed by software solutions can be:
human- machine-
generated generated
Although it is ultimately the responsibility of machines to generate the
processed results.
Human-generated data is the result of human interaction with systems, such
as online services and digital devices.
ANALOG VS. DIGITAL DATA
- Analog data is temporally continuous. In analog Analog Signal
Amplitude
technology, raw data is transformed into electric
pulses of varying amplitude.
- Digital data is temporally discrete. In digital
technology, analog data is transformed into binary
representations. t
- The conversion of analog data to digital data is called
digitization.* A/D Converter
- Analog signals are sampled rapidly over time, storing
Value
the value of the amplitude a binary number.
* Digitalization ≠ Digitization
Digitalization which refers to the operational application of digital technologies and
t
digital transformation, the strategic approach. Digital Signal
MESSAGES VS. EVENTS VS. COMMANDS
Communication is key for a distributed environment and software services.
One of the most popular ways of communication is messaging.
There are 3 basic concepts:
- messages
- events
- commands
MESSAGES
– Message brokers deal with messages.
– Messages are the basic unit of communication and can literally be
anything: an ID, a string, an object, a command, an event or whatever.
– Messages have no special intent.
MESSAGE
or
ID A string An object A command An event
whatever….
EVENTS
- An event is a message which informs various listeners about
something which has happened.
- It is sent by a producer that doesn’t know and doesn’t care about the
consumers of the event. Example:
A typical example would be an online shop.
CONSUMER I Whenever an order is placed, the shop would
te n publish an OrderSubmittedEvent to inform
lis
other systems (e.g., the logistics system)
PRODUCER EVENT CONSUMER II about the new order.
l i st However, the shop doesn’t care – or even
send en
know – about the consumers.
CONSUMER …
If the logistics system isn’t interested in the
events anymore, it just unsubscribes from the
list of consumers.
COMMANDS
- A command on the order side is much more specific.
- It’s a one-to-one connection between a producer (who sends the
command) and a consumer (who takes and executes the command).
Example:
In case of an online shop, one such
PRODUCER COMMAND CONSUMER I
example could be the
send listen
BillCustomerCommand.
After an order is placed, the online
shop sends this command to the
billing system to trigger the invoice.
THE INTENT
- The difference between messages, events and commands lies in their
intent.
- While messages have no special intent at all, events inform about
something which has happened and is already completed (in the past).
- Commands trigger something which should happen (in the future).
BASIC CONCEPTS OF DATA PROCESSING
Data, Software,
Languages, Historical
information, firmware,
syntax, and overview of
and and
semantics computers
messages hardware
SOFTWARE
- Instructions that tell a computer what to do.
- Software comprises the entire set of programs,
procedures and routines associated with the
operation of a computer system.
- The term was coined to differentiate these
instructions from hardware—i.e., the physical
components of a computer system.
- A set of instructions that directs a computer’s
hardware to perform a task is called a program or
software program.
Photo: Markus Spiske on Unsplash
HARDWARE
- computer machinery and equipment, including
memory, cabling, power supply, peripheral devices, and
circuit boards
- Computer operation requires hardware and software.
- Hardware design specifies a computer’s capability;
software instructs the computer on what to do.
- The advent of microprocessors in the late 1970s led to
much smaller hardware assemblies and accelerated
proliferation of computers.
- Modern personal computers are as powerful as early
mainframes, while mainframes are smaller and have
vastly more computing power than early models.
Photo: Niclas Illg on Unsplash
FIRMWARE
- Firmware is a specific class of computer software
that provides the low-level control for a device's
specific hardware.
- Firmware can either provide a standardized
operating environment for more complex device
software (allowing more hardware-independence), or,
for less complex devices, act as the device's complete
operating system, performing all control, monitoring
and data manipulation functions.
- Typical examples of devices containing firmware are
embedded systems, consumer appliances, computers,
computer peripherals, and others.
- Almost all electronic devices beyond the simplest
contain some firmware.
Photo: Denny Müller on Unsplash
GETTING IT STARTED (BOOTSTRAPPING)
Bootstrap: Program in ROM (example of firmware)
- run by the CPU when power is turned on
- transfers operating system from mass storage to main memory
- executes jump to operating system
MAIN MEMORY MAIN MEMORY
Bootstrap DISK STORAGE Bootstrap DISK STORAGE
ROM program
ROM program
Volatile Volatile Operating
memory memory system
Operating Operating
system system
Step 1: Machine starts by executing the bootstrap Step 2: Bootstrap program directs the transfer of
program already in memory . Operating system is the operating system into main memory and then
stored in mass storage. transfers control to it
Source of the text: Brookshea, 2011, p. 121.
BOOT UP PROCESS
When a computer
is turned on, the
microprocessor
has no idea what The whole process
to do next. is hidden because
The instruction This process is
BIOS provides the only thing
As there is nothing typically located at known as booting,
those instructions, displayed by the
at all in the memory location or booting up, monitor is the logo
memory to and it is stored in a FFFF0h, or right at which is short for of the machine
execute, it tries to BIOS ROM. the end of the bootstrapping. manufacturer or
execute its first system memory.
the logo of the
instruction and it BIOS company.
has to get the
instruction from
somewhere.
FUNCTIONS OF OPERATING SYSTEMS
Oversee
operation
of
computer
Store and
retrieve
files
Schedule
programs
Coordinate for
the execution
execution
of
programs
BASIC CONCEPTS OF DATA PROCESSING
Data, Software,
Languages, Historical
information, firmware,
syntax, and overview of
and and
semantics computers
messages hardware
FORMAL DEFINITION OF PROGRAMMING LANGUAGES
SYNTAX SEMANTICS
The semantics of a programming
language are usually informally
The syntax of a programming defined by human languages. It can
language is usually formally defined be partially defined in a formal
by context-free grammars. language using operational
semantics, denotational semantics,
or axiomatic semantics.
SYNTAX
An if-statement consists of the word “if” followed by an expression inside
parentheses, followed by a statement, followed by an optional else part
consisting of the word “else” and another statement.
if (expression) statement else statement
Picture: Scratch is a project of the Scratch Foundation, in collaboration with the Lifelong Kindergarten Group at the MIT Media Lab. It is available for free at https://scratch.mit.edu
SEMANTICS
An if-statement is executed by
First evaluating its expression, which must have arithmetic or pointer
type, including all side effects, and
If it compares unequal to 0, the statement following the expression is
executed.
If there is an else part, and the expression is 0, the statement following
the “else” is executed.
BASIC CONCEPTS OF DATA PROCESSING
Data, Software,
Languages, Historical
information, firmware,
syntax, and overview of
and and
semantics computers
messages hardware
ERAS OF COMPUTING
GRAPHICAL
BEHEMOTS - the dawn of the
- huge machines used graphical user
mostly by interface and digital
governments imagery
- 1940s to 1960s - 1980s to 2000s
BUSINESS PORTABLE
- computers used by - miniaturization of
individuals in computers; laptops,
business tablets,
- 1960s to 1980s smartphones
- 2000s until today
USER INTERFACE EVOLUTION MAP
1962 1978 1991 1997 2004 2012
1964 1983 1995 2003 2011
WEB 2.0
GRAPHICAL USER INTERFACES (GUI)
In 1981 Xerox introduced a pioneering product, Star, a workstation incorporating
many of PARC's innovations. Although not commercially successful, Star greatly
influenced future developments, for example at Apple, Microsoft and Sun Microsystems.
Apple Macintosh, 1984
Apple Lisa, 1983
Sun, 1988
Microsoft Windows 1.0, 1986
Xerox Smalltalk on Star
Pictures: Wikimedia Commons, CC-BY and Public Domain
STUDY GOALS REVIEW
- Understand the concepts of data, information, and
computer messaging.
- Learn about the difference between hardware, firmware,
and software.
- Know the basics of binary and data interpretation.
- Understand what syntax and semantics refer to in
programming languages.
- Know the history of computers and data processing.
Session 1
TRANSFER TASK
TRANSFER TASK
Joseph Weizenbaum
1966
- (1923–2008)
- was a German-American
computer scientist as well as a
science and society critic.
- Weizenbaum called himself a
dissident and heretic of
computer science.
Photo: https://www.masswerk.at/eliza/
TRANSFER TASK
Exploring the past
1. We use ELIZA
- Go to https://www.masswerk.at/eliza/
- Try it out
- Explain the idea of Eliza
- Briefly describe your experience
Photo: https://www.masswerk.at/eliza/
TRANSFER TASK
PRESENTATION OF THE RESULTS
Please present your
results.
The results will be
discussed in
plenary.
Session 1
TRANSFER TASK
TRANSFER TASK
2. Use a historic graphical user interface on an Apple McIntosh
Emulator
- Go to http://jamesfriend.com.au/pce-js/
- Try it out
- Draw a picture with the painting software installed on the computer
- Write a small text
- Create screenshots to document what you have done
- Briefly describe your experience
TRANSFER TASK
PRESENTATION OF THE RESULTS
Please present your
results.
The results will be
discussed in
plenary.
Session 1
TRANSFER TASK
TRANSFER TASK
3. Find out what the major differences between graphical user
interface (GUI) and command-line interface (CLI) are.
Have a look at the following aspects:
- Ease of use
- Multitasking
- Remote access
- Scripting
- Speed
- Control
TRANSFER TASK
PRESENTATION OF THE RESULTS
Please present your
results.
The results will be
discussed in
plenary.
LEARNING CONTROL
1. All digital data stored on the computer is saved as:
a) binary
b) analog
c) hexadecimal
d) decimal
LEARNING CONTROL
2. What is the “brain” of the computer, which controls
other hardware?
a) RAM
b) CPU
c) hard drive
d) motherboard
LEARNING CONTROL
3. Alan, a senior programmer, has written an
application to calculate the maximum amount of
inventory for warehouse number 1. Instead, it
perfectly calculates the average inventory for
warehouse 1. What kind of problem does Alan have?
a) variable
b) syntax
c) semantic
d) network
LEARNING CONTROL
4. Firmware is usually stored:
a) on a computer chip
b) on the hard drive
c) in system RAM
d) in VRAM
LEARNING CONTROL
5. Before flat screen monitors existed, computer users
viewed data on a:
a) CRT
b) “trak” table
c) magnetic medium
d) wall projector
LIST OF SOURCES
Brookshear, G. & Bylow, D. (2011). Computer science: An overview (11th ed.). Pearson.
Dale, N. & Lewis, J. (2020). Computer science illuminated (7th ed.). Jones & Bartlett Learning.
Downey, A. B. & Mayfield, C. (2020). Think Java: How to think like a computer scientist. O'Reilly.
Filho, W. F. (2018). Computer science distilled: Learn the art of solving computational problems. Code Energy LLC.
Petzold, C. (2000). Code: The hidden language of computer hardware and software. Microsoft Press.
Weizenbaum, J. (1966). ELIZA—a computer program for the study of natural language communication between man and machine. Communications of the ACM 9 (1), 36-45. https://doi.org/10.1145/365153.365168
Whitington, J. (2016). A machine made this book: Ten sketches of computer science. Coherent Press.