Programming What?! How?!.

Slides:



Advertisements
Similar presentations
 Computer hardware components are the physical pieces of the computer.  The major hardware components of a computer are: – The central processing.
Advertisements

Chapter Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing Describe.
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
Introduction to Computers and Programming. Some definitions Algorithm: –A procedure for solving a problem –A sequence of discrete steps that defines such.
Lecture 2 Computer development history. Topic History of computer development Computer generation Programming language.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
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.
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
1 Chapter 1 The Big Picture. 2 2 Computing systems are dynamic entities used to solve problems and interact with their environment. They consist of devices,
1 CHAPTER 4 LANGUAGE/SOFTWARE Hardware Hardware is the machine itself and its various individual equipment. It includes all mechanical, electronic.
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
Chapter 01 Nell Dale & John Lewis.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
1 Chapter-01 Introduction to Computers and C++ Programming.
© Prentice-Hall, Inc Definition  Computer - An electronic device that has the ability to store, retrieve, and process data and can be programmed with.
BACS 287 Basics of Programming BACS 287.
Topics Introduction Hardware and Software How Computers Store Data
The four generations of digital Computer
Computer Terms. Computer A machine designed to run programs and store information that you create.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
COMPUTER ERA Click to add subtitle.
CS 1410 Intro to Computer Tecnology Computers and History1.
An Abacus. Babbage’s Difference Engine Electronic Computers  1939–1944, Howard H. Aiken developed the Harvard Mark I—also known as the IBM ASCC.  Grace.
An Introduction to Computers August 12, 2008 Mrs. C. Furman.
© Prentice-Hall, Inc Definition  Computer - An electronic device that has the ability to store, retrieve, and process data and can be programmed with.
Chapter 1 The Big Picture.
Computer Components.
CPIT 201 Introduction to Computing
Chapter 1 Introduction.
School of Computer Science & Information Technology G6DICP Introduction to Computer Programming Milena Radenkovic.
Chapter 1 The Big Picture Chapter Goals Describe the layers of a computer system Describe the concept of abstraction and its relationship to computing.
Development of Computers. Hardware 1. Original concept: Charles Babbage 1840’s 2. 4 basic components of a computer system: input store mill output (Now:
CS 1428 Foundations of Computer Science I. Two Main Components  Hardware  Physical media that uses electrical current to process instructions.  Software.
Exploring Computer Science – Lesson 2-5. Click to add text.
The four generations of digital Computer 1. The first generation computers 2. The second generation computers 3. The third generation computers 4. The.
Generations of Computing. The Computer Era Begins: The First Generation  1950s: First Generation for hardware and software Vacuum tubes worked as memory.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming Dr. Halla Abdel Hameed.
1 Chapter 1 Background Fundamentals of Java: AP Computer Science Essentials, 4th Edition Lambert / Osborne.
Computer A Computer may be defined as an electronic device that operates upon data. So, a computer can store, process and retrieve data as and when desired.
INTRODUCTION TO COMPUTERS. A computer system is an electronic device used to input data, process data, store data for later use and produce output in.
Hardware and Software 6 th Grade Advanced Robotics 2.
Computer Science II Chapter 1.
An Overview of the Computer System
Chapter 1: An Overview of Computers and Programming Languages
Chapter 1 The Big Picture
Exploring Computer Science – Lesson 2-5
Topics Introduction Hardware and Software How Computers Store Data
Chapter 1 Introduction to Computer Science
CSCI-235 Micro-Computer Applications
Introduction to computer storage
INTRODUCTION TO COMPUTERS
Overview of Computers and Programming Chapter 1
Chapter 1: Introduction to Computers and Programming
ICS103 Programming in C Lecture 1: Overview of Computers & Programming
Chapter 1: Introduction to Computers and Programming
Computer Applications
Introduction to Computing Lecture # 1
An Overview of the Computer System
Topics Introduction Hardware and Software How Computers Store Data
Charles Babbage English inventor
Generations of Computers
Text by: Lambert and Osborne
Why computers use binary
Introduction to Computer Programming
ICT Programming Lesson 1:
Computer.
Computer components is a programmable machine that receives input, stores and manipulates data, and provides output in a useful format. Computer The computer.
Programming Fundamentals Lecture #2 Overview of Computer Programming
Presentation transcript:

Programming What?! How?!

Computer = Powerful + Stupid Fundamental Equation Computer = Powerful + Stupid

Computer = Powerful + Stupid Billions of "operations" per second looking through masses of a data

Computer = Powerful + Stupid individual "operations" extremely simple and mechanical nothing like human thought or insight computer is not a magic box requires a human to tell it what to do

How Does a Computer Work? Driven by “code” Code is made of simple, mechanical instructions The computer runs the series of instructions

If So Stupid..Why So Useful?

If So Stupid..Why So Useful? Programmer thinks of a useful feature Thinks through the solution Breaks it down, directs computer Writes code for the computer Combine the best features of both sides: insight + inexpensive/fast

So How does the Programmer Program?

Programming Languages Write instructions in programming language General Types: Machine Languages Assembly Languages High-Level Languages

Machine Language Primitive operations with which we write programs Binary: 0/1 Specific to particular machine type and model Any computer directly understands its own machine language – defined by hardware design Consists of strings of numbers ultimately reduced to 0’s and 1’s Instruct computer to perform elementary operations one at a time Machine-dependent Cumbersome, slow, tedious for humans

Bit (Binary digit) Smallest unit of storage 0 or 1 Anything with 2 separate states can store 1 bit

Computer Chips Transistor switched on or off Capacitor that is charged or discharged

Phone Line or Radio Link Old-school telephone modem Fax machine High- & low-pitch tones represent 0’s & 1’s

Magnetic Disks Hard drives Old-school floppies Direction of magnetic field on coated surface

Optical Media CD, CD-R, DVD Spot on surface either does or does not reflect light

Byte Group of 8 bits Half a byte (4 bits) is Called a Nibble – Ha

The Past What did it look like to program this way in the past?

Mark I Computer 1944, Harvard electromechanical switches Flipped one of two ways (0/1) One of the first real electrical computers was the Mark I, created at Harvard University in 1944. It was based on the idea of mechanical switches that were flipped in one of two ways in order to “write” a program and control the operations of the computer.

ENIAC Electric Numerical Integrator And Computer (1946) wires into holes along the outside The ENIAC (Electric Numerical Integrator And Computer), developed in 1946 at the University of Pennsylvania, operated under a similar principle, but instead of flipping switches, the programmer plugged wires into holes along the outside of the machine in order to specify which operations to use on what values.

UNIVAC I 1951 – first commercial electronic computer Vacuum tubes for electronic switching Coded in machine or assembly Punch cards for data storage The UNIVAC I, developed in 1951, was the first commercial electronic computer, meaning businesses could actually purchase it for use. This was new, because previous computers had been developed for use and as part of research at universities. Operations were accomplished in the UNIVAC by using vacuum tubes for electronic switching (much like the vacuum tubes used in some guitar amplifiers). The UNIVAC could be programmed in either machine language or assembly, and data was stored on paper punch cards.

Assembly Language Simple mnemonic names (abbreviations) for instructions Platform-Dependent Use assembler (piece of software) to covert to machine language Instead of using numbers computers could directly understand, started using English-like abbreviations to represent elementary operations Assemblers (translator program) to change these into machine language Easier to understand than numbers, but programmers still had to write many instructions to accomplish even simple tasks

Transistors Late 1950’s Also: first high-level languages: FORTRAN Algol COBOL Magnetic tape replaced punch cards In the late 1950’s, computers started employing transistors (on chips) instead of vacuum tubes (which could burn out). Instead of saving data on paper punch cards, magnetic tape was developed. Transistor-based computers also saw the development of the first high-level programming languages: FORTRAN, Algol, and COBOL.

High Level Language Close to English Strong abstraction from the details of the computer C++, Java, Objective-C, etc. Single statements can be written to accomplish substantial tasks Look like English and use commonly used mathematical notations