ECS15, Lecture 10. Goals of this course 2/8/13. Mini-Review & Topic 3.2 Software. Today s agenda

Similar documents
8/16/12. Computer Organization. Architecture. Computer Organization. Computer Basics

Computer Basics 1/24/13. Computer Organization. Computer systems consist of hardware and software.

Lecture Objectives. Introduction to Computing Chapter 0. Topics. Numbering Systems 04/09/2017

Update on logistics ECS 15

Information Science 1

IB Computer Science Topic.2-

Computer Basics 1/6/16. Computer Organization. Computer systems consist of hardware and software.

ST. MARY S COLLEGE FORM 4

Chapter Two. Hardware Basics: Inside the Box

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

CS 105 Review Questions #3

Chapter 7: Processor and Memory

INTRODUCTION TO INFORMATION & COMMUNICATION TECHNOLOGY (ICT) LECTURE 2 : WEEK 2 CSC-111-T

Hardware and Software - Revision Summary

CC411: Introduction To Microprocessors

SQA Advanced Unit specification: general information for centres

Dec Hex Bin ORG ; ZERO. Introduction To Computing

Agenda EE 224: INTRODUCTION TO DIGITAL CIRCUITS & COMPUTER DESIGN. Lecture 1: Introduction. Go over the syllabus 3/31/2010

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

Computer Organisation IB Computer Science. Content developed by Dartford Grammar School Computer Science Department

COURSE OUTLINE & WEEK WISE BREAKAGE

Downloaded From :

User. Application program. Interfaces. Operating system. Hardware

Today. An Animated Introduction to Programming. Prerequisites. Computer programming

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.

Why Study Assembly Language?

National 5 Computing Science Software Design & Development

ECS 15: Introduction to Computers Finals December 5 th, 2011

Chapter 4 The Components of the System Unit

What is a computer? Units of Measurement. - A machine that: - Counts.

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

INFS 214: Introduction to Computing

CS2900 Introductory Programming with Python and C++ Kevin Squire LtCol Joel Young Fall 2007

Chapter 1: Introduction to Computers and Programming

ECS 15: Introduction to Computers Midterm November 2 nd, 2011

Computers Are Your Future

Microprocessors I MICROCOMPUTERS AND MICROPROCESSORS

CSCE150A. Administrivia. Overview. Hardware. Software. Example. Program. Pseudocode. Flowchart. Control Structures. Hello World Program CSCE150A

Computer Science & Engineering 150A Problem Solving Using Computers

Unit 2: Technology Systems

Switching to AQA from OCR

Computers Are Your Future

Year 10 OCR GCSE Computer Science (9-1)

From High Level to Machine Code. Compilation Overview. Computer Programs

Chapter 1 Computer and Programming. By Zerihun Alemayehu

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.

Machine Architecture. or what s in the box? Lectures 2 & 3. Prof Leslie Smith. ITNP23 - Autumn 2014 Lectures 2&3, Slide 1

System Unit Components Chapter2

Level 2: The Hardware World Chapters 4 and 5 (topics of other cs courses)

An Introduction to Computers and Java CSC 121 Spring 2015 Howard Rosenthal

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

Computer Architecture 2/26/01 Lecture #

I1100 E Introduction to computer.

HUDSON VALLEY COMMUNITY COLLEGE TROY, NEW YORK COURSE OUTLINE

COSC 122 Computer Fluency. Computer Organization. Dr. Ramon Lawrence University of British Columbia Okanagan

CDS Computing for Scientists. Midterm Exam Review. Midterm Exam on October 22, 2013

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

ETGG1801 Game Programming Foundations I Andrew Holbrook Fall Lecture 0 - Introduction to Computers 1

Introduction to Computers. Joslyn A. Smith

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

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

Full file at

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

TNBEDCSVIP.IN. S.No CONTEND Page No 1. NUMBER SYSTEM AND BASE CONVERSIONS TYPES OF NUMBER SYSTEM 1. Binary Number System:

Components of a personal computer

Switching to AQA from Edexcel

Systems Architecture

HARDWARE AND OPERATING SYSTEMS

Chapter One. Introduction to Computer System

Programming Languages, Summary CSC419; Odelia Schwartz

Lecture 1: Preliminaries

Chapter 2. Prepared By: Humeyra Saracoglu

Memory Overview. Overview - Memory Types 2/17/16. Curtis Nelson Walla Walla University

1. A folder inside a folder is called. a) Mini Directory b) Sub Directory c) Root Folder d) Child Folder e) None of these

Problem Solving With C++ Ninth Edition

Computer Principles and Components 1

e-pg Pathshala Subject : Computer Science Paper: Embedded System Module: Introduction to Computing Module No: CS/ES/1 Quadrant 1 e-text

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

The x86 Microprocessors. Introduction. The 80x86 Microprocessors. 1.1 Assembly Language

Information Communications Technology (CE-ICT) 6 th Class

Exercise 2 : Complete each sentence or statement. 1. data consists of numbers that might be used in arithmetic operations.

CSC180: Lecture 2. Wael Aboulsaadat.

Problem Solving and Program Design - Chapter 1. Cory L. Strope

HASTINGS HIGH SCHOOL

Homeschool Enrichment. The System Unit: Processing & Memory

SKILL AREA 304: Review Programming Language Concept. Computer Programming (YPG)

9/7/2012. Introduction. Peeking into Computer Science. Jalal Kawash Mandatory: Chapter 1 Optional: None. Reading Assignment

Computer Organization

Programming Languages 2nd edition Tucker and Noonan"

CONTENTS. Chapter 1 Introduction and Evolution of Computer

Microprocessor. Dr. Rabie A. Ramadan. Al-Azhar University Lecture 1

Lecture (03) Binary Codes Registers and Logic Gates

2/15/2008. Announcements. Programming. Instruction Execution Engines. Following Instructions. Instruction Execution Engines. Anatomy of a Computer

Aryan College. Computer Fundamental. Introduction to Computer System

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

Introduction To Computers. About the Course

INTRODUCTION TO COMPUTERS

EE292: Fundamentals of ECE

Computer Fundamentals

Microprocessors & Assembly Language Lab 1 (Introduction to 8086 Programming)

Transcription:

Today s agenda ECS15, Lecture 10 Mini-Review & Topic 3.2 Software Review the lectures. Sample midterm to be posted late today/tonight. Extra credit (1pt) turn in Monday 9:30am Finish up details on Topic 3: The computer (Topic 3.1 Hardware, 3.2 Software). Question: Do students want lecture notes 2-slides to a page? (Currently in 4-slides to a page format.) Goals of this course Understand how a computer works: 1) input (a string of letters or numbers, a picture, a waveform, etc.); 2) program (algorithm: transforms the data) 3) output (a human-useful format: string, picture, etc). Become computationally aware and literate in software, programming basics and internet workings. Mini-Review: Outline High level view of a Computer: Digital input Logical operations on digital data via hardware, software, memory storage, data network Digital output Growth of computers: Moore s law (exponential growth) Learn the process of writing a scientifically sound and rigorous paper. 1

Topic 0: Growth of computational power: Moore s Law: The number of transistors on a chip doubles approximately every two years. Note: X-axis is linear Y-axis is logarithmic Counting in base 10: log(10) = 1 log(100) = 2 log(1000) = 3 (What base do computers count in?) The growth of computation and information In your lifetime, the number of operations per second will exceed the capacity of all human brains combined! In your lifetime it is possible that the amount of data generated each day will exceed the amount of data ever written previously. (We will soon reach the point where the content on the WWW exceeds all the content ever written.) (http://en.wikipedia.org/wiki/accelerating_change) Topic 1: Digital data Lec 3: Decimal / binary / hexadecimal / ASCII -- Conversion between them (algorithms) -- Add two binary numbers -- Biggest number stored in a decimal/binary /hexadecimal number of length n. -- Definition of bits, bytes, kilobytes, megabytes, gigabytes, terrabytes Topic 2.1: Boolean logic Lec 5 Proposition (denoted P or Q): a declarative statement with a True/False value. Operators: NOT, AND, OR, NAND, NOR (Note NOT is an operator on a single, individual proposition, the rest are compound operators using two propositions) Truth tables Lec 4: Digital sound: -- Sampling (Nyquist Frequency) -- Discretization (how many distinct levels to record) E.g. how many bytes to store 10 mins of music? 2

Truth tables A B A OR B A AND B A NOR B A NAND B 0 0 0 0 1 1 0 1 1 0 0 1 1 0 1 0 0 1 1 1 1 1 0 0 Implication P -> Q (Lec 5) This means If P=T then Q=T (P is sufficient for Q; there could be many things that lead to Q=T, P is one of them, but not necessarily the only one.) It also means If Q=F then P=F or If not(q)=t then not(p)=t (Q is necessary for P; if Q does not happen (not(q)=t) then we know P did not happen so not(p)=t.) Remember a logically correct argument need not be reasonable. e.g. If 1+2=5 then everyday is Sunday. Here P = 1+2=5 = F. If P=F, than P -> Q is always a logically valid statement. (P->Q only invalid when P=T and Q=F.) Topic 2.2 Digital logic, Lec 5 (switches and transistors) The most basic switch is an inverter (i.e. not(p)) Combine switches to make NOT, AND, NAND, OR, NOR gates Parallel ( OR ) versus serial/sequential ( AND ) wiring of switches (see Lec 7, slide number 7). Topic 3, The computer. 3.1 Hardware, CPU, Memory, BIOS, Operating System 3.2 Software and Overarching topic Writing a research paper When do you need to cite sources What is plagiarism Purpose of an abstract Topics from Labs: Simple html tags Tables of content Miscellaneous topics: 3

Topic 3: Computer Layers Hardware (Motherboard/Keyboard/Monitor/Mouse/etc) BIOS Operating System The motherboard: backbone of the computer CPU, keyboard, mouse, monitor, hard drive, video/sound/internet cards, power supply) Slot for memory: RAM Slot for CPU Power supply connector Hard drive connectors Software Input/Output: Keyboard, Mouse, Extension cards: Video, sound, internet Remember the difference between RAM and ROM!! CPU The Central Process Unit (CPU) ALU Control Input BIOS refers to the firmware code usually stored on the PROM, EPROM or flash drive that is run by a computer when first powered on. BIOS performs three major tasks: BIOS: Basic Input/Output Layer BIOS (firmware code stores in PROM or EPROM) - POST (power on self tests) - Initiate the boot process from the Master Boot Record and load the operating system Memory Output - First, the Power On Self Tests (POST) are conducted. These tests verify that the hardware system is operating correctly. The CPU consists of three parts: - the Arithmetic Logic Unit (ALU) - The Control Unit - Memory The CPU performs Fetch/Execute cycles - Second, the BIOS initiates the different hardware component of the system, scanning their own ROM or PROM. - Third, the BIOS initiate the boot process. The BIOS looks for boot information that is contained in file called the master boot record (MBR) at the first sector on the disk. Once an acceptable boot record is found the operating system is loaded which takes over control of the computer. 4

The operating system - manages the sharing of resources and memory management - coordinates all input/output devices - provides a software platform on top of which application programs can run The operating system Operating systems can be classified as follows: - multi-user : Allows two or more users to run programs at the same time. -multiprocessing : Supports running a program on more than one CPU. -multitasking : Allows more than one program to run concurrently. - multithreading : Allows different parts of a single program to run concurrently. Memory management: The operating system Computer Layers Current computers organize memory resources hierarchically, from registers, CPU cache, RAM and disks. Hardware BIOS Operating System The virtual memory manager coordinates the use of these resources by tracking which one is available, which is to be allocated or deallocated and how to move data between them. If running processes require significantly more RAM than is available, the system may start thrashing. Software 5

Application Software Application software is a class of computer software that uses the capabilities of a computer to a task that the user wishes to perform. The term application refers to both the application software and its implementation. Typical examples of software applications are word processors, spreadsheets, and media players. Hardware BIOS Operating System Computer Layers Software A programming language is an artificial language that can be used to control the behavior of a machine, particularly a computer. are used to facilitate communication about the task of organizing and manipulating information, and to express algorithms precisely. (An algorithm is a list of well-defined instructions for completing a task; that is, given an initial state, it will proceed through a well-defined series of successive states, eventually terminating in an end-state. The transition from one state to the next is not necessarily deterministic; some algorithms, known as probabilistic algorithms, incorporate randomness) There are many, many programming languages, and new ones appear every year. (http://www.engin.umd.umich.edu/cis/course.des/cis400/) 6

Hardware Machine Languages Assembly Languages High level Languages Three main levels of programming languages: - Machine languages: refers to the "ones and zeroes" that processors use as instructions. Give it one pattern of bits (such as 11001001) and it will add two numbers, give it a different pattern (11001010) and it will instead subtract one from the other. - Assembly languages: is as close as you can come to writing in machine language, but has the advantage that it's also human -readable... using a small vocabulary of words with one syllable, such as: MOV A, B : Interpret or Compile? Regardless of what language you use, you eventually need to convert your program into machine language so that the computer can understand it. There are two ways to do this: - interpret the program through an interpreter (one line at a time) - compile the program through a compiler The main disadvantage of interpreters is that when a program is interpreted, it runs slower than if it had been compiled. -High level languages: A vocabulary and set of grammatical rules for instructing a computer to perform specific tasks. Each language has its own set of keywords and its own syntax. : Interpreters : Compilers An interpreter is a program that either: - executes the source code directly (type I) Source Code Source Code Source Code Source Code - translates source code into some efficient intermediate representation and immediately executes this (type II) Compile - is invoked to explicitly execute stored precompiled code made by a compiler which is part of the interpreter system (type III) Object File Object File Object File Object File Runtime Library Link Executable Program 7

: Compilers : Examples A compiler is a program that translates source codes into object codes. The compiler derives its name from the way it works, looking at the entire source code and collecting and reorganizing the instructions. Interpreted languages: - Perl, Python, Matlab (type II) - Java (type III) Thus, a compiler differs from an interpreter, which analyzes and executes each line of source code successively, without analyzing the entire program. Compiled languages: - Fortran - C, C++ - Pascal - Basic - Cobol - ADA Getting started with programming in Python Make sure you have python on your personal computer or you can use python on the machines in the computer lab. (Note difference between source code and binary distributions.) We will use an IDE (integrated Development Environment), namely IDLE Read the Python Primer, Introduction documentation. 8