1 Chapter 1 INTRODUCTION TO COMPUTING AND ENGINEERING PROBLEM SOLVING
2 Outline Objectives 1. Historical Perspective 2. Recent Engineering Achievements 3. Computing Systems 4. Data Representation and Storage 5. An Engineering Problem-Solving Methodology
3 Objectives Introduce computing and engineering problem solving, including: A brief history Recent engineering achievements A discussion of Numbering Systems A discussion of hardware and software A five-step problem-solving methodology
4 Historical Perspective Augusta Ada Byron ( , below) wrote the first computer program. Charles Babbage, ( , above) designed the Analytical Engine (left) to process decimal numbers.
5 Charles Babbage, Esq English mathematician. Designed the Analytical Engine in the early 1800s. Published Of the Analytical Engine in 1864.
6 Analytical Engine Designed to process base ten numbers. Consisted of four parts: Storage unit Processing unit Input device Output device
7 Analytical Engine Luigi F. Menabrea, French engineer and mathematician, described Babbage s vision of a machine capable of solving any problem using: Inputs Outputs Programs written on punch cards
8 Augusta Ada Byron Wrote the English translation of Menabrea s Sketch of the Analytical Engine. Envisioned the multidisciplinary potential of the Analytical Engine. Wrote detailed instructions for performing numerical computations using the Analytical Engine.
9 Digital Computers ABC (Atanasoff Berry Computer) Developed at Iowa State University between 1939 and 1942 by John Atanasoff and Clifford Berry. Weighed 700 pounds. Executed one instruction every 15 seconds.
10 Digital Computers ENIAC(Electronic Numerical Integrator And Calculator) Developed by research team lead by John Mauchly and J. Presper Eckert during the early 1940s. Weighed 30 tons. Executed hundreds of instructions every second.
11 ENIAC vs. Intel Pentium 4 ENIAC executes hundreds of operations per second (30 tons) Today s processors execute trillions of operations per second and weigh ounces.
12 Recent Engineering Achievements Image credits: NASA/JPL/Malin Space Science Systems.
13 Recent Engineering Achievements Extraterrestrial Explorations First manned lunar landing (July 21, 1969) Mars Global Surveyor, Mars Reconnaissance Orbiter, and Mars Exploration Rovers Terrestrial Application Satellites Computer Axial Tomography (CAT) Scanners Computer simulations Advanced composite materials. Speech understanding Weather, climate, and global change prediction
14 Recent Engineering Achievements Digital computers facilitate multidisciplinary engineering achievements that: Improve our lives. Expanded the possibilities for our future. Changing engineering environment requires engineers with: Communication skills. Skills for working in interdisciplinary teams. An awareness of ethic issues and environmental concerns. A global perspective.
15 Computing Systems The von Neumann Computing Model
16 Computing Systems A computing system is a complete working system that includes: Hardware Software
17 Hardware Hardware refers to the physical parts off the computing system that have mass (i.e. they can actually be touched): Computer Display Mouse Printer
18 Hardware Jon von Neumann computing model Input device(s) Output device(s) Memory Unit CPU (Central Processing Unit) consisting of: Control Unit ALU (Arithmetic Logic Unit)
19 Software Interface to Computer Hardware
20 Software Computer software refers to programs that reside and execute electronically on the hardware. Compilers Translate source code Operating systems Provide the HCI (Human Computer Interface) Application programs Provide problem solutions
21 Building a Program Computers only understand machine language. High-level languages like C++ must be translated to machine language for execution.
22 Key Terms Source Program printable/readable Program file Object Program nonprintable machine readable file Executable Program nonprintable executable code
23 Errors in Programs Syntax/Parse Errors Mistakes with the language. Always reported by the compiler Linking Errors Missing pieces prevent the final assembly of an executable program. Run-time Errors Occur when program is executing. May or may not be reported.
24 Logic Errors Can be difficult to find. Debugging can be time consuming. Better tools for find bugs It is important to carefully check the output of your programs for errors. Even programs that appear to work correctly may have bugs!
25 Debugging Process of eliminating logic errors (i.e. bugs) from programs. User-friendly programming environments such as Microsoft Visual C++ integrate the compiler with text processors and code editors special tools to help find bugs in programs (debugger) testing tools and much more
26 Data Representation and Storage
27 Data Representation and Storage Digital computers store information as a sequence of bits (binary digits). The value or state of a bit at any given time can be 0 or 1 (off or on). Data is stored as a sequence of bytes. A byte is a sequence of 8 bits.
28 Memory Diagram Address Sixteen Bit Word Address Space = 8 Word Size = 16
29 Data Representation Right most bit is referred to as the least significant bit. Left most bit is referred to as the most significant bit. Value stored at address 000 is = But what does it represent?
30 Numbering Systems Base ten number system Ten decimal digits (0,1,2,3,4,5,6,7,8,9) Each digit multiplies a power of ten Example: = 2* * *10 0
31 Numbering Systems Base two (binary) number system Two binary digits (0,1) Each digit multiplies a power of two Example: = 1* * * * *2 0 = 1*16 + 0*8 + 1*4 + 1*2 + 0*1 = = 22 10
32 Numbering Systems Base eight number system Eight octal digits (0,1,2,3,4,5,6,7) Each digit multiplies a power of eight Example: = 2* * *8 0 = 2*64 + 4*8 + 5*1 = = 165 8
33 Numbering Systems Base sixteen number system Sixteen hex digits (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F) Each digit multiplies a power of sixteen Example: 2FB 16 = 2* F* B*16 0 = 2*256 + F*16 + B*1 = =
34 Practice with Number Systems =? =? =? 10 3A1B 16 =? 2
35 Practice with Number Systems = = = A1B 16 =
36 Data Types Integer Data Type: Often represented in 4 bytes (System Dependent) Left most bit is reserved for the sign of the number Remaining 31 bits represent the magnitude of the number.
37 Data Types Representation of data affects the efficiency of arithmetic and logic operations. For efficiency, negative integers are often represented in their 2 s complement form. The 2 s complement of an integer is formed by negating all of the bits and adding one.
38 Two s Complement Form the 2 s complement representation for the value assuming a word size of 8 bits for simplicity = Negate bits: Add 1: s complement is
39 Two s Complement Add to = = 0 10
40 Data Types Floating Point Data Floating point types represent real numbers, such as 1.25, that include a decimal point. Digits to the right of the decimal point form the fractional part of the number. Digits to the left of the decimal point form the integral part of the number.
41 Practice with Decimals Convert to binary.
42 Practice with Decimals Convert to binary. First convert the integer part: = Then repeatedly multiply the fractional part by 2:.25*2=0.5C0.50*2=1.0C1 Therefore: =
43 Engineering Problem-Solving Methodology
44 Five Step Problem-Solving Methodology 1. State the problem clearly. 2. Describe the input and output. 3. Work a hand example. 4. Develop a solution. 5. Test your solution.
CSCA0201 FUNDAMENTALS OF COMPUTING Chapter 1 History of Computers 1 Topics 1. Definition of computer 2. Earliest computer 3. Computer History 4. Computer Generations 2 Definition of Computer Computer is
1 Topics Machine Architecture and Number Systems Major Computer Components Bits, Bytes, and Words The Decimal Number System The Binary Number System Converting from Decimal to Binary Major Computer Components
Base Conversion written by Cathy Saxton 1. Base 10 In base 10, the digits, from right to left, specify the 1 s, 10 s, 100 s, 1000 s, etc. These are powers of 10 (10 x ): 10 0 = 1, 10 1 = 10, 10 2 = 100,
CHAPTER 1 ENGINEERING PROBLEM SOLVING Computing Systems: Hardware and Software The processor : controls all the parts such as memory devices and inputs/outputs. The Arithmetic Logic Unit (ALU) : performs
Introduction to Programming and Algorithms Module 1 CS 146 Sam Houston State University Dr. Tim McGuire Module Objectives To understand: the necessity of programming, differences between hardware and software,
Engineering Problem Solving 1 Engineering in the 21st Century What is engineering about? According to Webster s 9th New Collegiate Dictionary,... the application of science and mathematics by which the
Ch. 10 Software Development (Computer Programming) 1 Definitions Software or Program Instructions that tell the computer what to do Programmer Someone who writes computer programs 2 Instruction Set A vocabulary
CSI 333 Lecture 1 Number Systems 1 1 / 23 Basics of Number Systems Ref: Appendix C of Deitel & Deitel. Weighted Positional Notation: 192 = 2 10 0 + 9 10 1 + 1 10 2 General: Digit sequence : d n 1 d n 2...
C5 Solutions 1. Convert the following base 10 numbers into 8-bit 2 s complement notation 0, -1, -12 To Compute 0 0 = 00000000 To Compute 1 Step 1. Convert 1 to binary 00000001 Step 2. Flip the bits 11111110
CSCI 4717/5717 Computer Architecture Topic: Functional View & History Reading: Sections 1.2, 2.1, & 2.3 Function All computer functions are comprised of four basic operations: Data processing Data storage
Inside the CPU how does the CPU work? what operations can it perform? how does it perform them? on what kind of data? where are instructions and data stored? some short, boring programs to illustrate the
Lecture 11: Number Systems Numeric Data Fixed point Integers (12, 345, 20567 etc) Real fractions (23.45, 23., 0.145 etc.) Floating point such as 23. 45 e 12 Basically an exponent representation Any number
EMC Publishing Ontario Curriculum Computer and Information Science Grade 11 Correlations for: An Introduction to Programming Using Microsoft Visual Basic 2005 Theory and Foundation Overall Expectations
Lecture 14 Let s put together a Manual Processor Hardware Lecture 14 Slide 1 The processor Inside every computer there is at least one processor which can take an instruction, some operands and produce
An Introduction to Computer Science and Computer Organization Comp 150 Fall 2008 Computer Science the study of algorithms, including Their formal and mathematical properties Their hardware realizations
INTRODUCTION 1 Programming languages have common concepts that are seen in all languages This course will discuss and illustrate these common concepts: Syntax Names Types Semantics Memory Management We
Binary Numbers Binary Octal Hexadecimal Binary Numbers COUNTING SYSTEMS UNLIMITED... Since you have been using the 10 different digits 0, 1, 2, 3, 4, 5, 6, 7, 8, and 9 all your life, you may wonder how
CPU Organisation and Operation The Fetch-Execute Cycle The operation of the CPU 1 is usually described in terms of the Fetch-Execute cycle. 2 Fetch-Execute Cycle Fetch the Instruction Increment the Program
Basics Machine, software, and program design JPC and JWD 2002 McGraw-Hill, Inc. Computer Organization CPU - central processing unit Where decisions are made, computations are performed, and input/output
The programming language C sws1 1 The programming language C invented by Dennis Ritchie in early 1970s who used it to write the first Hello World program C was used to write UNIX Standardised as K&C (Kernighan
HOMEWORK # 2 SOLUTIO Problem 1 (2 points) a. There are 313 characters in the Tamil language. If every character is to be encoded into a unique bit pattern, what is the minimum number of bits required to
Chapter 1: Digital Systems and Binary Numbers Digital age and information age Digital computers general purposes many scientific, industrial and commercial applications Digital systems telephone switching
Computer Programming Course Details An Introduction to Computational Tools Prof. Mauro Gaspari: firstname.lastname@example.org Road map for today The skills that we would like you to acquire: to think like a computer
Section.4 Place Value Systems of Numeration in Other Bases Other Bases The Hindu-Arabic system that is used in most of the world today is a positional value system with a base of ten. The simplest reason
Chapter 2 Logic Gates and Introduction to Computer Architecture 2.1 Introduction The basic components of an Integrated Circuit (IC) is logic gates which made of transistors, in digital system there are
G InThisAppendix... Introduction Binary Numbering System Hexadecimal Numbering System Octal Numbering System Binary Coded Decimal (BCD) Numbering System Real (Floating Point) Numbering System BCD/Binary/Decimal/Hex/Octal
Lecture 2 Binary and Hexadecimal Numbers Purpose: Review binary and hexadecimal number representations Convert directly from one base to another base Review addition and subtraction in binary representations
Chapter 3 3.1 Decimal System The radix or base of a number system determines the total number of different symbols or digits used by that system. The decimal system has a base of 10 with the digits 0 through
Subject knowledge requirements for entry into computer science teacher training Expert group s recommendations Introduction To start a postgraduate primary specialist or secondary ITE course specialising
M01_GADD7119_01_SE_C01.QXD 1/30/08 12:55 AM Page 1 CHAPTER 1 Introduction to Computers and Programming TOPICS 1.1 Introduction 1.2 Hardware and Software 1.3 How Computers Store Data 1.4 How a Program Works
CPEN 4 - Digital Logic Design Binary Systems C. Gerousis Digital Design 3 rd Ed., Mano Prentice Hall Digital vs. Analog An analog system has continuous range of values A mercury thermometer Vinyl records
1 Early Developments: From Difference Engine to IBM 701 Computer Science & Artificial Intelligence Lab M.I.T. Based on the material prepared by and Krste Asanovic Charles Babbage 1791-1871 Lucasian Professor
ECE Department Summer LECTURE #5: Number Systems EEL : Digital Logic and Computer Systems Based on lecture notes by Dr. Eric M. Schwartz Decimal Number System: -Our standard number system is base, also
Fall 2012 Q530 Programming for Cognitive Science Aimed at little or no programming experience. Improve your confidence and skills at: Writing code. Reading code. Understand the abilities and limitations
Chapter 1 CD-ROM stands for: a. Compact Disk Random Only Memory b. Compact Disk Read Only Memory c. Computer Device Read Only Memory d. Computer Disk Random Online Memory Control Unit (CU) is the a. Main
C1 D1 Obj: Sec 1.0, to describe the relationship between hardware and software HW: Read p.2 9 Do Now: Name 3 parts of the computer. 1 Hardware and Software Hardware the physical, tangible parts of a computer
CHAPTER 4 MARIE: An Introduction to a Simple Computer 4.1 Introduction 195 4.2 CPU Basics and Organization 195 4.2.1 The Registers 196 4.2.2 The ALU 197 4.2.3 The Control Unit 197 4.3 The Bus 197 4.4 Clocks
Definition A digitally operated electronic apparatus which uses a programmable memory for the internal storage of instructions for implementing specific functions such as logic, sequencing, timing, counting,
Part 1: The Abacus Even before humans could read or write, they needed to count. First they used their fingers, but when they had to deal with figures over ten, a counting device became necessary. Pebbles
1 PROGRAM CONCENTRATION: Business & Computer Science CAREER PATHWAY: Computing COURSE TITLE: Beginning Programming The major goal of this course is for students to develop the computer science skills of
Binary Numbers In computer science we deal almost exclusively with binary numbers. it will be very helpful to memorize some binary constants and their decimal and English equivalents. By English equivalents
Computer Science 217 Midterm Exam Fall 2009 October 29, 2009 Name: ID: Instructions: Neatly print your name and ID number in the spaces provided above. Pick the best answer for each multiple choice question.
Chapter 7 Lab - Decimal, Binary, Octal, Hexadecimal Numbering Systems This assignment is designed to familiarize you with different numbering systems, specifically: binary, octal, hexadecimal (and decimal)
2 Number Systems 2.1 Source: Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: Understand the concept of number systems. Distinguish
Chapter 01: Introduction Lesson 02 Evolution of Computers Part 2 First generation Computers Objective Understand how electronic computers evolved during the first generation of computers First Generation
AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping 3.1.1 Constants, variables and data types Understand what is mean by terms data and information Be able to describe the difference
ELE 356 Computer Engineering II Section 1 Foundations Class 6 Architecture History ENIAC Video 2 tj History Mechanical Devices Abacus 3 tj History Mechanical Devices The Antikythera Mechanism Oldest known
Chapter 1 CS-4337 Organization of Programming Languages Dr. Chris Irwin Davis Email: email@example.com Phone: (972) 883-3574 Office: ECSS 4.705 Chapter 1 Topics Reasons for Studying Concepts of Programming
ASSEMBLY PROGRAMMING ON A VIRTUAL COMPUTER Pierre A. von Kaenel Mathematics and Computer Science Department Skidmore College Saratoga Springs, NY 12866 (518) 580-5292 firstname.lastname@example.org ABSTRACT This paper
1 Introduction to Computers and C++ Programming 1.1 Computer Systems 2 Hardware 2 Software 7 High-Level Languages 8 Compilers 9 History Note 12 1.2 Programming and Problem-Solving 13 Algorithms 14 Program
Unit- I Introduction to c Language: C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating
ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science Program Schedule CTech Computer Science Credits CS101 Computer Science I 3 MATH100 Foundations of Mathematics and
Overview Introduction Motivation Why study programming languages? Some key concepts What is a programming language? Artificial language" Computers" Programs" Syntax" Semantics" What is a programming language?...there
Embedded Systems A Review of ANSI C and Considerations for Embedded C Programming Dr. Jeff Jackson Lecture 2-1 Review of ANSI C Topics Basic features of C C fundamentals Basic data types Expressions Selection
ECE 0142 Computer Organization Lecture 3 Floating Point Representations 1 Floating-point arithmetic We often incur floating-point programming. Floating point greatly simplifies working with large (e.g.,
Computer Basics: Chapters 1 & 2 Definition of a Computer What does IPOS stand for? Input Process Output Storage Other types of Computers Name some examples of other types of computers, other than a typical
Introduction to Programming If you re new to programming, you might be intimidated by code and flowcharts. You might even wonder how you ll ever understand them. This lesson offers some basic ideas and
Binary Representation The basis of all digital data is binary representation. Binary - means two 1, 0 True, False Hot, Cold On, Off We must be able to handle more than just values for real world problems
High level code and machine code Teacher s Notes Lesson Plan x Length 60 mins Specification Link 2.1.7/cde Programming languages Learning objective Students should be able to (a) explain the difference
Management Challenge Managing Hardware Assets What computer processing and storage capability does our organization need to handle its information and business transactions? What arrangement of computers
CSC 3210 Computer Organization and Programming Introduction and Overview Dr. Anu Bourgeois (modified by Yuan Long) Administrative Issues Required Prerequisites CSc 2010 Intro to CSc CSc 2310 Java Programming
Chapter 12 Programming Concepts and Languages Chapter 12 Programming Concepts and Languages Paradigm Publishing, Inc. 12-1 Presentation Overview Programming Concepts Problem-Solving Techniques The Evolution
CHAPTER 2: HARDWARE BASICS: INSIDE THE BOX Multiple Choice: 1. Processing information involves: A. accepting information from the outside world. B. communication with another computer. C. performing arithmetic
Central Processing Unit (CPU) CPU is the heart and brain It interprets and executes machine level instructions Controls data transfer from/to Main Memory (MM) and CPU Detects any errors In the following
in the name of God the compassionate, the merciful notes on MACHINE ARCHITECTURE & LANGUAGE compiled by Jumong Chap. 9 Microprocessor Fundamentals A system designer should consider a microprocessor-based
3 SOFTWARE AND PROGRAMMING LANGUAGES 3.1 INTRODUCTION In the previous lesson we discussed about the different parts and configurations of computer. It has been mentioned that programs or instructions have
Computer Architecture Lecture 2: Instruction Set Principles (Appendix A) Chih Wei Liu 劉 志 尉 National Chiao Tung University email@example.com Review Computers in mid 50 s Hardware was expensive
High-speed image processing algorithms using MMX hardware J. W. V. Miller and J. Wood The University of Michigan-Dearborn ABSTRACT Low-cost PC-based machine vision systems have become more common due to
to Computer Architecture Concepts 1. We will start at the very beginning, first with the fundamental concepts behind the modern digital computer, and then some details of their implementation. Many people,
Data Storage As mentioned, computer science involves the study of algorithms and getting machines to perform them before we dive into the algorithm part, let s study the machines that we use today to do
MULTIPLE CHOICE QUESTIONS 1. What is a computer? a. A programmable electronic device that processes data via instructions to output information for future use. b. Raw facts and figures that has no meaning
Charles Dierbach Wiley Contents Preface Acknowledgments About the Author XXI xxv xxvii Introduction 1 MOTIVATION 2 FUNDAMENTALS 2 1.1 What Is Computer Science? 2 1.1.1 The Essence of Computational Problem
CSE 30321 Computer Architecture I Fall 2011 Lab 02: Procedure Calls in MIPS Assembly Programming and Performance Total Points: 100 points due to its complexity, this lab will weight more heavily in your
CDA 3200 Digital Systems Instructor: Dr. Janusz Zalewski Developed by: Dr. Dahai Guo Spring 2012 Outline Data Representation Binary Codes Why 6-3-1-1 and Excess-3? Data Representation (1/2) Each numbering
DNA Data and Program Representation Alexandre David 1.2.05 firstname.lastname@example.org Introduction Very important to understand how data is represented. operations limits precision Digital logic built on 2-valued
MULTIPLE CHOICE FREE RESPONSE QUESTIONS World ORT Union I n p u t d e v i c e s Where would you find the letters QUERTY? A. Mouse B. Keyboard C.Numeric Keypad How did the computer mouse get its name? A.