COM115 Introduction to Computer Science

Slides:



Advertisements
Similar presentations
Computer Science Department Introduction To Computers and Programming Knowledge: Understand the concepts of computer, hardware, software and programming.
Advertisements

4/23/2015Engineering Problem Solving with C++ second edition, J. ingber 1 Engineering Problem Solving with C++, Etter/Ingber Chapter 1.
Introduction to Computer Programming Nai-Wei Lin Department of Computer Science and Information Engineering National Chung Cheng University.
Chapter 1—Introduction Introduction C H A P T E R 1 [The Analytical Engine offers] a new, a vast, and a powerful language... for the purposes of mankind.
Introduction to Computer Science CS 21a: Introduction to Computing I Department of Information Systems and Computer Science Ateneo de Manila University.
Using Computers CS French Chapter 1.
Chapter Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing Describe.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. slide 1 CS 125 Introduction to Computers and Object- Oriented Programming.
Introduction Extended and Concise Prelude to Programming Concepts and Design Copyright © 2003 Scott/Jones, Inc.. All rights reserved. 1 Introduction.
CSCI 3 Introduction to Computer Science. CSCI 3 Course Description: –An overview of the fundamentals of computer science. Topics covered include number.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
Chapter 0: Introduction
Introduction to Computers. Are Computers Important? OF COURSE!
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
CS102 Introduction to Computer Programming
Chapter 01 Nell Dale & John Lewis.
Computer Organization ANGELITO I. CUNANAN JR. 1. What is Computer?  An electronic device used for storing and processing data.  It is a machine that.
About the Presentations The presentations cover the objectives found in the opening of each chapter All chapter objectives are listed in the beginning.
Chapter 0: Introduction Computer Science: An Overview Eleventh Edition
CS 21a: Intro to Computing I Department of Information Systems and Computer Science Ateneo de Manila University.
BACS 287 Basics of Programming BACS 287.
CSCE 106 Fundamentals of Computer Science Assisting Slides The American University in Cairo Computer Science and Engineering Department.
Wilhelm Schickhard (1623) Astronomer and mathematician Automatically add, subtract, multiply, and divide Blaise Pascal (1642) Mathematician Mass produced.
CS 1410 Intro to Computer Tecnology Computers and History1.
Computer Architecture and Organization Introduction.
Chapter 1 The Big Picture.
CMSC 120: Visualizing Information 1/29/08 Introduction to Computing.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and.
© 2007 Pearson Addison-Wesley. All rights reserved 0-1 Spring(2007) Instructor: Qiong Cheng © 2007 Pearson Addison-Wesley. All rights reserved.
Chapter 1 Introduction. Architecture & Organization 1 Architecture is those attributes visible to the programmer —Instruction set, number of bits used.
Chapter 1 Introduction. Objectives To explain the definition of computer architecture To discuss the history of computers To describe the von-neumann.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Computer Science: An Overview Tenth Edition by J. Glenn Brookshear Chapter.
Chapter 0 Introduction © 2007 Pearson Addison-Wesley. All rights reserved.
Introduction to Computer Science by Kai-Lung Hua Chapter 0: Introduction.
Chapter 1 Introduction.
Computer Architecture And Organization UNIT-II General System Architecture.
Computer Organization & Assembly Language © by DR. M. Amer.
Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Extended Prelude to Programming Concepts & Design, 3/e by Stewart Venit and.
CS 127 Introduction to Computer Science. What is a computer?  “A machine that stores and manipulates information under the control of a changeable program”
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Computer Science: An Overview Tenth Edition by J. Glenn Brookshear Chapter.
Senem KUMOVA METİN // Fall CS 115 Introduction to Programming Introduction to Computing.
Copyright © 2015 Pearson Education, Inc. Chapter 0: Introduction.
Chapter 0 Introduction. © 2005 Pearson Addison-Wesley. All rights reserved 0-2 Chapter 0: Introduction 0.1 The Role of Algorithms 0.2 The Origins of Computing.
C++ Programming: From Problem Analysis to Program Design, Fifth Edition Chapter 1: An Overview of Computers and Programming Languages.
Computer A Computer may be defined as an electronic device that operates upon data. So, a computer can store, process and retrieve data as and when desired.
CHAPTER 1 OVERVIEW OF COMPUTER AND PROGRAMMING 1.1 Electronic Computer Then and Now 1.2 Computer Hardware 1.3 Computer Software 1.4 The Software Development.
Computing Science Computer Structure: Lesson 1: Processor Structure
Java Programming: From the Ground Up
CSCI 161: Introduction to Programming
Chapter 0: Introduction
Chapter 1: An Overview of Computers and Programming Languages
Chapter 1 Introduction.
Computer Organization and Architecture
COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE
An Introduction Length: 23:52
Computer Architecture
About the Presentations
Introduction of microprocessor
CS 21a: Intro to Computing I
C++ Programming: From Problem Analysis to Program Design
UNIV 103 CS Majors Seminar Dr. Blaise W. Liffick Fall 2017.
Chapter 0 Introduction © 2007 Pearson Addison-Wesley.
ECEG-3202 Computer Architecture and Organization
Chapter 0: Introduction
ECEG-3202 Computer Architecture and Organization
Chapter 1 Introduction.
Introduction to Computer Programming
Chapter 0: Introduction
Chapter 0: Introduction
Presentation transcript:

COM115 Introduction to Computer Science Ankara University Department of Computer Engineering

Introduction Computer science, seeks to build scientific foundation for topics as Computer design Computer programming Information processing Algorithmic solutions of problems Algorithmic process itself.

Study of Algorithms (informal) algorithm is a set of steps that defines how a task is performed. Machine-compatible representation of an algorithm is called a program. Etymology: Al-Khwarizmi (Persian astronomer, mathematician), On Calculation with Hindu Numerals. (http://en.wikipedia.org/wiki/Algorithm) Long division, Euclidian for GCD, etc.

Euclidian algorithm One of the oldest algorithms known. Determines the greatest common divisor (GCD) of two elements (e.g. integers) without factoring the elements. Input: A, B (two integers, B A) Output: the GCD of A and B 1. divide A by B, and call the remainder R 2. If R is not 0, then A = B, B = R and repeat 1 else return B as the GCD

Study of Algorithms Once an algorithm for a task is found, performing that task no longer requires understanding, only following directions. In a sense, intelligence required for the task is encoded in the algorithm.

Study of Algorithms Algorithms capturing and conveying intelligence allows us to build machines that display intelligent behaviour. Level of intelligence is limited by what can be conveyed through algorithms. I.e. If no algorithm exists for a task, then a machine cannot perform that task.

A Simple Algorithm First (known) Algorithm by Al-Khowarismi circa AD830 Solution to 1st and 2nd Degree equations AX2 + BX = C Divide B by 2 = D Multiply D by D = E Add E to C = F Find square root of F = G Subtract B/2 from G : this is the result

A Simple Algorithm (2) Example: X2 + 10X = 39 Divide 10 by 2 = 5 Multiply 5 by 5 = 25 Add to 39 = 64 Find square root of 64 = 8 Subtract 5 from 8 : 3 - this is the result See Article by K.Kılan, in TBD Bilişim No 80. www.tbd.org.tr

Implementing Algorithms Algorithms can be carried out by people ... (verbal/written instructions) Or by machines (alarm clock) ... (mechanical instructions) Or by computers ... (electrical instructions) Or by biological organisms (neurons, amino acids, hormones...)

Data / Information Data is the raw representation of some physical quantity. Information is structured and interpreted data In computer science, algorithms use data and produce data for some end-user

Computer Algorithms To be able to use computers, Algorithms and data must be coded in terms of electrical pulses (eventually). We will need to represent numbers and text data (letters,...) as electrical pulses. Results represented by the electrical pulses (inside computer) must be decoded into forms suitable for humans.

Computer Programs Algorithm in coded form is a computer program, or program’s code. Translation from concepts to computer internal form is done in several phases, and each involves coding with a different style: From concepts to a high level language From high level language to low level language, From low level language to machine language, From machine language to internal (voltage) form

Data must be represented depending on its type and usage: Data Representation Data must be represented depending on its type and usage: Numerical data must be represented according to a number system Text data must be represented according to a standard coding table.

CPU (Central Processing Unit) Memory (RAM, ROM, Cache) A Simplified Computer Logical View CPU (Central Processing Unit) Memory (RAM, ROM, Cache) Input Devices (keyboard, mouse, ...) Output Devices (Screen, printer, ...) Mass Storage Devices (disks, tapes)

Computer Block Diagram Input Unit Output Memory CPU ALU Control Register Data and Address Busses

Terminology Algorithm Algoritma Representation Gösterim Coding Kodlama Data (p.), Datum (s.) Veri Information Bilgi Programming language Programlama dili High-level language Yüksek (üst) düzey dil Low-level language Alt düzey dil

Terminology RAM (Random Access Memory) Rastgele erisimli bellek ROM (Read Only Memory) Salt-okunur bellek Data Bus Veri (iletim) yolu Address Bus Adres (iletim) yolu Memory Bellek ALU (Arithmetic Logic Unit) Aritmetik mantık birimi Control Unit Denetim birimi Input Giris / Girdi Output Çıkıs / Çıktı Device Aygıt

Origins of Computing Machines Early data storage: punched cards First used in Jacquard Loom (1801) to store patterns for weaving cloth Stored programs in Babbage’s Analytical Engine Popular through the 1970’s Early data storage: punched paper tape

Early computers Based on mechanical relays Based on vacuum tubes 1940: Stibitz at Bell Laboratories 1944: Mark I: Howard Aiken and IBM at Harvard Based on vacuum tubes 1937-1941: Atanasoff-Berry at Iowa State 1940s: Colossus: secret German code-breaker 1940s: ENIAC: Mauchly & Eckert at U. of Penn.

Computer Science The science of algorithms Draws from other subjects, including Mathematics Engineering Psychology Business Administration

Central Questions of Computer Science Which problems can be solved by algorithmic processes? How can discovery of algorithms be made easier? How can techniques of representing and communicating algorithms be improved? How can our knowledge of algorithms and technology be applied to provide better machines? How can characteristics of different algorithms be analyzed and compared?

Figure 0.5 The central role of algorithms in computer science

Abstraction: Definitions Abstraction = the distinction between the external properties of an entity and the details of the entity’s internal composition. Abstract tool = a component of a larger system whose internal composition we ignore.

Uses of abstraction Abstraction allows us to use things we don’t fully understand. We all can use electrical devices, etc. that we either do not understand or cannot produce. Computer scientists can use algorithms implemented by others without understanding their details.

Outline of our study Chapter 1: Data storage [Chapter 2: Data manipulation] Chapter 3: Operating systems Chapter 4: Networks and the internet Chapter 5: Algorithms

Outline of our study (continued) Chapter 6: Programming languages Chapter 7: Software engineering Data organization Chapter 8: Data abstractions Chapter 9: Database systems Chapter 10: Artificial intelligence [Chapter 11: Theory of computation ]