0% found this document useful (0 votes)
47 views

Lecture 1 Introduction

This document provides an introduction to computing systems. It discusses the layers of a computing system including information, hardware, software, programming, operating systems, networks, and applications. It also discusses some limitations of what computers can and cannot do, such as problems that involve non-quantifiable factors or an impractical number of possibilities. The document concludes with an overview of various fields in computer science.

Uploaded by

Omar Reda
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
47 views

Lecture 1 Introduction

This document provides an introduction to computing systems. It discusses the layers of a computing system including information, hardware, software, programming, operating systems, networks, and applications. It also discusses some limitations of what computers can and cannot do, such as problems that involve non-quantifiable factors or an impractical number of possibilities. The document concludes with an overview of various fields in computer science.

Uploaded by

Omar Reda
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

INTRODUCTION TO COMPUTING

CCS1101

LECTURE 1 INTRODUCTION

1
OBJECTIVES

• Learn about computer systems

• Discuss the layers of a computing system

• List Computer Science fields

• Present the course outline and assessment methodology

2
COMPUTING SYSTEMS

• A computing system is a dynamic entity, used to solve problems and


interact with its environment. A computing system is composed of
hardware, software, and the data that they manage.
• Computer hardware is the collection of physical elements that make up
the machine and its related pieces: boxes, circuit boards, chips, wires,
disk drives, keyboards, monitors, printers, and so on.
• Computer software is the collection of programs that provide the
instructions that a computer carries out.
• At the very heart of a computer system is the information that it
manages. Without data, the hardware and software are essentially
useless.
• Note the difference between a computer and a computing system
3
LAYERS OF A COMPUTING SYSTEM
“THE BIG PICTURE”

Layers of a computing system 4


LAYERS OF A COMPUTING SYSTEM

• A computing system is like an onion, made up of many layers. Each


layer plays a specific role in the overall design of the system.
• The innermost layer, information, reflects the way we represent
information on a computer. Information on a computer is managed using
binary digits, 1 and 0.
• Types of information are: numbers, text, images, audio, and video
represented in a binary format.
5
LAYERS OF A COMPUTING SYSTEM

• The next layer, hardware, consists of the physical hardware of a


computer system. Computer hardware includes devices such as gates
and circuits, which control the flow of electricity in fundamental ways.
• Core electronic circuitry gives rise to specialized hardware components
such as the computer’s Central Processing Unit (CPU) and memory

6
LAYERS OF A COMPUTING SYSTEM

• The programming layer deals with software, the instructions used to accomplish
computations and manage data. Programs can take many forms, be performed
at many levels, and be implemented in many languages.

• In computing, a device driver (commonly referred to as a driver) is a computer


program that operates or controls a particular type of device that is attached to a
computer. A driver provides a software interface to hardware devices, enabling
operating systems and other computer programs to access hardware functions
without needing to know precise details of the hardware being used.
7
• Drivers may interface with printers, network cards, image scanners, computer
storage devices
LAYERS OF A COMPUTING SYSTEM

• These previous (inner) layers focus on making a computer system work.


The application layer, on the other hand, focuses on using the computer
to solve specific real-world problems. We run application programs to
make use of the computer’s abilities in other domains, such as helping
us design a building or play a game.
• Every computer has an Operating System (OS) to help manage the
computer’s resources. Operating systems, such as Windows, Linux, or
the Mac OS, help us interact with the computer system and manage the8
way hardware devices, programs, and data interact.
LAYERS OF A COMPUTING SYSTEM

• Computers no longer exist in isolation on


someone’s desktop. We use computer technology
to communicate, and that communication is a
fundamental layer at which computing systems
operate.
• Computers are connected into networks to share
information and resources.
• The Internet evolved into a global network so that
there is almost no place on Earth that you cannot
communicate with via computing technology.
• The World Wide Web makes that communication
relatively easy. It has revolutionized computer use
and made it accessible to the general public. 9
WHAT COMPUTERS CAN’T DO
• Computers have inherent limitations on their ability to represent information,
and they are only as good as their programming makes them. Furthermore,
it turns out that some problems cannot be solved at all

• Problem 1: Choose a college or university to attend


 Would you trust a computer to solve this problem for you?
◦ several factors are involved, many of them hard to quantify.
◦ you don’t expect another person to solve this problem for you, either.
◦ the issue here is not the computer, it’s the nature of the problem.
◦ in order to “compute” the best choice you would need to be
given a precise weight to each factor.

10
WHAT COMPUTERS CAN’T DO

Problem 2: Invite friends over to watch a DVD


It would be nice if our cell phones were more like personal assistants
◦ pick up the phone, say “invite Erica and
Katie over to watch a DVD”
◦ your phone would negotiate with their
phones to pick a time that works
◦ this is the sort of thing humans can do
(“have your people call my people...”)

Unlike the previous problem, this is an example of something humans can


do that machines (so far) cannot
◦ will a future computer be able to solve this problem?

11
WHAT COMPUTERS CAN’T DO

Problem 3: The perfect game of chess


You might think it would be easy for a computer to win a game of chess
The rules of the game are simple, and it’s straightforward to write a program that would
have a computer examine all possible moves
The problem: there are too many moves to consider
◦ there are an estimated 1043 possible games
◦ a supercomputer checking 1012 boards/sec
would need 1021 years to look at them all
So here we have a new type of limitation:
a practical limit
◦ people are no better than machines at
performing this task
◦ grand masters do not consider all
possible moves

12
WHAT COMPUTERS CAN’T DO
Problem 4: Non-computable functions
A famous problem in computer science
is known as “the halting problem”.

The goal: write a program that determines


if another program is stuck
◦ suppose you’re writing a paper and the pointer
changes to the “busy” icon
◦ it is impossible to write a “halt checker” to
see if the word processor has crashed
◦ a new type of limitation: a mathematical barrier
◦ another example where people are no better
than machines at solving the problem
13
RECAP: COMPUTATIONAL LIMITS

• Based on the previous slides, some tasks that computers cannot


perform are also impossible for humans.
• The difficulty is in the nature of the problem, not the person or thing
trying to solve it
• A problem might not be solvable by humans or computers because
• some attributes are not quantifiable (quality of life at a university)
• it is impractical (chess)
• it is impossible (halt checker)
• Problems that humans can solve but computers can’t are often
described in terms of “intelligence”
• natural language processing, planning, design, ...
• an active area of CS research: artificial intelligence (AI) 14
COMPUTER SCIENCE FIELDS

15
16
PROVISIONAL COURSE OUTLINE
Week # Lecture Outline Section Outline

1 Introduction and Course Overview Introduction and Course Overview

2 New Trends in Computer Science Numbering Systems

3 New Trends in Computer Science cont. Numbering Systems


Algorithms and Flowcharts
4 Hardware and Computer Organization
Quiz 1
Computer Software
5 Algorithms and Flowcharts
Putting it all together
6 Algorithm Design and Problem Solving Algorithms and Flowcharts
Algorithms and Flowcharts
7 Flowcharts and Algorithms Part 1
Quiz 2
Flowcharts and Algorithms Part 2 Programming in C
8
Programming Languages (Data types – variables , constants)

Programming in C (Data types – variables , Programming in C


9
constants) (Arithmetic Expressions and Decisions)
Programming in C (Arithmetic Expressions and Programming in C
10
Decisions) (Loops Part 1)
Programming in C (Loops Part 1) Programming in C
11
(Loops Part 2)
Programming in C
Programming in C (Loops Part 2)
12 (Arrays)
Quiz 3
Programming in C (Arrays) Programming in C
13
(Functions)
Programming in C
14 Programming in C (Functions Part 1) (Writing mini project-like programs such as
searching and sorting) 17
Programming in C
15 Programming in C (Functions Part 2)
Submission of a mini C project
16 Final Exam
ASSESSMENT AND TEXTBOOKS
• ASSESSMENT
7th Week Exam Exam (20%) Section Quiz 1 (5%) + Section Quiz 2 (5%)
12th Week Exam Exam (15%) Section Quiz 3 (5%)
Year Work Year Work (10%)
Final Exam Exam (40%)

• TEXT BOOK
• Behrouz, A. Forouzan and De Anza College, “ Foundations of Computer
Science”, 4th Edition, Cengage Learning.
• REFERENCES
• Dale, Nell and John Lewis, “ Computer Science Illuminated”, 7th edition, Jones &
Bartlett Learning.
• Kernighan, B.W. and Ritchie, D.M. “The C Programming Language”, 2nd Edition
Prentice-Hall, Hoboken.
18
COURSE MATERIALS

Below is the google drive link for the course materials:


HTTPS://DRIVE.GOOGLE.COM/DRIVE/FOLDERS/1OPWSMJRH7NCRT4N
G6CCIBHRSM8QC3-C9?USP=SHARING

19
CONTACTS

If you have any further inquiries, Please contact your lecturer, teaching
assistant, or course coordinator: Dr. Yasmine Nagi in Room 405 or by email:
[email protected]

20
SUMMARY AND
DISCUSSION

21

You might also like