Introduction. Arizona State University 1

Similar documents
Chapter 1 Introduction to Computers and Programming

Chapter 1: Introduction to Computers and Programming

Chapter 1: Why Program? Main Hardware Component Categories 8/23/2014. Main Hardware Component Categories: Why Program?

Chapter 1: Why Program? Computers and Programming. Why Program?

Week 0: Intro to Computers and Programming. 1.1 Why Program? 1.2 Computer Systems: Hardware and Software. Hardware Components

C H A P T E R 1. Introduction to Computers and Programming

Topics. Hardware and Software. Introduction. Main Memory. The CPU 9/21/2014. Introduction to Computers and Programming

CHAPTER 1: INTRODUCTION TO COMPUTERS AND PROGRAMMING. 1 Muhalim Mohamed Amin Faculty of

SCSP Programming Technique C

BITG 1113: Introduction To Computers And Programming Language LECTURE 1 LECTURE 1 1

Chapter 1 INTRODUCTION

CHAPTER 1 Introduction to Computers and Java

Chapter 1: An Overview of Computers and Programming Languages. Objectives. Objectives (cont d.) Introduction

Chapter 1: Introduction to Computers and Java

8/23/2014. Chapter Topics. Introduction. Java History. Why Program? Java Applications and Applets. Chapter 1: Introduction to Computers and Java

1a Computers, Problem Solving!

CSI31 Introduction to Computer Programming I. Dr. Sharon Persinger Fall

Intro to Programming & C Why Program? 1.2 Computer Systems: Hardware and Software. Why Learn to Program?

HARDWARE. There are a number of factors that effect the speed of the processor. Explain how these factors affect the speed of the computer s CPU.

Electricity: Voltage. Gate: A signal enters the gate at a certain voltage. The gate performs operations on it, and sends it out was a new signal.

Chapter 1 Introduction to Computers and C++ Programming

VARIABLES & ASSIGNMENTS

Programming 1. Lecture 1 COP 3014 Fall August 28, 2017

The C++ Language. Arizona State University 1

Fundamentals of Programming (Python) Basic Concepts. Ali Taheri Sharif University of Technology Spring 2018

Fundamentals of Programming Session 1

CS1500 Algorithms and Data Structures for Engineering, FALL Virgil Pavlu, Jose Annunziato,

Programming 1 - Honors

Introduction to Programming

EKT 120/4 Computer Programming KOLEJ UNIVERSITI KEJURUTERAAN UTARA MALAYSIA

Chapter 1. Introduction to Computers and Programming. M hiwa ahmad aziz

The Programming Process Summer 2010 Margaret Reid-Miller

Fundamentals of Programming Session 1

CSC 126 FINAL EXAMINATION Spring Total Possible TOTAL 100

Computer Organization

ST. MARY S COLLEGE FORM 4

Downloaded From :

CMSC 1513 Lecture 1.2

Name: Date: Hour: The abacus (still in use today) is about 5,000 years old. Not a computer.

CC411: Introduction To Microprocessors

CSC 126 FINAL EXAMINATION FINAL Spring 2012 B. Name (last, First) Instructor. Total Possible. Received

An Overview of the Computer System. Kafui A. Prebbie 24

What is the typical configuration of a computer sold today? 1-1

Hardware and Software - Revision Summary

A First Program - Greeting.cpp

AN INTRODUCTION TO THE COMPUTER

Components of a Computer System

Objectives. Chapter 2: Basic Elements of C++ Introduction. Objectives (cont d.) A C++ Program (cont d.) A C++ Program

National 5 Computing Science Software Design & Development

Q1. Describe C.P.U and its subunits with the help of diagram?

CSc 10200! Introduction to Computing. Lecture 1 Edgardo Molina Fall 2013 City College of New York

Chapter 2: Basic Elements of C++

Overview. - General Data Types - Categories of Words. - Define Before Use. - The Three S s. - End of Statement - My First Program

Chapter 2: Basic Elements of C++ Objectives. Objectives (cont d.) A C++ Program. Introduction

Basic Computer Programming for ISNE. Santi Phithakkitnukoon ผศ.ดร.ส นต พ ท กษ ก จน ก ร

Dec Hex Bin ORG ; ZERO. Introduction To Computing

Computers Are Your Future

6.096 Introduction to C++ January (IAP) 2009

Computer Fundamentals

Review for COSC 120 8/31/2017. Review for COSC 120 Computer Systems. Review for COSC 120 Computer Structure

Question Bank. Fundamentals Of Computer FYBCA (SEM - I)

Intentionally Blank 0

System Unit Components Chapter2

Programming Principles and Techniques

Computer Architecture and Assembly Language. Spring

Chapter 2: Introduction to C++

Computer Programming : C++

Stonelaw High School. Computing Science. BGE - Computer Systems

Information Communications Technology (CE-ICT) 6 th Class

Chapter 2: Special Characters. Parts of a C++ Program. Introduction to C++ Displays output on the computer screen

2011 Francisco Delgadillo

Computer Organization

Fundamentals of Programming. Lecture 1: Introduction to C Programming

CS 241 Computer Programming. Introduction. Teacher Assistant. Hadeel Al-Ateeq

Chapter. Focus of the Course. Object-Oriented Software Development. program design, implementation, and testing

Information Science 1

Welcome to Computer Organization and Design Logic

General Computing Concepts. Coding and Representation. General Computing Concepts. Computing Concepts: Review

Computer System Overview

Computer is an electronic machine that can receive, store, transform and output data of all kinds (image, text, numeric, graphics and sound).

Computer Organization and Programming

Functional Skills. Level 2. IT Basics Learning Resource Task 1. Microsoft product screen shot(s) reprinted with permission from Microsoft Corporation.

Components of a personal computer

Chapter 4 The Components of the System Unit

COMPUTER SYSTEM. COMPUTER SYSTEM IB DP Computer science Standard Level ICS3U. COMPUTER SYSTEM IB DP Computer science Standard Level ICS3U

Introduction to Computer Programming for Non-Majors CSC 2301, Fall The Department of Computer Science

Computers Are Your Future

Explain the functions of the main components of a basic computer system (Part 2) S. Neebar

LECTURE 02 INTRODUCTION TO C++

Exercise: Using Numbers

Chapter 1. Introduction to Programming and Visual Basic Pearson Addison-Wesley. All rights reserved. Addison Wesley is an imprint of

INTRODUCTION TO COMPUTERS

Chapter One. Introduction to Computer System

15/09/15. Introduction to Computers & The Internet. Contents. Computer hardware and software. Input and output devices CPU. Memory.

Parts of the Computer System. Parts of the Computer System. Parts of the Computer System. Essential Computer Hardware. Information Processing Cycle

Final Examination Semester 2 / Year 2005

CHAPTER 1 TYPES & COMPONENTS OF COMPUTER SYSTEM

LECTURE SCHEDULE 2. Units of Memory, Hardware, Software and Classification of Computers

Chapter 2. Prepared By: Humeyra Saracoglu

Computer Programming. Dr. Fahad Computer Science Deptt.

Transcription:

Introduction CSE100 Principles of Programming with C++, Fall 2018 (based off Chapter 1 slides by Pearson) Ryan Dougherty Arizona State University http://www.public.asu.edu/~redoughe/ Arizona State University 1

Why Program? Computer programmable machine designed to follow instructions. Program/Software instructions that a computer follows to perform a task. Programmer person with the right skills who designs, creates, and tests programs for computers. So, without programmers, no programs; without programs, the computer cannot do anything. Arizona State University 2

Programming an Art and a Science Artistry in programming: Organization of the tasks that the program performs How information is displayed How the user interacts with the program Science in programming: Understanding of the language used to write the program Understanding how to test the program, and to change it if it does not work as intended Arizona State University 3

Computer Systems: Hardware Hardware Physical components of a computer Main Hardware Component Categories 1. Central Processing Unit (CPU) 2. Main memory (RAM) 3. Secondary storage devices 4. Input Devices 5. Output Devices Arizona State University 4

Main Hardware Component Categories Arizona State University 5

Central Processing Unit (CPU) CPU Hardware component that runs programs Includes: Control Unit Retrieves and decodes program instructions Coordinates computer operations Arithmetic & Logic Unit (ALU) Performs mathematical operations Arizona State University 6

How the CPU Works Cycle through: Fetch: get the next program instruction from main memory Decode: interpret the instruction and generate a signal Execute: route the signal to the appropriate component to perform an operation Arizona State University 7

Main Memory Holds both program instructions and data Volatile erased when the program terminates or computer is turned off Also called Random Access Memory (RAM), because the CPU can access data and instructions from any memory location. Arizona State University 8

Main Memory Organization Bit Smallest piece of memory Stands for binary digit Hold an electrical charge (a positive charge is on, a negative charge is off ) Byte Is 8 consecutive bits Has an address in memory There are millions (or even billions) of bytes of memory in a computer Arizona State University 9

Binary Numbers All programs, data, etc. are stored in a binary sequence of numbers (0s and 1s). All typical text is encoded in ASCII format, where each letter corresponds to an integer between 0 and 127 (inclusive). If we have! bits allowed to address memory in a computer, we can access 2 # items/memory locations/etc. To convert a number to binary: find the highest power of 2 less than or equal to the number, then write a 1, and subtract the power from your number. Divide this power of 2 by 2, until we arrive at the former situation or we reach 1. Arizona State University 10

Secondary Storage Holds data when the program is not running or when the computer is turned off Several forms of secondary storage Hard disk: can be mounted inside the computer or connected to an external port. Data is stored magnetically. Optical: CD or DVD drive Flash: USB flash drive Arizona State University 11

Input Devices Used to send information to the computer from the outside world. Many devices can provide input Keyboard, mouse, touch screen, microphone, scanner, digital camera, disk drive, CD/DVD drive, USB flash drive Arizona State University 12

Output Devices Used to send information from the computer to the outside world. Many devices can be used for output. Computer screen, printer, speakers, disk drive, CD/DVD recorder, USB flash drive Arizona State University 13

Systems on a Computer System Software programs that manage the computer hardware and the programs that run on the computer Operating System Controls the operation of the computer Manages connected devices and access to storage devices Allows programs to run Utility Programs Support programs that enhance computer operations Examples: virus scanners, data backup, file compression Application Software programs that provide services to the user. Examples: word processing, games, programs to solve specific problems. Arizona State University 14

Programs and Programming Languages Program - a set of instructions directing a computer to perform a task Programming Language - a special language used to write programs Types of languages: Low-level: used for communication with computer hardware directly. Not very easy for a person to read. High-level: closer to human language Arizona State University 15

How to Run a High-Level Program 1. Create a file containing the program with a text editor. (program statements: source code, file: source file) 2. Run the preprocessor to convert source file directives to source code program statements. 3. Run the compiler to convert source program statements into machine instructions (machine code), which is stored in an object file. 4. Run the linker to connect hardware-specific library code to machine instructions, producing an executable file. Arizona State University 16

High Level -> Executable Arizona State University 17

What does a Program consist of? There are common elements in most programming languages: Key Words Programmer-Defined Identifiers Operators Punctuation Syntax Arizona State University 18

Example C++ Program #include <iostream> using namespace std; int main() { double num1 = 5, num2, sum; num2 = 12; } sum = num1 + num2; cout << "The sum is " << sum; return 0; Arizona State University 19

Key Words Also known as reserved words Have a special meaning in C++ Can not be used for another purpose Written using lowercase letters Examples in program (shown in green): using namespace std; int main() Arizona State University 20

Programmer-Defined Identifiers Names made up by the programmer Not part of the C++ language Used to represent various things, such as variables (memory locations) Example in program (shown in green): double num1 Arizona State University 21

Operators Used to perform operations on data Many types of operators Arithmetic: +, -, *, / Assignment: = Examples in program (shown in green): num2 = 12; sum = num1 + num2; Arizona State University 22

Punctuation Characters that mark the end of a statement, or that separate items in a list. Example in program (shown in green): double num1 = 5, num2, sum; num2 = 12; Arizona State University 23

Lines vs. Statements In a source file, A line is all of the characters entered before a carriage return. Blank lines improve the readability of a program. Here are four sample lines. Line 3 is blank: 1. double num1 = 5, num2, sum; 2. num2 = 12; 3. 4. sum = num1 + num2; Arizona State University 24

Lines vs. Statements (cont.) In a source file, A statement is an instruction to the computer to perform an action. A statement may contain keywords, operators, programmer-defined identifiers, and punctuation. A statement may fit on one line, or it may occupy multiple lines. Here is a single statement that uses two lines: double num1 = 5, num2, sum; Arizona State University 25

Variables A variable is a named location in computer memory. It holds a piece of data. The data that it holds may change while the program is running. The name of the variable should reflect its purpose A variable must be defined before it can be used. Variable definitions indicate the variable name and the type of data that it can hold. Example variable definition: double num1; Arizona State University 26

Input, Processing, and Output Three steps that many programs perform: 1) Gather input data (from keyboard or mouse, files on disk, etc.). 2) Process the input data. 3) Output the results of the processing (print it to the screen, write it to a file, send over the network, etc.) Arizona State University 27

The Programming Process 1. Define what the program is to do. 2. Visualize the program running on the computer. 3. Use design tools to create a model of the program. 4. Check the model for logical errors. 5. Write the program source code. 6. Compile the source code. 7. Correct any errors found during compilation. 8. Link the program to create an executable file. 9. Run the program using test data for input. 10. Correct any errors found while running the program. 11. Validate the results of the program. Arizona State University 28

Procedural / Object-Oriented Programming Procedural focus is on the process. Procedures / functions are written to process data. Object-Oriented focus is on objects, which contain data and the means to manipulate the data Messages are sent to objects to perform all operations, with transparency and encapsulation to the user. We will be focusing on both categories as we write C++ programs in this semester. Arizona State University 29