Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming Dr. Halla Abdel Hameed.

Slides:



Advertisements
Similar presentations
EC-111 Algorithms & Computing Lecture #1 Instructor: Jahan Zeb Department of Computer Engineering (DCE) College of E&ME NUST.
Advertisements

Introduction Kingdom of Saudi Arabia Shaqra University
COSC 120 Computer Programming
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design First Edition by Tony Gaddis.
Three types of computer languages
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Sixth Edition by Tony Gaddis, Judy Walters,
 2003 Prentice Hall, Inc. All rights reserved. 1 Machine Languages, Assembly Languages, and High-level Languages Three types of computer languages 1.Machine.
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages C++ Programming:
Starting Out with C++: Early Objects 5/e © 2006 Pearson Education. All Rights Reserved Starting Out with C++: Early Objects 5 th Edition Chapter 1 Introduction.
Copyright 2003 Scott/Jones Publishing Brief Version of Starting Out with C++, 4th Edition Chapter 1 Introduction to Computers and Programming.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Seventh Edition by Tony Gaddis, Judy.
CS102 Introduction to Computer Programming
Introduction to Computers and Python. What is a Computer? Computer- a device capable of performing computations and making logical decisions at speeds.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
Alternate Version of STARTING OUT WITH C++ 4 th Edition Chapter 1 Introduction to Computers and Programming.
Why Program? Computer – programmable machine designed to follow instructions Program – instructions in computer memory to make it do something Programmer.
Chapter Introduction to Computers and Programming 1.
Introduction to Programming Dr Masitah Ghazali Programming Techniques I SCJ1013.
COMPUTER SCIENCE I C++ INTRODUCTION
CHAPTER 4: INTRODUCTION TO COMPUTER ORGANIZATION AND PROGRAMMING DESIGN Lec. Ghader Kurdi.
CSC 125 Introduction to C++ Programming Chapter 1 Introduction to Computers and Programming.
Introduction to Programming. Our Book in CS Why Program? Lets watch a video
 2008 Pearson Education, Inc. All rights reserved Introduction to Computers, the Internet and World Wide Web.
Topics Introduction Hardware and Software How Computers Store Data
Liang, Introduction to Java Programming, Ninth Edition, (c) 2013 Pearson Education, Inc. All rights reserved. 1 Chapter 1 Introduction to Computer Science.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming 1.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
Chapter 1: Introduction to Computers and Programming.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1: Introduction to Computers and Programming.
Copyright © 2012 Pearson Education, Inc. Chapter 1 Introduction to Computing and Programming.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Seventh Edition by Tony Gaddis, Judy.
Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley C H A P T E R 1 Introduction to Computers and Programming.
C++ Programming Language Lecture 1 Introduction By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Introduction to Computers Outline 1.1Introduction.
 2006 Pearson Education, Inc. All rights reserved Introduction to Computers, the Internet and World Wide Web.
1 CISC181 Introduction to Computer Science Dr. McCoy Lecture 1 February 8, 2005.
INTRODUCTION Kingdom of Saudi Arabia Princess Nora bint Abdul Rahman University College of Computer Since and Information System CS240.
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages.
An Object-Oriented Approach to Programming Logic and Design Chapter 1 An Overview of Computers and Logic.
1 Programming Fundamentals How to Program in C++ How to Program in C++
COMPUTER PROGRAMMING. Computer programming the objective of the module to gain the necessary skills to develop a computer program using one of the high.
CHAPTER 1 INTRODUCTION 1 st Semester H King Saud University College Of Applied Studies and Community Services CSC 1101 Computer Programming-1.
CHAPTER 1 INTRODUCTION 2 nd Semester H King Saud University College Of Applied Studies and Community Services CSC 1101 Computer Programming-1.
1 12/4/1435 h Lecture 2 Programs and Programming Languages.
Copyright 2003 Scott/Jones Publishing Standard Version of Starting Out with C++, 4th Edition Chapter 1 Introduction to Computers and Programming.
CS2301:Computer Programming 2
Computer Programming (1) Code & No.: CS 102 CREDIT HOURS: 5 UNIT Lecture 3.0 hours/week Lab: 2.0 hour/on every week a. This course introduces the students.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Seventh Edition by Tony Gaddis, Judy.
Introduction عزيزتي الطالبة : يهدف هذا المبحث من تمكينك من التعرف الى مفهوم لغات البرمجة وتعلم أسياسيات لغة البرمجة من خلال دراسة أجزاء من لغة C++ وكتابة.
Brief Version of Starting Out with C++ Chapter 1 Introduction to Computers and Programming.
©2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. Introduction to Computers and Computing.
1 Types of Programming Language (1) Three types of programming languages 1.Machine languages Strings of numbers giving machine specific instructions Example:
Copyright © 2014, 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with C++ Early Objects Eighth Edition by Tony Gaddis,
C++ Programming: From Problem Analysis to Program Design, Fifth Edition Chapter 1: An Overview of Computers and Programming Languages.
Chapter 1: Introduction to Computers and Programming.
Copyright © 2010 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1: Introduction to Computers and Programming.
Copyright © 2015, 2012, 2009 Pearson Education, Inc., Publishing as Addison-Wesley All rights reserved. Chapter 1: Introduction to Computers and Programming.
Chapter 1: Introduction to Computers and Programming
BASIC PROGRAMMING C SCP1103 (02)
Chapter 1: An Overview of Computers and Programming Languages
Chapter 1: Introduction to computers and C++ Programming
Topics Introduction Hardware and Software How Computers Store Data
BASIC PROGRAMMING C SCP1103 (02)
Chapter 1: An Overview of Computers and Programming Languages
C++ Programming: From Problem Analysis to Program Design
Chapter 1: Introduction to Computers and Programming
Topics Introduction Hardware and Software How Computers Store Data
Chapter 1: Introduction to Computers and Programming
Chapter 1: Introduction to Computers and Programming
Presentation transcript:

Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming Dr. Halla Abdel Hameed

Copyright © 2012 Pearson Education, Inc. 1.1 Why Program?

Copyright © 2012 Pearson Education, Inc. Why Program? Computer – programmable machine designed to follow instructions Program – instructions in computer memory to make it do something Programmer – person who writes instructions (programs) to make computer perform a task SO, without programmers, no programs; without programs, a computer cannot do anything

Copyright © 2012 Pearson Education, Inc. 1.2 Computer Systems: Hardware and Software

Copyright © 2012 Pearson Education, Inc. Main Hardware Component Categories: 1.Central Processing Unit (CPU) 2.Main Memory 3.Secondary Memory / Storage 4.Input Devices 5.Output Devices

Copyright © 2012 Pearson Education, Inc. Main Hardware Component Categories Figure 1-2

Copyright © 2012 Pearson Education, Inc. Central Processing Unit (CPU) Comprised of: Control Unit Retrieves and decodes program instructions Coordinates activities of all other parts of computer Arithmetic & Logic Unit Hardware optimized for high-speed numeric calculation Hardware designed for true/false, yes/no decisions

Copyright © 2012 Pearson Education, Inc. CPU Organization Figure 1-3

Copyright © 2012 Pearson Education, Inc. Main Memory It is volatile. Main memory is erased when program terminates or computer is turned off Also called Random Access Memory (RAM) Organized as follows: –bit: smallest piece of memory. Has values 0 (off, false) or 1 (on, true) –byte: 8 consecutive bits. Bytes have addresses.

Copyright © 2012 Pearson Education, Inc. Main Memory Addresses – Each byte in memory is identified by a unique number known as an address.

Copyright © 2012 Pearson Education, Inc. Main Memory In Figure 1-4, the number 149 is stored in the byte with the address 16, and the number 72 is stored at address 23.

Copyright © 2012 Pearson Education, Inc. Secondary Storage Non-volatile: data retained when program is not running or computer is turned off Comes in a variety of media: –magnetic: floppy disk, hard drive –optical: CD-ROM, DVD –Flash drives, connected to the USB port

Copyright © 2012 Pearson Education, Inc. Input Devices Devices that send information to the computer from outside Many devices can provide input: –Keyboard, mouse, scanner, digital camera, microphone –Disk drives, CD drives, and DVD drives

Copyright © 2012 Pearson Education, Inc. Software-Programs That Run on a Computer Categories of software: –System software: programs that manage the computer hardware and the programs that run on them. Examples: operating systems, utility programs, software development tools –Application software: programs that provide services to the user. Examples : word processing, games, programs to solve specific problems

Copyright © 2012 Pearson Education, Inc. 1.3 Programs and Programming Languages

Copyright © 2012 Pearson Education, Inc. Programs and Programming Languages A program is a set of instructions that the computer follows to perform a task We start with an algorithm, which is a set of well-defined steps.

Copyright © 2012 Pearson Education, Inc. Example Algorithm for Calculating Gross Pay

Copyright © 2012 Pearson Education, Inc. Software Developer Skill Set There are several skills a student must learn to be a successful software developer and to contribute fully to a development or maintenance job.

Copyright © 2012 Pearson Education, Inc. Rules for Programmers Keep your cool (don’t get mad). Work when you are rested (don’t program when you are tired). Love your software (keep it simple, sweetie). Give help/get help. Study and know the rules for the language (syntax).

Copyright © 2012 Pearson Education, Inc. Learn the development environment and tools (we’ll concentrate on C++). Understand the problem you are trying to solve. Build and test your software in steps. Save early/save often (back up your computer programming files often).

Copyright © 2012 Pearson Education, Inc. 21 Machine Languages, Assembly Languages, and High-level Languages Three types of computer languages 1.Machine language Only language computer directly understands “Natural language” of computer Defined by hardware design –Machine-dependent Generally consist of strings of numbers –Ultimately 0s and 1s Instruct computers to perform elementary operations –One at a time Cumbersome for humans

Copyright © 2012 Pearson Education, Inc. 22 Programming Languages Machine Language Assembly Language High-Level Language Machine language is a set of primitive instructions built into every computer. The instructions are in the form of binary code, so you have to enter binary codes for various instructions. Program with native machine language is a tedious process. Moreover the programs are highly difficult to read and modify. For example, to add two numbers, you might write an instruction in binary like this:

Copyright © 2012 Pearson Education, Inc Machine Languages, Assembly Languages, and High- level Languages Three types of computer languages 2.Assembly language English-like abbreviations representing elementary computer operations Clearer to humans Incomprehensible to computers –Translator programs (assemblers) »Convert to machine language Example: LOADBASEPAY ADD OVERPAY STORE GROSSPAY

Copyright © 2012 Pearson Education, Inc. 24 Programming Languages Machine Language Assembly Language High-Level Language Assembly languages were developed to make programming easy. Since the computer cannot understand assembly language, however, a program called assembler is used to convert assembly language programs into machine code. For example, to add two numbers, you might write an instruction in assembly code like this: ADDF3 R1, R2, R3

Copyright © 2012 Pearson Education, Inc Machine Languages, Assembly Languages, and High-level Languages Three types of computer languages 3.High-level languages Similar to everyday English, use common mathematical notations Single statements accomplish substantial tasks –Assembly language requires many instructions to accomplish simple tasks Translator programs (compilers) –Convert to machine language Interpreter programs –Directly execute high-level language programs Example: grossPay = basePay + overTimePay

Copyright © 2012 Pearson Education, Inc. 26 Programming Languages Machine Language Assembly Language High-Level Language The high-level languages are English-like and easy to learn and program. For example, the following is a high-level language statement that computes the area of a circle with radius 5: area = 5 * 5 * ;

Copyright © 2012 Pearson Education, Inc. Some Well-Known Programming Languages BASIC FORTRAN COBOL C C++ C# Java JavaScript Python Ruby Visual Basic

Copyright © 2012 Pearson Education, Inc. From a High-Level Program to an Executable File a) Create file containing the program with a text editor. b) Run preprocessor to convert source file directives to source code program statements. c) Run compiler to convert source program into machine instructions. d) Run linker to connect hardware-specific code to machine instructions, producing an executable file. Steps b–d are often performed by a single command or button click. Errors detected at any step will prevent execution of following steps.

Copyright © 2012 Pearson Education, Inc. From a High-Level Program to an Executable File

Copyright © 2012 Pearson Education, Inc. 30 Basics of a Typical C++ Environment Phases of C++ Programs: 1.Edit 2.Preprocess 3.Compile 4.Link 5.Load 6.Execute Loader Primary Memory Program is created in the editor and stored on disk. Preprocessor program processes the code. Loader puts program in memory. CPU takes each instruction and executes it, possibly storing new data values as the program executes. Compiler Compiler creates object code and stores it on disk. Linker links the object code with the libraries, creates a.out and stores it on disk Editor Preprocessor Linker CPU Primary Memory Disk

Copyright © 2012 Pearson Education, Inc. 31 Exercise…..

Copyright © 2012 Pearson Education, Inc. Integrated Development Environments (IDEs) An integrated development environment, or IDE, combine all the tools needed to write, compile, and debug a program into a single software application. Examples are Microsoft Visual C++, Turbo C++ Explorer, CodeWarrior, etc.

Copyright © 2012 Pearson Education, Inc. Integrated Development Environments (IDEs)

Copyright © 2012 Pearson Education, Inc. 1.4 What is a Program Made of?

Copyright © 2012 Pearson Education, Inc. What is a Program Made of? Common elements in programming languages: –Key Words –Programmer-Defined Identifiers –Operators –Punctuation –Syntax

Copyright © 2012 Pearson Education, Inc. Program 1-1

Copyright © 2012 Pearson Education, Inc. Key Words Also known as reserved words Have a special meaning in C++ Can not be used for any other purpose Key words in the Program 1-1: using, namespace, int, double, and return

Copyright © 2012 Pearson Education, Inc. Key Words

Copyright © 2012 Pearson Education, Inc. Programmer-Defined Identifiers Names made up by the programmer Not part of the C++ language Used to represent various things: variables (memory locations), functions, etc. In Program 1-1: hours, rate, and pay.

Copyright © 2012 Pearson Education, Inc. Operators Used to perform operations on data Many types of operators: –Arithmetic - ex: +,-,*,/ –Assignment – ex: = Some operators in Program1-1: > = *

Copyright © 2012 Pearson Education, Inc. Operators

Copyright © 2012 Pearson Education, Inc. Punctuation Characters that mark the end of a statement, or that separate items in a list In Program 1-1:, and ;

Copyright © 2012 Pearson Education, Inc. Punctuation

Copyright © 2012 Pearson Education, Inc. Syntax The rules of grammar that must be followed when writing a program Controls the use of key words, operators, programmer-defined symbols, and punctuation

Copyright © 2012 Pearson Education, Inc. Variables A variable is a named storage location in the computer’s memory for holding a piece of data. In Program 1-1 we used three variables: –The hours variable was used to hold the hours worked –The rate variable was used to hold the pay rate –The pay variable was used to hold the gross pay

Copyright © 2012 Pearson Education, Inc. Variable Definitions To create a variable in a program you must write a variable definition (also called a variable declaration) Here is the statement from Program 1-1 that defines the variables: double hours, rate, pay;

Copyright © 2012 Pearson Education, Inc. Variable Definitions There are many different types of data, which you will learn about in this course. A variable holds a specific type of data. The variable definition specifies the type of data a variable can hold, and the variable name.

Copyright © 2012 Pearson Education, Inc. Variable Definitions Once again, line 7 from Program 1-1: double hours, rate, pay; The word double specifies that the variables can hold double-precision floating point numbers. (You will learn more about that in Chapter 2)

Copyright © 2012 Pearson Education, Inc. 1.5 Input, Processing, and Output

Copyright © 2012 Pearson Education, Inc. Input, Processing, and Output Three steps that a program typically performs: 1) Gather input data: from keyboard from files on disk drives 2) Process the input data 3) Display the results as output: send it to the screen write to a file

Copyright © 2012 Pearson Education, Inc. 1.6 The Programming Process

Copyright © 2012 Pearson Education, Inc. The Programming Process

Copyright © 2012 Pearson Education, Inc. 1.7 Procedural and Object-Oriented Programming

Copyright © 2012 Pearson Education, Inc. Procedural and Object-Oriented Programming Procedural programming: focus is on the process. Procedures/functions are written to process data. Object-Oriented programming: focus is on objects, which contain data and the means to manipulate the data. Messages sent to objects to perform operations.