Chapter 1 Background Fundamentals of Java.

Slides:



Advertisements
Similar presentations
ICS103 Programming in C Lecture 1: Overview of Computers & Programming
Advertisements

Lecture 1: Overview of Computers & Programming
Fundamentals of Java: AP Computer Science Essentials, 4th Edition
Overview of Programming and Problem Solving ROBERT REAVES.
ENGR2216 FORTRAN PROGRAMMING FOR ENGINEERS. Chapter 1 The computer CPU MEMORY INPUT/OUTPUT DEVICES DATA REPRESENTATION BINARY SYSTEM OCTAL & HEXADECIMAL.
Chapter 1: An Overview of Computers and Programming Languages J ava P rogramming: From Problem Analysis to Program Design, From Problem Analysis to Program.
The Analytical Engine Module 6 Program Translation.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
CSCE 121, Sec 200, 507, 508 Fall 2010 Prof. Jennifer L. Welch.
Introduction to Computers and Programming. Some definitions Algorithm: –A procedure for solving a problem –A sequence of discrete steps that defines such.
Chapter 1: An Overview of Computers and Programming Languages
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages C++ Programming:
Introduction to Computers and Programming. Some definitions Algorithm: Algorithm: A procedure for solving a problem A procedure for solving a problem.
1 The development of modern computer systems Early electronic computers Mainframes Time sharing Microcomputers Networked computing.
CS102 Introduction to Computer Programming
Chapter 1: An Overview of Computers and Programming Languages.
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.
CS 161 INTRO TO PROGRAMMING I Dr. Blaise W. Liffick Fall
Fundamentals of Java: AP Computer Science Essentials, 4th Edition
Chapter 1: Introduction to Visual Basic.NET: Background and Perspective Visual Basic.NET Programming: From Problem Analysis to Program Design.
Fundamentals of Java Text by: Lambert and Osborne.
©Brooks/Cole, 2003 Chapter 2 Data Representation.
Chapter 2 Data Representation. Define data types. Visualize how data are stored inside a computer. Understand the differences between text, numbers, images,
1 CSC 1401 S1 Computer Programming I Hamid Harroud School of Science and Engineering, Akhawayn University
Topics Introduction Hardware and Software How Computers Store Data
Computer Hardware and Software Chapter 1. Overview Brief History of Computers Hardware of a Computer Binary and Hexadecimal Numbers Compiling vs. Interpreting.
An Introduction to Computers August 12, 2008 Mrs. C. Furman.
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.
1 Overview of Programming and Problem Solving Chapter 1.
Digital Computer Concept and Practice Copyright ©2012 by Jaejin Lee Introduction Lecture 01.
Visual C++ Programming: Concepts and Projects
Chapter 1: An Overview of Computers and Programming Languages
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages.
Mrs. Ulshafer August, 2013 Java Programming Chapter 1.
Development of Computers. Hardware 1. Original concept: Charles Babbage 1840’s 2. 4 basic components of a computer system: input store mill output (Now:
Computer Organization. The digital computer is a digital system that performs various computational tasks Digital computer use binary number system which.
Scott Marino MSMIS Kean University MSAS5104 Introduction to Programming with Data Structures and Algorithms Week 2 Scott Marino.
Computer Systems. Bits Computers represent information as patterns of bits A bit (binary digit) is either 0 or 1 –binary  “two states” true and false,
COMPUTER ARCHITECTURE & OPERATIONS I Instructor: Yaohang Li.
Chapter 1: Introduction to Visual Basic.NET: Background and Perspective Visual Basic.NET Programming: From Problem Analysis to Program Design.
COMPUTER SYSTEM A computer system is define as combination of components designed to process data and store files. A computer system consists of four.
Chapter 1 An Overview of Computers and Programming Languages.
©2013 Pearson Education, Inc. Upper Saddle River, NJ. All Rights Reserved. Introduction to Computers and Computing.
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
CHAPTER 1 COMPUTER SCIENCE II. HISTORY OF COMPUTERS (1.1) Eniac- one of the worlds first computers Used more electricity than an entire city block of.
C++ Programming: From Problem Analysis to Program Design, Fifth Edition Chapter 1: An Overview of Computers and Programming Languages.
IC 3 BASICS, Internet and Computing Core Certification Computing Fundamentals Lesson 2 How Does a Computer Process Data?
1 Chapter 1 Background Fundamentals of Java: AP Computer Science Essentials, 4th Edition Lambert / Osborne.
1 Section 1.3 Binary Number Systems Fundamentals of Java: AP Computer Science Essentials, 4th Edition Lambert / Osborne.
Computer Basics.
Computer Science II Chapter 1.
Computer Science 2 What’s this course all about?
An Overview of the Computer System
Chapter 1: An Overview of Computers and Programming Languages
Topics Introduction Hardware and Software How Computers Store Data
Sections Basic Concepts of Programming
Chapter 1: An Overview of Computers and Programming Languages
Introduction to Programming
Chapter 1: An Overview of Computers and Programming Languages
C++ Programming: From Problem Analysis to Program Design
An Overview of the Computer System
Computers: Hardware and Software
CSCE Fall 2013 Prof. Jennifer L. Welch.
Topics Introduction Hardware and Software How Computers Store Data
CSCE Fall 2012 Prof. Jennifer L. Welch.
Text by: Lambert and Osborne
Presentation transcript:

Chapter 1 Background Fundamentals of Java

Objectives Give a brief history of computers. Describe how hardware and software make up computer architecture. Understand the binary representation of data and programs in computers. Fundamentals of Java

Objectives (cont.) Discuss the evolution of programming languages. Describe the software development process. Discuss the fundamental concepts of object-oriented programming. Fundamentals of Java

Vocabulary Application software Bit Byte Central processing unit (CPU) Hardware Information hiding Object-oriented programming Fundamentals of Java

Vocabulary (cont.) Primary memory Secondary memory Software Software development life cycle (SDLC) System software Ubiquitous computing Waterfall model Fundamentals of Java

History of Computers 1940s: ENIAC (One of world’s first digital electronic computers) 1950s: IBM sells first business computers 1960s: Time-sharing computers 1970s: Networking takes hold Fundamentals of Java

History of Computers (cont.) 1980s: Many PCs, LANs become popular 1990s: Explosion in computer use Internet becomes prevalent 21st century: Ubiquitous computing Fundamentals of Java

Computer Hardware and Software Hardware: Physical devices that you see on your desktop Software: Programs that give the hardware useful functionality Fundamentals of Java

Bits and Bytes Bit (binary digit): Smallest unit of information processed by a computer A single 0 or 1 Byte: 8 adjacent bits Capacity of computer memory and storage devices usually expressed in bytes Fundamentals of Java

Table 1-1: Some commonly used quantities of information storage Bits and Bytes (cont.) Table 1-1: Some commonly used quantities of information storage Fundamentals of Java

Computer Hardware Six major sub-systems: User interface: Supports moment-to-moment communication between user and computer Keyboard and mouse Auxiliary I/O devices: Printers and scanners Auxiliary storage devices: Secondary memory Hard disks, CD-ROMS, flash memory sticks Fundamentals of Java

Computer Hardware (cont.) Six major sub-systems (continued): Network connection: Connection to Internet Modems Internal memory: Random access memory (RAM) or primary memory Fast and relatively small Central processing unit (CPU): Performs the work on a computer Consists of billions of transistors Fundamentals of Java

Computer Software: System Software Supports basic operations of a computer and allows human interaction Operating system Communications software Compilers User interface subsystem Fundamentals of Java

Computer Software: Application Software Allows human users to accomplish specialized tasks Word processors Spreadsheets Database systems Multimedia software Fundamentals of Java

Binary Representation of Information & Computer Memory Computer memory stores patterns of electronic signals. CPU reads, manipulates, and transforms patterns. Patterns can be stored/viewed as strings of bits. Sequences of 1s and 0s To determine what a sequence of bits represents, you must know the context. Fundamentals of Java

Integers Computers use binary (base 2) notation. 100112 = (1 * 24) + (0 * 23) + (0 * 22) + (1 * 21) + (1 * 20) Computer scientists use binary, octal (base 8), and hexadecimal (base 16) notation. Fundamentals of Java

Table 1-2: Some base 10 numbers and their base 2 equivalents Integers (cont.) Table 1-2: Some base 10 numbers and their base 2 equivalents Fundamentals of Java

Floating-Point Numbers Numbers with a fractional part Mantissa/exponent notation: Number is rewritten as a value between 0 and 1 times a power of 10. 354.9810 = 0.3549810 * 103 IEEE standard: Mantissa contains one digit before the decimal point. Fundamentals of Java

Characters and Strings ASCII (American Standard Code for Information Interchange) encoding scheme: Each character represented as a pattern of 8 bits (1 byte) 256 characters may be represented Java uses Unicode encoding scheme: 2 bytes used to represent a character 65,536 characters may be represented Fundamentals of Java

Characters and Strings (cont.) Table 1-3: Some characters and their corresponding ASCII bit patterns Fundamentals of Java

Sound Information contained in sound is analog. Continuous waveform In order to represent in a computer, sound must be digitized. Sampled at regular intervals on the waveform Standard sampling rate is 44,000 samples per second Requires large amount of storage Fundamentals of Java

Figure 1-4a: Sampling a waveform Sound (cont.) Figure 1-4a: Sampling a waveform Fundamentals of Java

Images Also analog information Set of color and intensity values spread across a two-dimensional space Sampling devices: Scanners and digital cameras Measure discrete values at pixels on a grid Black-and-white: 2 bits per pixel Grayscale: 8 bits per pixel for 256 shades of gray True color (RGB): 24 bits per pixel Fundamentals of Java

Video Consists of a soundtrack and frames Sets of images recorded in sequence during a given time interval Primary challenge in digitizing video is data compression Fundamentals of Java

Program Instructions Represented as a sequence of bits in RAM Example: 0000 1001 / 0100 0000 / 0100 0010 / 0100 0100 First 8 bits represent the ADD command Operation code or opcode Second 8 bits represent first operand Third 8 bits represent second operand Fourth 8 bits used to store sum Fundamentals of Java

Computer Memory Address: A byte’s location in memory Numbered from 0 to 1 less than the number of bytes of memory installed on the computer Adjacent bytes may store different types of data. Depends on context Fundamentals of Java

Computer Memory (cont.) Figure 1-5: A 32MB RAM Fundamentals of Java

Programming Languages Generation 1—machine languages: Program data entered directly into RAM in form of 1s and 0s Using switches and, later, punch cards Error prone, tedious, and slow Fundamentals of Java

Programming Languages (cont.) Generation 2—assembly languages: Mnemonic symbols represent instructions and data. One-to-one correspondence with machine-language instructions Assembler: Translates to machine language Loader: Loads machine language into memory Fundamentals of Java

Programming Languages (cont.) Generation 3—high-level languages: Designed to be easy to write, read, and manipulate. C, C++, Java High-level instructions may represent many machine-language instructions. Compiler translates high-level language into machine language. Fundamentals of Java

The Software Development Process Software development life cycle (SDLC): A view of software development in which phases of development occur incrementally Standardizes software development Simplifies understanding the project scope Minimizes software flaws Fundamentals of Java

The Software Development Process (cont.) Waterfall model: A version of the SDLC Phases: Customer request Analysis Design Implementation Integration Maintenance Fundamentals of Java

The Software Development Process (cont.) Figure 1-6: Waterfall model of the software development life cycle Fundamentals of Java

The Software Development Process (cont.) Figure 1-7: Relative costs of repairing mistakes when found in different phases Fundamentals of Java

The Software Development Process (cont.) Figure 1-8: Percentage of total cost incurred in each phase of the development process Fundamentals of Java

Basic Concepts of Object- Oriented Programming Two major groups of high-level languages: Procedural languages: COBOL, FORTRAN, BASIC, C, Pascal Object-oriented languages: Smalltalk, C++, Java Object-oriented approach is superior Fundamentals of Java

Basic Concepts of Object- Oriented Programming (cont.) Object-oriented programming takes a divide-and-conquer approach to reduce code. Code can easily be reused A program consists of different types of software components called classes. Defines data resources and methods Rules of behavior Fundamentals of Java

Basic Concepts of Object- Oriented Programming (cont.) Encapsulation: Combining the description of resources and behaviors into a single software entity A program is written first and then run. A running program is composed of interacting objects. Each object’s data resources (instance variables) and rules of behavior (methods) are defined by a class. Fundamentals of Java

Basic Concepts of Object- Oriented Programming (Cont.) While a program is executing, it instantiates (creates) objects as needed. Objects work together to accomplish the mission of the program. Send each other messages to request services or data When an object receives a message, it refers to its class to find the corresponding method to execute. Fundamentals of Java

Basic Concepts of Object- Oriented Programming (cont.) Information hiding: Providing access to services, but not to data resources Classes are organized in a hierarchy. Root class defines methods and instance variables shared by its subclasses. Those below it in the hierarchy Subclasses define additional methods and instance variables. Fundamentals of Java

Basic Concepts of Object- Oriented Programming (cont.) Inheritance: The hierarchical class structure and sharing of instance variables and methods with subclasses Polymorphism: Different types of objects can understand the same message. An object’s response to a message depends on the object’s class. Fundamentals of Java

Summary The modern computer age began in the late 1940s with the development of ENIAC. Business computing became practical in the 1950s, and time-sharing computers advanced computing in large organizations in the 1960s and 1970s. The 1980s saw the development and first widespread sales of personal computers, and the 1990s saw personal computers connected in networks. Fundamentals of Java

Summary (cont.) Modern computers consist of two primary components: hardware and software. Computer hardware is the physical component of the system. Computer software consists of programs that enable us to use the hardware. Fundamentals of Java

Summary (cont.) All information used by a computer is represented in binary form. This information includes numbers, text, images, sound, and program instructions. Programming languages have been developed in the course of three generations: generation 1 is machine language, generation 2 is assembly language, and generation 3 is high-level language. Fundamentals of Java

Summary (cont.) The software development process consists of several standard phases: customer request, analysis, design, implementation, integration, and maintenance. Object-oriented programming is a style of programming that can lead to better quality software. Breaking code into easily handled components simplifies the job of writing a large program. Fundamentals of Java