Computer and Communications Fundamentals. How Computers Work. The Art of (low level) Programming. How Computers Work: Lecture 2 1
|
|
- Lorin Lloyd
- 6 years ago
- Views:
Transcription
1 Computer and Communications Fundamentals Shimon Schocken How Computers Work The Art of (low level) Programming How Computers Work: Lecture 2 1
2 Lecture Objectives Acquire a taste for low level programming Relate to high-level language programming Understand the software development cycle How Computers Work: Lecture 2 2
3 First program: add two numbers (cont.) x 2 x ADD x 1 + x 2 21 algorithm 0. read a number 1. store it somewhere (let s say in cell 90) 2. read a number 3. add the contents of cell 90 (to the register) 4. write (the contents of the register) 5. stop program addr instruc read symbolic str read add write stop How Computers Work: Lecture 2 3
4 Program 2: find the maximum of two numbers x 2 x MAX max(x 1, x 2 ) 901 Strategy: read the first number, call it x read the second number, call it y subtract x from y (result=y-x) if the result is positive => y is the larger number else => x is the larger number How Computers Work: Lecture 2 4
5 The machine language revisited (control) symbolic numeric pseudo-code arithmetic commands ADD xx SUB xx 1 xx 2 xx D=D+M[xx] D=D-M[xx] memory commands LD xx STR xx 3 xx 4 xx D=M[xx] M[XX]=D I/O commands READ WRITE D=input output=d control commands GT xx GTZ xx GTP xx 5 xx 6 xx 7 xx goto xx if D=0 goto xx if D>0 goto xx STOP 0 stop How Computers Work: Lecture 2 5
6 Finding the maximum of two numbers (cont.) algorithm 0. read a number (into D) 1. store it somewhere (say in cell 90) 2. read a number (into D) 3. store it somewhere (say in cell 91) 4. subtract M[90] from D 5. if D>0 goto load the contents of cell write 8. stop 9. load the contents of cell write 11. stop program How Computers Work: Lecture 2 6
7 Program 3: sum up a series of numbers 0 x n... x 2 x SUM x 1 + x x n 13 Strategy: Use cell 90 to store the sum of the inputted numbers. Call this cell sum. Assumption: before the program starts running, "sum" should be reset to 0 As long as the inputted number is not 0, add the inputted number to sum When you read 0, write the contents of sum and stop the program. How Computers Work: Lecture 2 7
8 Program 3: sum up a series of numbers (cont.) algorithm 0. read a number (into D) 1. If the number is 0, goto add M[90] to D 3. store the result (D) in M[90] 4. goto 0 5. load M[90] into D 6. write 7. stop program Observation 1: what if cell 90 does not contain 0 when the program starts? Fix the program to take care of this bug. Observation 2: there is one unnecessary instruction in this program. Which one? How Computers Work: Lecture 2 8
9 Diversion: Pascal on brevity "This letter is a bit long because I didn't have the time to make it shorter." Blaise Pascal, He also built the first digital calculator; it took him 3 years The prog. language Pascal was named in his honor He also developed the theory of hydrostatics, invented the binomial coefficients (Pascal's triangle), laid the foundations of probability, and wrote a fundamental philosophical treatise, called Pensées. He died at the age of 39. How Computers Work: Lecture 2 9
10 Program 4: find the maximum in a series of numbers 0 x n... x 2 x MAXn max(x 1, x 2,..., x n ) 5 Algorithm (strategy): Assume that the first number is the maximum of the series, and store it in a cell called max Read the next number (let s call it x ) and subtract max from it. If the result is positive, x is the new maximum, so store it in max Read the next number and do exactly the same thing, until you hit 0. How Computers Work: Lecture 2 10
11 Before you run an assembly program, it must be translated to machine language How Computers Work: Lecture 2 11
12 Let s make life even easier: High Level Languages C code scanf("%d", &max); while (1) { scanf("%d", &x); if (x == 0) break; if (x > max) max = x; } printf("%d", max); C compiler Pascal, Java, Visual Basic,... very similar translations Assembly code label1: read store max read if reg=0 goto label2 store x subtract max if reg > 0 goto label3 goto label1 label3: load x store max goto label1 label2: load max write stop How Computers Work: Lecture 2 12
13 From an abstract algorithm to a working program algorithm HLL language high-level program (source) compiler machine language program (object) loader How Computers Work: Lecture 2 13
14 The program development cycle compile How Computers Work: Lecture 2 14
15 The argument for high level languages (HLL) HLL code is easy to read, maintain and extend; Object code is easy to transmit and execute The user never sees the source code -- s/he gets only the object code (*.exe, *.com, *.dll files). This way, software companies can protect their intellectual property The same HLL program can be compiled to run on any computer platform (using an appropriate compiler). Hence, software companies can extend their market share easily Computer scientists can invent all sorts of HLL s, designed for different purposes. As long as we can translate the HLL to machine language, the HLL can be as abstract as we want The existence of HLL creates a Chinese wall separation between software and hardware. This is a very, very, very powerful and important concept. How Computers Work: Lecture 2 15
16 Summary The logical principles underlying hardware are simple The logical principles underlying software are simple What is good science? Explain maximum phenomena with minimum rules What is good engineering? Build complex artifacts with simple components Computer architectures are a prime example of good engineering Based on these architectures, Alan Turing and John Von Neumann created some of the most beautiful science of the 20 th century Next lecture: back to C How Computers Work: Lecture 2 16
PROGRAMMING LANGUAGE PARADIGMS & THE MAIN PRINCIPLES OF OBJECT-ORIENTED PROGRAMMING
PROGRAMMING LANGUAGE PARADIGMS & THE MAIN PRINCIPLES OF OBJECT-ORIENTED PROGRAMMING JAN BARTONÍČEK This paper's goal is to briefly explain the basic theory behind programming languages and their history
More informationChapter 6: Assembler
Elements of Computing Systems, Nisan & Schocken, MIT Press, 2005 www.idc.ac.il/tecs Chapter 6: Assembler Usage and Copyright Notice: Copyright 2005 Noam Nisan and Shimon Schocken This presentation contains
More informationCS 314 Principles of Programming Languages. Lecture 9
CS 314 Principles of Programming Languages Lecture 9 Zheng Zhang Department of Computer Science Rutgers University Wednesday 5 th October, 2016 Zheng Zhang 1 CS@Rutgers University Class Information Homework
More informationComputer Architecture
ID Herzliya Shimon Schocken omputer rchitecture Shimon Schocken Spring 2005 Elements of omputing Systems 1 omputer rchitecture (h 5) Some early computers Multiplier Blaise Pascal, 23-62 Gottfried Leibniz,
More informationIntroduction to MiniSim A Simple von Neumann Machine
Math 121: Introduction to Computing Handout #19 Introduction to MiniSim A Simple von Neumann Machine Programming languages like C, C++, Java, or even Karel are called high-level languages because they
More informationA Brief History of Computer Science
A Brief History of Computer Science 4700 Hundred years ago Sumerians invented the abacus Sand, lines, pebbles Sexagesimal Base 60 still used today Time, distance How do you count like that? Side trip Factors
More informationOrganization of Programming Languages (CSE452) Why are there so many programming languages? What makes a language successful?
Organization of Programming Languages (CSE452) Instructor: Dr. B. Cheng Fall 2004 1 Why are there so many programming languages? Evolution -- we've learned better ways of doing things over time Socio-economic
More informationPart (01) Introduction to Computer
Part (01) Introduction to Computer Dr. Ahmed M. ElShafee 1 Dr. Ahmed ElShafee, ACU : Summer 2014, Introduction to CS 1 TURING MODEL The idea of a universal computational device was first described by Alan
More informationCS 242. Fundamentals. Reading: See last slide
CS 242 Fundamentals Reading: See last slide Syntax and Semantics of Programs Syntax The symbols used to write a program Semantics The actions that occur when a program is executed Programming language
More informationCS101 Introduction to Programming Languages and Compilers
CS101 Introduction to Programming Languages and Compilers In this handout we ll examine different types of programming languages and take a brief look at compilers. We ll only hit the major highlights
More informationCOMS 1003 Fall Introduction to Computer Programming in C. History & Computer Organization. September 15 th
COMS 1003 Fall 2005 Introduction to Computer Programming in C History & Computer Organization September 15 th What's Ahead Some computer history Introduction to major players in the development of hardware
More informationComputer System. Hiroaki Kobayashi 7/25/2011. Agenda. Von Neumann Model Stored-program instructions and data are stored on memory
Computer System Hiroaki Kobayashi 7/25/2011 7/25/2011 Computer Engineering 1 Agenda Basic model of modern computer systems Von Neumann Model Stored-program instructions and data are stored on memory Fundamental
More informationWelcome to COS151! 1.1
Welcome to COS151! Title: Introduction to Computer Science Course website: https://cs.up.ac.za/admin/courses/cos151 Find the study guide there Announcements Assignments (download & upload) Brief overview
More informationMechanization. A little bit of history. Mechanization. The old dream of mechanical computing. Jordi Cortadella Department of Computer Science
Mechanization A little bit of history Jordi Cortadella Department of Computer Science Mechanization 2 The old dream of mechanical computing Roman Abacus Calculating-Table by Gregor Reisch: Margarita Philosophica,
More informationA little bit of history. Jordi Cortadella Department of Computer Science
A little bit of history Jordi Cortadella Department of Computer Science Mechanization Introduction to Programming Dept. CS, UPC 2 Mechanization Introduction to Programming Dept. CS, UPC 3 The old dream
More informationMachine Architecture and Number Systems CMSC104. Von Neumann Machine. Major Computer Components. Schematic Diagram of a Computer. First Computer?
CMSC104 Lecture 2 Remember to report to the lab on Wednesday Topics Machine Architecture and Number Systems Major Computer Components Bits, Bytes, and Words The Decimal Number System The Binary Number
More informationProject Compiler. CS031 TA Help Session November 28, 2011
Project Compiler CS031 TA Help Session November 28, 2011 Motivation Generally, it s easier to program in higher-level languages than in assembly. Our goal is to automate the conversion from a higher-level
More informationChapter 8: Virtual Machine II: Program Control
Elements of Computing Systems, Nisan & Schocken, MIT Press, 2005 Chapter 8: Virtual Machine II: Program Control www.idc.ac.il/tecs Usage and Copyright Notice: Copyright 2005 Noam Nisan and Shimon Schocken
More informationELEMENTARY NUMBER THEORY AND METHODS OF PROOF
CHAPTER 4 ELEMENTARY NUMBER THEORY AND METHODS OF PROOF Copyright Cengage Learning. All rights reserved. SECTION 4.3 Direct Proof and Counterexample III: Divisibility Copyright Cengage Learning. All rights
More informationFoundations. Yu Zhang. Acknowledgement: modified from Stanford CS242
Spring 2013 Foundations Yu Zhang Acknowledgement: modified from Stanford CS242 https://courseware.stanford.edu/pg/courses/317431/ Course web site: http://staff.ustc.edu.cn/~yuzhang/fpl Reading Concepts
More informationSpecial Topics: Programming Languages
Lecture #2 0 V22.0490.001 Special Topics: Programming Languages B. Mishra New York University. Lecture #2 Lecture #2 1 Slide 1 What Constitutes a Programming Language? Desiderata 1. Every computable function
More informationUCB CS61C : Machine Structures
inst.eecs.berkeley.edu/~cs61c UCB CS61C : Machine Structures Lecture 6 Introduction to MIPS Data Transfer & Decisions I Sr Lecturer SOE Dan Garcia 2014-02-03 Prof Pieter Abbeel s recent research is in
More informationCS 430 Computer Architecture. C/Assembler Arithmetic and Memory Access William J. Taffe. David Patterson
CS 430 Computer Architecture C/Assembler Arithmetic and Memory Access William J. Taffe using notes of David Patterson 1 Overview C operators, operands Variables in Assembly: Registers Comments in Assembly
More informationProgramming II (CS300)
1 Programming II (CS300) Chapter 01: Procedural Programming MOUNA KACEM mouna@cs.wisc.edu Fall 2018 Procedural Programming 2 Introduction Procedural Programming: General Overview Procedural Programming:
More informationCOS 126 MIDTERM 1, FALL
COS 126 MIDTERM 1, FALL 2000 1 This test has 12 questions worth a total of 50 points. You have 120 minutes. The exam is closed book, except that you are allowed to use a one page cheatsheet. No calculators
More informationPrinciples of Programming Languages. Lecture Outline
Principles of Programming Languages CS 492 Lecture 1 Based on Notes by William Albritton 1 Lecture Outline Reasons for studying concepts of programming languages Programming domains Language evaluation
More informationIntroduction Objectives: 1) differentiate between high-level, low-level, and machine language; 2) explain why it is necessary to translate a program
Introduction Objectives: 1) differentiate between high-level, low-level, and machine language; 2) explain why it is necessary to translate a program written in a high-level programming language into machine
More informationChapter 13 Control Structures
Chapter 13 Control Structures Highlights Sequence action_1 action_2 Conditional Iteration 13-2 Control Structures Conditional making a decision about which code to execute, based on evaluated expression
More informationAssembler Human Thought
Where we are at: Assembler Human Thought Abstract design Chapters 9, 12 H.L. Language & Operating Sys. Compiler Chapters 10-11 Virtual Machine Software hierarchy VM Translator Chapters 7-8 Assembly Language
More informationThe Stored Program Computer
The Stored Program Computer 1 1945: John von Neumann Wrote a report on the stored program concept, known as the First Draft of a Report on EDVAC also Alan Turing Konrad Zuse Eckert & Mauchly The basic
More informationLecture 4: RISC Computers
Lecture 4: RISC Computers Introduction Program execution features RISC characteristics RISC vs. CICS Zebo Peng, IDA, LiTH 1 Introduction Reduced Instruction Set Computer (RISC) represents an important
More informationChapter 1. The Big Picture
Chapter 1 The Big Picture 1.1 Computing Systems Hardware The physical elements of a computing system (printer, circuit boards, wires, keyboard ) Software The programs that provide the instructions for
More informationProgrammable Machines. One More Functional Unit
Comp, Spring 5 / Lecture page Programmable Machines + In order to compute we need only storage, data paths, and control Help! A General Purpose computer requires one additional thing PROGRAMMABILITY Comp
More informationIntroduction to Computer Systems
Introduction to Computer Systems By Farhan Ahmad farhanahmad@uet.edu.pk Department of Chemical Engineering, University of Engineering & Technology Lahore Introducing Computer Systems Exploring computers
More informationMachine Language Instructions Introduction. Instructions Words of a language understood by machine. Instruction set Vocabulary of the machine
Machine Language Instructions Introduction Instructions Words of a language understood by machine Instruction set Vocabulary of the machine Current goal: to relate a high level language to instruction
More informationAssembler. Building a Modern Computer From First Principles.
Assembler Building a Modern Computer From First Principles www.nand2tetris.org Elements of Computing Systems, Nisan & Schocken, MIT Press, www.nand2tetris.org, Chapter 6: Assembler slide 1 Where we are
More informationIntroduction to C Part 1 HLL s and the Basic Syntax. (Ch11 & 12)
Introduction to C Part 1 HLL s and the Basic Syntax (Ch11 & 12) 1 C: A High-Level Language Gives symbolic names to values don t need to know which register or memory location Provides abstraction of underlying
More informationAssembly Language: Overview
Assembly Language: Overview 1 Goals of this Lecture Help you learn: The basics of computer architecture The relationship between C and assembly language IA-32 assembly language, through an example 2 1
More informationCOSC121: Computer Systems: Review
COSC121: Computer Systems: Review Jeremy Bolton, PhD Assistant Teaching Professor Constructed using materials: - Patt and Patel Introduction to Computing Systems (2nd) - Patterson and Hennessy Computer
More informationFundamentals of Programming
Fundamentals of Programming Introduction to the C language Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa February 29, 2012 G. Lipari (Scuola Superiore Sant Anna) The C language
More informationMachine Architecture and Number Systems
Machine Architecture and Number Systems Topics Major Computer Components Bits, Bytes, and Words The Decimal Number System The Binary Number System Converting from Binary to Decimal Converting from Decimal
More informationAssembly Language: Overview!
Assembly Language: Overview! 1 Goals of this Lecture! Help you learn:" The basics of computer architecture" The relationship between C and assembly language" IA-32 assembly language, through an example"
More informationHow invariants help writing loops Author: Sander Kooijmans Document version: 1.0
How invariants help writing loops Author: Sander Kooijmans Document version: 1.0 Why this document? Did you ever feel frustrated because of a nasty bug in your code? Did you spend hours looking at the
More informationHrs Hrs Hrs Hrs Hrs Marks Marks Marks Marks Marks
Subject Code: CC103-N Subject Title: FUNDAMENTALS OF PROGRAMMING Teaching scheme Total L T P Total Theory Credit Evaluation Scheme Mid Sem Exam CIA Pract. Total Hrs Hrs Hrs Hrs Hrs Marks Marks Marks Marks
More informationCS 61C: Great Ideas in Computer Architecture RISC-V Instruction Formats
CS 61C: Great Ideas in Computer Architecture RISC-V Instruction Formats Instructors: Krste Asanović and Randy H. Katz http://inst.eecs.berkeley.edu/~cs61c/fa17 9/14/17 Fall 2017 - Lecture #7 1 Levels of
More information9/14/17. Levels of Representation/Interpretation. Big Idea: Stored-Program Computer
CS 61C: Great Ideas in Computer Architecture RISC-V Instruction Formats Instructors: Krste Asanović and Randy H. Katz http://inst.eecs.berkeley.edu/~cs61c/fa17 Fall 2017 - Lecture #7 1 Levels of Representation/Interpretation
More informationFrom Algorithms to Architecture....a lightning introduction to computer architecture
From Algorithms to Architecture...a lightning introduction to computer architecture Implementing Algorithms Now have a methodology for going from problem to program Next develop a mental model of a device
More informationCMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 01, SPRING 2013
CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 01, SPRING 2013 TOPICS TODAY Course overview Levels of machines Machine models: von Neumann & System Bus Fetch-Execute Cycle Base
More informationFunctional Programming Principles in Scala. Martin Odersky
Functional Programming Principles in Scala Martin Odersky Programming Paradigms Paradigm: In science, a paradigm describes distinct concepts or thought patterns in some scientific discipline. Main programming
More informationProgrammiersprachen (Programming Languages)
2016-05-13 Preface Programmiersprachen (Programming Languages) coordinates: lecturer: web: usable for: requirements: No. 185.208, VU, 3 ECTS Franz Puntigam http://www.complang.tuwien.ac.at/franz/ps.html
More informationLecture 15: Algorithms. AP Computer Science Principles
Lecture 15: Algorithms AP Computer Science Principles Algorithm algorithm: precise sequence of instructions to solve a computational problem. Search for a name in a phone s contact list. Sort emails by
More informationChapter 13 Control Structures
Chapter 13 Control Structures Control Structures Conditional making a decision about which code to execute, based on evaluated expression if if-else switch Iteration executing code multiple times, ending
More informationHashing. Yufei Tao. Department of Computer Science and Engineering Chinese University of Hong Kong
Department of Computer Science and Engineering Chinese University of Hong Kong In this lecture, we will revisit the dictionary search problem, where we want to locate an integer v in a set of size n or
More informationSelf-reproducing programs. And Introduction to logic. COS 116: 3/6/2008 Sanjeev Arora
Self-reproducing programs. And Introduction to logic. COS 6: 3/6/28 Sanjeev Arora Discussion Time Did Theory of Everything article make you look at something in a new way? How does it connect to Tuesday
More informationBoolean Arithmetic. From Nand to Tetris Building a Modern Computer from First Principles. Chapter 2
From Nand to Tetris Building a Modern Computer from First Principles Chapter 2 Boolean Arithmetic These slides support chapter 2 of the book The Elements of Computing Systems By Noam Nisan and Shimon Schocken
More informationCS 112 Introduction to Programming
Running Time CS 112 Introduction to Programming As soon as an Analytic Engine exists, it will necessarily guide the future course of the science. Whenever any result is sought by its aid, the question
More informationCS1101: Lecture 34. The ISA Level. Instruction Sets. Lecture Outline. Introduction. Data Movement Instructions. Instruction Types
CS1101: Lecture 34 : Instruction Sets Dr. Barry O Sullivan b.osullivan@cs.ucc.ie Instruction Types Lecture Outline Data Movement Instructions Dyadic Operations Monadic Operations Comparisons and Conditional
More informationIn this chapter, you will learn about: The definition of computer science. Algorithms. Invitation to Computer Science, C++ Version, Third Edition
Objectives Chapter 1: An Introduction to Com puter S cience Invitation to Computer Science, C++ Version, Third Edition In this chapter, you will learn about: The definition of computer science Algorithms
More informationLecture 01 & 02 Computer Programming
Lecture 01 & 02 Computer Programming 15 Computer Systems Engineering Second Semester By: Mr. Ali Asghar Manjotho, Lecturer, CSE-MUET Contents Computer programming (LL 02) Why programming? (LL 02) Instructions
More informationMIPS (SPIM) Assembler Syntax
MIPS (SPIM) Assembler Syntax Comments begin with # Everything from # to the end of the line is ignored Identifiers are a sequence of alphanumeric characters, underbars (_), and dots () that do not begin
More informationAlgorithms in Systems Engineering IE170. Lecture 2. Dr. Ted Ralphs
Algorithms in Systems Engineering IE170 Lecture 2 Dr. Ted Ralphs IE170 Lecture 2 1 References for Today s Lecture Required reading CLRS Chapter 1 References D.E. Knuth, The Art of Computer Programming,
More information! Ancient computers. ! Today's microprocessors. Memory. ! Stores data and programs. ! 256 "words." (16 bits each) ! Special word for stdin / stdout.
What is TOY?. The TOY Machine An imaginary machine similar to:! Ancient computers.! Today's microprocessors. Introduction to Computer Science Sedgewick and Wayne Copyright http://www.cs.princeton.edu/introcs
More information2. C99 standard guarantees uniqueness of characters for internal names. A. 12 B. 26 C. 31 D. 48
1. How can you make an infinite loop in C? A. while(1) { } B. loop:... goto loop; C. for(;;) { } D. All answers are right 2. C99 standard guarantees uniqueness of characters for internal names. A. 12 B.
More informationChapter 6: An Introduction to System Software and Virtual Machines
Objectives Chapter 6: An Introduction to System Software and Virtual Machines Invitation to Computer Science, C++ Version, Third Edition In this chapter, you will learn about: System software Assemblers
More informationAn Introduction to System Software and Virtual Machines
n Introduction to System Software and Virtual Machines Chapter 6.1-6.3 Topics: System Software ssemblers and ssembly Language CMPUT11 Introduction to Computing (c) Jia You, Vadim ulitko, Yngvi jornsson
More informationIALP Algorithms
IALP 2011 - Algorithms P. Stallinga MIEET 1º ano Algorithms are general descriptions to solve a problem. Imagine we want to find the greatest common divisor of two integer numbers. (The GCD of two numbers
More informationHögnivåspråk och översättning
Föreläsning 6 Maskinära programmering Högnivåspråk och översättning Processenhetens struktur Zebo Peng, IDA, LiTH 1 Machine Codes Machine codes [maskinkod] are instructions a computer can execute directly.
More informationComputers in Engineering COMP 208. A Brief History. Mechanical Calculators. A Historic Perspective Michael A. Hawker
Computers in Engineering COMP 208 A Historic Perspective Michael A. Hawker Sept 4th, 2007 Computers in Engineering 1 A Brief History Abacus considered first mechanical computing device Used beads and rods
More informationComputers in Engineering COMP 208
Computers in Engineering COMP 208 A Historic Perspective Michael A. Hawker Sept 4th, 2007 Computers in Engineering 1 A Brief History Abacus considered first mechanical computing device Used beads and rods
More informationCOMP 303 Computer Architecture Lecture 3. Comp 303 Computer Architecture
COMP 303 Computer Architecture Lecture 3 Comp 303 Computer Architecture 1 Supporting procedures in computer hardware The execution of a procedure Place parameters in a place where the procedure can access
More informationFunctional Programming in Haskell for A level teachers
Functional Programming in Haskell for A level teachers About this document Functional Programming is now part of the A level curriculum. This document is intended to get those who already have some programming
More informationIWKS 3300: NAND to Tetris Spring John K. Bennett. Assembler
IWKS 3300: NAND to Tetris Spring 2018 John K. Bennett Assembler Foundations of Global Networked Computing: Building a Modern Computer From First Principles This course is based upon the work of Noam Nisan
More informationFundamentals of Python: First Programs. Chapter 1: Introduction Modifications by Mr. Dave Clausen
Fundamentals of Python: First Programs Chapter 1: Introduction Modifications by Mr. Dave Clausen Objectives After completing this chapter, you will be able to: Describe the basic features of an algorithm
More informationCOMP 202 Java in one week
COMP 202 Java in one week... Continued CONTENTS: Return to material from previous lecture At-home programming exercises Please Do Ask Questions It's perfectly normal not to understand everything Most of
More informationCS101 Lecture 29: Brief History of Computing
CS101 Lecture 29: Brief History of Computing "There is no reason anyone would want a computer in their home." -- Ken Olson, founder and CEO of Digital Equipment Corp., 1977 John Magee 1 August 2013 Some
More informationProgramming. leads to programming languages. leads to operating systems
Programming it's hard to do the programming to get something done details are hard to get right, very complicated, finicky not enough skilled people to do what is needed therefore, enlist machines to do
More information1. In COMAL language programs, parameters after name of procedure must be put in A. brackets B. back-slash C. insecure data D.
1. In COMAL language programs, parameters after name of procedure must be put in A. brackets B. back-slash C. insecure data D. punctuation marks 2. Programming language COBOL works best if used for A.
More informationParallel Programming: Background Information
1 Parallel Programming: Background Information Mike Bailey mjb@cs.oregonstate.edu parallel.background.pptx Three Reasons to Study Parallel Programming 2 1. Increase performance: do more work in the same
More informationParallel Programming: Background Information
1 Parallel Programming: Background Information Mike Bailey mjb@cs.oregonstate.edu parallel.background.pptx Three Reasons to Study Parallel Programming 2 1. Increase performance: do more work in the same
More informationbphanikrishna.wordpress.com
Which of the following is not an input device A) plotter B) scanner C) keyboard D) mouse Which of the following statement is syntactically correct [ ] A) printf( %d, &a); B) scanf( %d, a); C) scanf( %d,
More informationContemporary Multilevel Machines
Languages, Levels, Virtual Machines A multilevel machine Contemporary Multilevel Machines A six-level computer. The support method for each level is indicated below the level. The primary difference between
More informationCS 24: INTRODUCTION TO. Spring 2018 Lecture 3 COMPUTING SYSTEMS
CS 24: INTRODUCTION TO Spring 2018 Lecture 3 COMPUTING SYSTEMS LAST TIME Basic components of processors: Buses, multiplexers, demultiplexers Arithmetic/Logic Unit (ALU) Addressable memory Assembled components
More informationWeek One: Introduction A SHORT INTRODUCTION TO HARDWARE, SOFTWARE, AND ALGORITHM DEVELOPMENT
Week One: Introduction A SHORT INTRODUCTION TO HARDWARE, SOFTWARE, AND ALGORITHM DEVELOPMENT Outline In this chapter you will learn: About computer hardware, software and programming How to write and execute
More informationOverview of a computer
Overview of a computer One marks 1. What is von Neumann concept also called as? Stored memory or stored program concept. 2. Who is the father of computer Charles Babbage 3. What is a computer? It is an
More informationLecture 09. Ada to Software Engineering. Mr. Mubashir Ali Lecturer (Dept. of Computer Science)
Lecture 09 Ada to Software Engineering Mr. Mubashir Ali Lecturer (Dept. of dr.mubashirali1@gmail.com 1 Summary of Previous Lecture 1. ALGOL 68 2. COBOL 60 3. PL/1 4. BASIC 5. Early Dynamic Languages 6.
More informationProgramming for Problem Solving 105A L T P Credit Major Minor Total Time
ES- Programming for Problem Solving 105A L T P Credit Major Minor Total Time Test Test 3 - - 3 75 25 100 3h Purpose To familiarize the students with the basics of Computer System and C Programming Course
More informationRecursion. Tjark Weber. Functional Programming 1. Based on notes by Sven-Olof Nyström. Tjark Weber (UU) Recursion 1 / 37
Tjark Weber Functional Programming 1 Based on notes by Sven-Olof Nyström Tjark Weber (UU) Recursion 1 / 37 Background FP I / Advanced FP FP I / Advanced FP This course (Functional Programming I) (5 hp,
More informationFrom Pseudcode Algorithms directly to C++ programs
From Pseudcode Algorithms directly to C++ programs (Chapter 7) Part 1: Mapping Pseudo-code style to C++ style input, output, simple computation, lists, while loops, if statements a bit of grammar Part
More informationChapter 13. Control Structures
Chapter 13 Control Structures Control Structures Conditional making a decision about which code to execute, based on evaluated expression if if-else switch Iteration executing code multiple times, ending
More informationComputer Architecture
Boaz Kantor Introduction to Computer Science, Fall semester 2010-2011 IDC Herzliya Computer Architecture I know what you're thinking, 'cause right now I'm thinking the same thing. Actually, I've been thinking
More informationELEMENTARY NUMBER THEORY AND METHODS OF PROOF
CHAPTER 4 ELEMENTARY NUMBER THEORY AND METHODS OF PROOF Copyright Cengage Learning. All rights reserved. SECTION 4.3 Direct Proof and Counterexample III: Divisibility Copyright Cengage Learning. All rights
More informationKadi Sarva Vishwavidyalaya, Gandhinagar
Kadi Sarva Vishwavidyalaya, Gandhinagar MASTERS OF COMPUTER APPLICATION (MCA) Semester I (First Year) Subject: MCA-101 Programming for Logic Building (LDPL) SUB Teaching scheme Examination scheme Total
More informationWrite "Nell" Write "N" Write "e" Write "l" Write "l" Write "N" Write 4E (hex) Write "e" W rite 65 (hex) Write "l" W rite 6C (hex)
Chapter 7 Exercises 1. What does it mean when we say that a computer is a programmable device? Programmable means that data and instructions are logically the same and are stored in the same place. The
More informationEECS 470 Midterm Exam Winter 2008 answers
EECS 470 Midterm Exam Winter 2008 answers Name: KEY unique name: KEY Sign the honor code: I have neither given nor received aid on this exam nor observed anyone else doing so. Scores: #Page Points 2 /10
More informationComputer Components. Software{ User Programs. Operating System. Hardware
Computer Components Software{ User Programs Operating System Hardware What are Programs? Programs provide instructions for computers Similar to giving directions to a person who is trying to get from point
More informationprintf( Please enter another number: ); scanf( %d, &num2);
CIT 593 Intro to Computer Systems Lecture #13 (11/1/12) Now that we've looked at how an assembly language program runs on a computer, we're ready to move up a level and start working with more powerful
More informationCS140 Lecture 09a: Brief History of Computing
CS140 Lecture 09a: Brief History of Computing "There is no reason anyone would want a computer in their home." -- Ken Olson, founder and CEO of Digital Equipment Corp., 1977 John Magee 17 February 2017
More information3. Java - Language Constructs I
Names and Identifiers A program (that is, a class) needs a name public class SudokuSolver {... 3. Java - Language Constructs I Names and Identifiers, Variables, Assignments, Constants, Datatypes, Operations,
More informationMachine (Assembly) Language Human Thought
Where we are at: Machine (Assembly) Language Human Thought Abstract design hapters 9, 12 abstract interface H.L. Language & Operating Sys. ompiler hapters 10-11 abstract interface Virtual Machine Software
More informationProgramming Language Pragmatics
Chapter 10 :: Functional Languages Programming Language Pragmatics Michael L. Scott Historical Origins The imperative and functional models grew out of work undertaken Alan Turing, Alonzo Church, Stephen
More information