Text by: Lambert and Osborne

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.
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Starting Out with Programming Logic & Design First Edition by Tony Gaddis.
The Analytical Engine Module 6 Program Translation.
Introduction to Computers and Programming. Some definitions Algorithm: –A procedure for solving a problem –A sequence of discrete steps that defines such.
©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:
Chapter 1 Background Fundamentals of Java.
1 The development of modern computer systems Early electronic computers Mainframes Time sharing Microcomputers Networked computing.
Chapter 3 Software Two major types of software
CS 161 INTRO TO PROGRAMMING I Dr. Blaise W. Liffick Fall
1.1 History of Computers 1940s: The ENIAC was one of the world’s first computers. Large stand-alone machine Used large amounts of electricity Contained.
About the Presentations The presentations cover the objectives found in the opening of each chapter All chapter objectives are listed in the beginning.
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.
BACS 287 Basics of Programming BACS 287.
1 CSC 1401 S1 Computer Programming I Hamid Harroud School of Science and Engineering, Akhawayn University
Liang, Introduction to Java Programming, Ninth Edition, (c) 2013 Pearson Education, Inc. All rights reserved. 1 Chapter 1 Introduction to Computer Science.
Computer system overview1 The Effects of Computers Pervasive in all professions How have computers affected my life? How have computers affected my life?
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.
Visual C++ Programming: Concepts and Projects
Computer Components.
C++ Programming: From Problem Analysis to Program Design, Third Edition Chapter 1: An Overview of Computers and Programming Languages.
Scott Marino MSMIS Kean University MSAS5104 Introduction to Programming with Data Structures and Algorithms Week 2 Scott Marino.
Programming in C++ Dale/Weems/Headington Chapter 1 Overview of Programming and Problem Solving.
Computer and Programming. Computer Basics: Outline Hardware and Memory Programs Programming Languages and Compilers.
Chapter 1: Introduction to Visual Basic.NET: Background and Perspective Visual Basic.NET Programming: From Problem Analysis to Program Design.
Generations of Computing. The Computer Era Begins: The First Generation  1950s: First Generation for hardware and software Vacuum tubes worked as memory.
Chapter 1 An Overview of Computers and Programming Languages.
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.
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 Lesson 1 Computers and Computer Systems Computer Literacy BASICS: A Comprehensive Guide to IC 3, 3 rd Edition Morrison / Wells.
Discovering Computers 2009 Chapter 1 Introduction to Computers.
Chapter Goals Describe the application development process and the role of methodologies, models, and tools Compare and contrast programming language generations.
Chapter 1 Introduction to Computers, Programs, and C++
Computer Science II Chapter 1.
Computer Science 2 What’s this course all about?
Assembly Language for x86 Processors 6th Edition
Chapter 1: An Overview of Computers and Programming Languages
Operating System Interface between a user and the computer hardware
Chapter 1 Introduction to Computers, Programs, and C++
Sections Basic Concepts of Programming
CSCI-235 Micro-Computer Applications
COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE
Computer System and Programming
ICS103 Programming in C Lecture 1: Overview of Computers & Programming
About the Presentations
Chapter 1: An Overview of Computers and Programming Languages
C++ Programming: From Problem Analysis to Program Design
UNIV 103 CS Majors Seminar Dr. Blaise W. Liffick Fall 2017.
An Overview of the Computer System
Computer Science I CSC 135.
Computers: Hardware and Software
Topics Introduction Hardware and Software How Computers Store Data
Chapter 3 Hardware and software 1.
Chapter 1 Introduction(1.1)
Overview of Computer Architecture and Organization
Chapter 3 Hardware and software 1.
Introduction to Computer Programming
Computer and Operating System slides extended from Liang’s Java Programming textbook by Professor Parson for CSC 352.
Computer Generations.
CS 330 Programming Languages
Networks & I/O Devices.
ICS103 Programming in C 1: Overview of Computers And Programming
Presentation transcript:

Text by: Lambert and Osborne Fundamentals of Java Text by: Lambert and Osborne

Lesson 1: Background

Lesson 1: Background 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. Discuss the evolution of programming languages. Describe the software development process Discuss the fundamental concepts of object-oriented programming.

Lesson 1: Background Vocabulary: application software primary memory bit byte central processing unit (CPU) hardware information hiding object-oriented programming primary memory secondary memory software software development life cycle (SDLC) system software waterfall model

1940s: The ENIAC was one of the world’s first computers. Large stand-alone machine that filled a room. Used large amounts of electricity (more than all the houses on a city block). Contained hundreds of miles of wires and thousands of heat producing vacuum tubes. Considered immensely useful when compared to hand-operated calculators.

1.1 History of Computers 1950s: IBM sold its first business computer. Computational power was equivalent to 1/800 of a typical 800-megahertz Pentium computer sold in 2000 Performed one task at a time Typical input and output devices were punch cards and paper tape

1.1 History of Computers 1960s: Expensive time-sharing computers became popular in large organizations that could afford them. 30 people could work on one computer simultaneously Input occurs via teletype machine Output is printed on a roll of paper Could be connected to the telephone

1.1 History of Computers 1970s: The advantages of computer networks was realized. Email and file transfers were born 1980s: PCs became available in large numbers. Networks of interconnected PCs became popular (LANs) Organizations utilized resource and file sharing

1.1 History of Computers 1990s: An explosion of computer use occurs. Hundreds of millions of computers are being used in businesses and homes Most computers are now connected to the Internet Java is quickly becoming the common language of today’s computers

1.2 Computer Hardware and Software Computers consist of two primary components: Hardware Physical devices that you see on your desktop Software Programs that give hardware useful functionality

1.2 Computer Hardware and Software A bit (or binary digit) The smallest unit of information processed by a computer Consists of a single 0 or 1 Bytes Consists of 8 adjacent bits The capacity of computer memory and storage devices is usually expressed in bytes

1.2 Computer Hardware and Software As illustrated in figure 1-2, a PC consists of six major subsystems User interface Auxiliary I/O devices Auxiliary storage devices Network connection Internal memory Central processing unit

1.2 Computer Hardware and Software

1.2 Computer Hardware and Software Computer software processes complex patterns of 0s and 1s and transforms them to be viewed as text, images, etc.

1.2 Computer Hardware and Software Two broad categories of software: System Software: supports the basic operations of a computer allows users to transfer information to and from the computer Examples: OS, Compilers, Communications Software, User Interface Subsystem Application Software: allows users to accomplish specialized tasks Examples: Word Processors, Spreadsheets, Database systems, Other programs we write

Exercise 1.2 p. 9

1.3 Binary Representation of Information and Computer Memory Different types of information are represented in binary notation. Integers Floating Point Numbers Characters and Strings Images Sound Program Instructions Computer Memory

1.3 Binary Representation of Information and Computer Memory We normally represent numbers in decimal, which is base 10. The computer uses binary, which is base 2. Why? Base 8 (Octal) and Base 16 (Hexadecimal) are also popular.

1.3 Binary Representation of Information and Computer Memory Example: Consider the base 10 representation of 3,215. 3,215 = 3,000 + 200 + 10 + 5 = (3*103) + (2*102) + (1*101) + (5*100) = 3,215

1.3 Binary Representation of Information and Computer Memory Example: Analyze the meaning of 100112, where the subscript 2 indicates that base 2 is being used 100112 = (1*24) + (0*23) + (0*22) + (1*21) + (1*20) = 16 + 0 + 0 + 2 + 1 = 19

1.3 Binary Representation of Information and Computer Memory Table 1-2 displays some characters and their corresponding ASCII bit patterns.

Exercise 1.3 p. 13

1.4 Programming Languages Generation 1 – Late 1940s to Early 1950s: Machine Languages Programmers entered programs and data directly into RAM using 1s and 0s Several disadvantages existed: Coding was error prone, tedious, and slow Modifying programs was extremely difficult It was nearly impossible for a person to decipher someone else’s program Programs were not portable

1.4 Programming Languages Generation 2 – Early 1950s to Present: Assembly Languages Uses mnemonic symbols to represent instructions and data Assembly language is: More programmer friendly than machine language Tedious to use and difficult to modify Since each type of computer has its own unique assembly language, it is not portable

1.4 Programming Languages Generation 3 – Mid-1950s to Present: High-Level Languages Designed to be human friendly – easy to read, write, and understand Each instruction corresponds to many instructions in machine language Translation to machine language occurs through a program called a ‘compiler’ Examples: FORTRAN, COBOL, BASIC, C, Pascal, C++, Smalltalk, and Java

Exercise 1.4 p. 16

1.5 The Software Development Process Creating high-quality software involves organization, planning and utilizing various diagrammatic conventions Computer scientists have created a view of the software development process known as the ‘software development life cycle’ (SDLC) One method is known as the ‘waterfall model’’ A mistake made in one phase often requires the developer to back up and redo some of the work in the previous phase

1.5 The Software Development Process The Waterfall Model consists of several phases: Customer Request Analysis Design Implementation Integration Maintenance

1.5 The Software Development Process Figure 1-4. The waterfall model of the software development life cycle.

1.5 The Software Development Process Mistakes found early in the SDLC are much less expensive to correct than those found late.

1.5 The Software Development Process The cost of developing software is not spread equally over the phases. The percentages shown in Figure 1-6 are typical.

Exercise 1.5 p. 19

1.6 Basic Concepts of Object-Oriented Programming High-level programming languages utilize two different approaches Procedural approach Examples: COBOL, FORTRAN, BASIC, C and Pascal Object-oriented approach Examples: Smalltalk, C++, and Java

1.6 Basic Concepts of Object-Oriented Programming Object-oriented programming (OOP) involves: Planning Determine your needs Create a list of necessary resources Establish the rule of behavior to be followed Execution Outcome

1.6 Basic Concepts of Object-Oriented Programming The Expedition analogy to OOP

Exercise 1.6 p. 21

Lesson 1 Review Questions p. 23