What you need to know about the stored program model

Size: px
Start display at page:

Download "What you need to know about the stored program model"

Transcription

1 What you need to know about the stored program model CMSC 122 CMSC 122 What you need to know about the stored program model 1 / 8

2 Outline 1 Introduction Overview of the Stored Program Model Using JavaScript to manipulate locations CMSC 122 What you need to know about the stored program model 2 / 8

3 Overview of the Stored Program Model What is the stored program model? Informally, a mathematical model offered by John von Neumann as a description of a machine capable of storing and performing algorithms or computer programs. Refresh your understanding: what is a an algorithm/program? A finite sequence of instructions; Well-defined criteria for success; Expressible (explainable) to the computer meaning that the problem can be represented in some formal language. Solution must be obtainable in an acceptable amount of time and space. Computer programs are machine-executable interpretations of algorithms. CMSC 122 What you need to know about the stored program model 3 / 8

4 Overview of the Stored Program Model How do we express programs and related elements? Some language that must be translatable into a language that the machine understands. But, what does work or the solution look like? Informally, the program transforms the data into something that looks like a solution. But where does this transformation take place? Where does data live? CMSC 122 What you need to know about the stored program model 4 / 8

5 Overview of the Stored Program Model Data & Program share memory Data and Program reside in memory This sounds like a simple statement, but it changed everything.... For one thing, this meant that data and program were composed of the same elements, i.e., bits. So we needed a way to tell these apart: location! Interpret the data starting at this location to mean this..., and.... Thus, the meaning of any element (object) in storage is its location, i.e., its address! But, because programs can write (transform) data and programs are data, programs can write programs. (More on this later!) CMSC 122 What you need to know about the stored program model 5 / 8

6 Using JavaScript to manipulate locations How does this look in JavaScript? Below are some typical JavaScript variable (and constant) declarations. /* reserve a space for avariablename */ var avariablename; /* reserve a space for avariablename and * store value in that space. */ var avariablename = value; // assigns value to avariablename /* reserve space for a constant named aconstantname * and set it to a value (that remains unchangable). */ const aconstantname = value; // assigns value to aconstantname CMSC 122 What you need to know about the stored program model 6 / 8

7 Using JavaScript to manipulate locations Some fine points here... The biggest conceptual problem novices have with many programming language is their use of the equals sign, =. Variables (and constants) name locations, which are places in the memory where values can be stored and retrieved. But, the equals sign, =, commonly names a binary relation between two objects that has certain properties (name these). In JavaScript it is called an assignment and it means the result of storing a value into a location. In pseudo-code, I write to mean avariablename = value; avariablename value CMSC 122 What you need to know about the stored program model 7 / 8

8 Using JavaScript to manipulate locations Pseudo-Code I will often use pseudo-code to describe an algorithm, but I will then follow-up with the JavaScript equivalent. This is especially helpful when discussing/demonstrating location operations, such as assignment. Create an in-class example of storing values obtained from a user, performing some transformations, storing those results, and displaying this in a Browser window. CMSC 122 What you need to know about the stored program model 8 / 8

Program Abstractions, Language Paradigms. CS152. Chris Pollett. Aug. 27, 2008.

Program Abstractions, Language Paradigms. CS152. Chris Pollett. Aug. 27, 2008. Program Abstractions, Language Paradigms. CS152. Chris Pollett. Aug. 27, 2008. Outline. Abstractions for telling a computer how to do things. Computational Paradigms. Language Definition, Translation.

More information

Chapter 2 Working with Data Types and Operators

Chapter 2 Working with Data Types and Operators JavaScript, Fourth Edition 2-1 Chapter 2 Working with Data Types and Operators At a Glance Instructor s Manual Table of Contents Overview Objectives Teaching Tips Quick Quizzes Class Discussion Topics

More information

REVIEW AND OUTLOOKS OF THE MEANS FOR VISUALIZATION OF SYNTAX SEMANTICS AND SOURCE CODE. PROCEDURAL AND OBJECT ORIENTED PARADIGM DIFFERENCES

REVIEW AND OUTLOOKS OF THE MEANS FOR VISUALIZATION OF SYNTAX SEMANTICS AND SOURCE CODE. PROCEDURAL AND OBJECT ORIENTED PARADIGM DIFFERENCES REVIEW AND OUTLOOKS OF THE MEANS FOR VISUALIZATION OF SYNTAX SEMANTICS AND SOURCE CODE. PROCEDURAL AND OBJECT ORIENTED PARADIGM DIFFERENCES Hristo Hristov Abstract. In the article, we have reviewed the

More information

Working with JavaScript

Working with JavaScript Working with JavaScript Creating a Programmable Web Page for North Pole Novelties 1 Objectives Introducing JavaScript Inserting JavaScript into a Web Page File Writing Output to the Web Page 2 Objectives

More information

Variables and Typing

Variables and Typing Variables and Typing Christopher M. Harden Contents 1 The basic workflow 2 2 Variables 3 2.1 Declaring a variable........................ 3 2.2 Assigning to a variable...................... 4 2.3 Other

More information

CS321 Languages and Compiler Design I. Winter 2012 Lecture 1

CS321 Languages and Compiler Design I. Winter 2012 Lecture 1 CS321 Languages and Compiler Design I Winter 2012 Lecture 1 1 COURSE GOALS Improve understanding of languages and machines. Learn practicalities of translation. Learn anatomy of programming languages.

More information

CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 01, SPRING 2013

CMSC 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 information

Compiler Design Spring 2018

Compiler Design Spring 2018 Compiler Design Spring 2018 Thomas R. Gross Computer Science Department ETH Zurich, Switzerland 1 Logistics Lecture Tuesdays: 10:15 11:55 Thursdays: 10:15 -- 11:55 In ETF E1 Recitation Announced later

More information

1. Consider the following code snippet. Describe what the user will see when it is executed.

1. Consider the following code snippet. Describe what the user will see when it is executed. These are some practice problems for your final. These problems only cover the "new" material we have covered since the last exam. However, your final will be cumulative, with approximately 50% on the

More information

Expressions in JavaScript. Jerry Cain CS 106AJ October 2, 2017

Expressions in JavaScript. Jerry Cain CS 106AJ October 2, 2017 Expressions in JavaScript Jerry Cain CS 106AJ October 2, 2017 What is JavaScript? JavaScript was developed at the Netscape Communications Corporation in 1995, reportedly by a single programmer in just

More information

C++ Data Types. 1 Simple C++ Data Types 2. 3 Numeric Types Integers (whole numbers) Decimal Numbers... 5

C++ Data Types. 1 Simple C++ Data Types 2. 3 Numeric Types Integers (whole numbers) Decimal Numbers... 5 C++ Data Types Contents 1 Simple C++ Data Types 2 2 Quick Note About Representations 3 3 Numeric Types 4 3.1 Integers (whole numbers)............................................ 4 3.2 Decimal Numbers.................................................

More information

Functional Programming in Haskell Prof. Madhavan Mukund and S. P. Suresh Chennai Mathematical Institute

Functional Programming in Haskell Prof. Madhavan Mukund and S. P. Suresh Chennai Mathematical Institute Functional Programming in Haskell Prof. Madhavan Mukund and S. P. Suresh Chennai Mathematical Institute Module # 02 Lecture - 03 Characters and Strings So, let us turn our attention to a data type we have

More information

JAVASCRIPT - CREATING A TOC

JAVASCRIPT - CREATING A TOC JAVASCRIPT - CREATING A TOC Problem specification - Adding a Table of Contents. The aim is to be able to show a complete novice to HTML, how to add a Table of Contents (TOC) to a page inside a pair of

More information

Extra-credit QUIZ Pipelining -due next time-

Extra-credit QUIZ Pipelining -due next time- QUIZ Pipelining A computer pipeline has 4 processors, as shown above. Each processor takes 15 ms to execute, and each instruction must go sequentially through all 4 processors. A program has 10 instructions.

More information

SOFTWARE ARCHITECTURE 6. LISP

SOFTWARE ARCHITECTURE 6. LISP 1 SOFTWARE ARCHITECTURE 6. LISP Tatsuya Hagino hagino@sfc.keio.ac.jp slides URL https://vu5.sfc.keio.ac.jp/sa/ 2 Compiler vs Interpreter Compiler Translate programs into machine languages Compilers are

More information

Introduction. Computers, algorithms

Introduction. Computers, algorithms Introduction Computers, algorithms Computer mathematical engine that processes programs and data it uses some physical principle, for example: mechanical computers Pascal electronic computers after the

More information

A Small Interpreted Language

A Small Interpreted Language A Small Interpreted Language What would you need to build a small computing language based on mathematical principles? The language should be simple, Turing equivalent (i.e.: it can compute anything that

More information

Software and Hardware

Software and Hardware Software and Hardware Numbers At the most fundamental level, a computer manipulates electricity according to specific rules To make those rules produce something useful, we need to associate the electrical

More information

Types and Static Type Checking (Introducing Micro-Haskell)

Types and Static Type Checking (Introducing Micro-Haskell) Types and Static (Introducing Micro-Haskell) Informatics 2A: Lecture 14 John Longley School of Informatics University of Edinburgh jrl@inf.ed.ac.uk 17 October 2017 1 / 21 1 Types 2 3 4 2 / 21 So far in

More information

Chapter 11 Program Development and Programming Languages

Chapter 11 Program Development and Programming Languages Chapter 11 Program Development and Programming Languages permitted in a license distributed with a certain product or service or otherwise on a password-protected website for classroom use. Programming

More information

React. HTML code is made up of tags. In the example below, <head> is an opening tag and </head> is the matching closing tag.

React. HTML code is made up of tags. In the example below, <head> is an opening tag and </head> is the matching closing tag. Document Object Model (DOM) HTML code is made up of tags. In the example below, is an opening tag and is the matching closing tag. hello The tags have a tree-like

More information

Coding & Computation or What s all this about 1s and 0s? File: coding-computation-slides.tex.

Coding & Computation or What s all this about 1s and 0s? File: coding-computation-slides.tex. Coding & Computation or What s all this about 1s and 0s? File: coding-computation-slides.tex. 1 File: coding-computation-slides.tex. Created: January 28, 2001, sok. 1-1 Topics Aim: Communicate certain

More information

Dr. Chuck Cartledge. 7 Nov. 2017

Dr. Chuck Cartledge. 7 Nov. 2017 5.2 5.3 5.4 Chap. 5 review Conclusion References CSC-205 Computer Organization Lecture #012 Sections 5.2 through 5.4, Machine instructions and assemblers Dr. Chuck Cartledge 7 Nov. 2017 1/17 Table of contents

More information

Welcome to COS151! 1.1

Welcome 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 information

Programming II. Modularity 2017/18

Programming II. Modularity 2017/18 Programming II Modularity 2017/18 Module? Lecture Outline Evolution and history of programming languages Modularity Example History of Programming Programming Paradigms How and why languages develop? How

More information

Functional Programming. Ionut G. Stan - OpenAgile 2010

Functional Programming. Ionut G. Stan - OpenAgile 2010 Functional Programming Ionut G. Stan - OpenAgile 2010 Functional Programming what why how Functional Programming what why how What is FP a programming style What is FP a programming style conceptually

More information

CSCE 120: Learning To Code

CSCE 120: Learning To Code CSCE 120: Learning To Code Manipulating Data I Introduction This module is designed to get you started working with data by understanding and using variables and data types in JavaScript. It will also

More information

Chapter 17. Fundamental Concepts Expressed in JavaScript

Chapter 17. Fundamental Concepts Expressed in JavaScript Chapter 17 Fundamental Concepts Expressed in JavaScript Learning Objectives Tell the difference between name, value, and variable List three basic data types and the rules for specifying them in a program

More information

Why learn Computer Programming? Computer-based problem solving in Science and Engineering. Why learn Fortran? Elementary Computer Organization

Why learn Computer Programming? Computer-based problem solving in Science and Engineering. Why learn Fortran? Elementary Computer Organization CSE 1540.03 Week #1.1 January 6, 2014 Computer-based problem solving in Science and Engineering Pure math: about beautiful relationships, e.g. partial differential equations Applied math: pure math applied

More information

9/7/17. Outline. Name, Scope and Binding. Names. Introduction. Names (continued) Names (continued) In Text: Chapter 5

9/7/17. Outline. Name, Scope and Binding. Names. Introduction. Names (continued) Names (continued) In Text: Chapter 5 Outline Name, Scope and Binding In Text: Chapter 5 Names Variable Binding Type bindings, type conversion Storage bindings and lifetime Scope Lifetime vs. Scope Referencing Environments N. Meng, S. Arthur

More information

Module 5: Javascript, Cookies COM 420

Module 5: Javascript, Cookies COM 420 Module 5: Javascript, Cookies COM 420 What is the real Internet Lab 1 Review Many Nesting Problems How to check your code Why is nesting Important Recap how grades work in the class Re-Submitting and updating

More information

JAVASCRIPT - OBJECTS OVERVIEW

JAVASCRIPT - OBJECTS OVERVIEW JAVASCRIPT - OBJECTS OVERVIEW http://www.tutorialspoint.com/javascript/javascript_objects.htm Copyright tutorialspoint.com JavaScript is an Object Oriented Programming OOP language. A programming language

More information

Formal Specification: Z Notation. CITS5501 Software Testing and Quality Assurance

Formal Specification: Z Notation. CITS5501 Software Testing and Quality Assurance Formal Specification: Z Notation CITS5501 Software Testing and Quality Assurance The Zed Notation, J.M.Spivey. Semester 1, 2017 A Formal Specification Notation A Syntax - often based on set theory and

More information

In this chapter, you will learn about: The definition of computer science. Algorithms. Invitation to Computer Science, C++ Version, Third Edition

In 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 information

Chapter 101. Coding & Computation. Coding & Computation or What s all this about 1s and 0s? Topics

Chapter 101. Coding & Computation. Coding & Computation or What s all this about 1s and 0s? Topics Chapter 101 Coding & Computation 101.0.1 Coding & Computation 1 or What s all this about 1s and 0s? 101.0.2 Topics Aim: Communicate certain fundamental concepts about computers and computing. Relax. Digital

More information

Introduction to C++ Homework Assignment. Fundamental Concepts. rvalues and lvalues. Programming Standards. A Basic Program.

Introduction to C++ Homework Assignment. Fundamental Concepts. rvalues and lvalues. Programming Standards. A Basic Program. Introduction to A Basic Program 01/15/2009 Kill Leftover VNC Sessions Connect to comphy.fsu.edu:#: ( # is your vnc port number) Check your vncserver(s) If a vncserver is up and running there should be

More information

Chapter 2. Designing a Program. Input, Processing, and Output Fall 2016, CSUS. Chapter 2.1

Chapter 2. Designing a Program. Input, Processing, and Output Fall 2016, CSUS. Chapter 2.1 Chapter 2 Input, Processing, and Output Fall 2016, CSUS Designing a Program Chapter 2.1 1 Algorithms They are the logic on how to do something how to compute the value of Pi how to delete a file how to

More information

Denotational Semantics. Domain Theory

Denotational Semantics. Domain Theory Denotational Semantics and Domain Theory 1 / 51 Outline Denotational Semantics Basic Domain Theory Introduction and history Primitive and lifted domains Sum and product domains Function domains Meaning

More information

Programming Languages, Summary CSC419; Odelia Schwartz

Programming Languages, Summary CSC419; Odelia Schwartz Programming Languages, Summary CSC419; Odelia Schwartz Chapter 1 Topics Reasons for Studying Concepts of Programming Languages Programming Domains Language Evaluation Criteria Influences on Language Design

More information

Software Testing Prof. Meenakshi D Souza Department of Computer Science and Engineering International Institute of Information Technology, Bangalore

Software Testing Prof. Meenakshi D Souza Department of Computer Science and Engineering International Institute of Information Technology, Bangalore Software Testing Prof. Meenakshi D Souza Department of Computer Science and Engineering International Institute of Information Technology, Bangalore Lecture 04 Software Test Automation: JUnit as an example

More information

Maciej Sobieraj. Lecture 1

Maciej Sobieraj. Lecture 1 Maciej Sobieraj Lecture 1 Outline 1. Introduction to computer programming 2. Advanced flow control and data aggregates Your first program First we need to define our expectations for the program. They

More information

Beginning HTML. The Nuts and Bolts of building Web pages.

Beginning HTML. The Nuts and Bolts of building Web pages. Beginning HTML The Nuts and Bolts of building Web pages. Overview Today we will cover: 1. what is HTML and what is it not? Building a simple webpage Getting that online. What is HTML? The language of the

More information

Computer Organization and Levels of Abstraction

Computer Organization and Levels of Abstraction Computer Organization and Levels of Abstraction Announcements Today: PS 7 Lab 8: Sound Lab tonight bring machines and headphones! PA 7 Tomorrow: Lab 9 Friday: PS8 Today (Short) Floating point review Boolean

More information

Homework #2. If (your ID number s last two digits % 6) = 0: 6, 12, 18

Homework #2. If (your ID number s last two digits % 6) = 0: 6, 12, 18 2005/Sep/19 1 Homework #2 Chapter 1: Exercises 7, 9 with modifications: for Exercise 7.a: 20 and 32 are changed as your ID number s last two digits and 60. for Exercise 9: 47x25 are change as 47x(your

More information

Introduction to Computers and Programming Languages. CS 180 Sunil Prabhakar Department of Computer Science Purdue University

Introduction to Computers and Programming Languages. CS 180 Sunil Prabhakar Department of Computer Science Purdue University Introduction to Computers and Programming Languages CS 180 Sunil Prabhakar Department of Computer Science Purdue University 1 Objectives This week we will study: The notion of hardware and software Programming

More information

Introduction to Programming in C Department of Computer Science and Engineering. Lecture No. #29 Arrays in C

Introduction to Programming in C Department of Computer Science and Engineering. Lecture No. #29 Arrays in C Introduction to Programming in C Department of Computer Science and Engineering Lecture No. #29 Arrays in C (Refer Slide Time: 00:08) This session will learn about arrays in C. Now, what is the word array

More information

Getting started with C++ (Part 2)

Getting started with C++ (Part 2) Getting started with C++ (Part 2) CS427: Elements of Software Engineering Lecture 2.2 11am, 16 Jan 2012 CS427 Getting started with C++ (Part 2) 1/22 Outline 1 Recall from last week... 2 Recall: Output

More information

Chapter 1: An Introduction to Computer Science. Invitation to Computer Science, C++ Version, 6-th Edition

Chapter 1: An Introduction to Computer Science. Invitation to Computer Science, C++ Version, 6-th Edition Chapter 1: An Introduction to Computer Science Invitation to Computer Science, C++ Version, 6-th Edition Objectives In this chapter, you will learn about The definition of computer science Algorithms A

More information

Web Application Security

Web Application Security Web Application Security Rajendra Kachhwaha rajendra1983@gmail.com September 23, 2015 Lecture 13: 1/ 18 Outline Introduction to AJAX: 1 What is AJAX 2 Why & When use AJAX 3 What is an AJAX Web Application

More information

To be or not programmable Dimitri Papadimitriou, Bernard Sales Alcatel-Lucent April 2013 COPYRIGHT 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED.

To be or not programmable Dimitri Papadimitriou, Bernard Sales Alcatel-Lucent April 2013 COPYRIGHT 2011 ALCATEL-LUCENT. ALL RIGHTS RESERVED. To be or not programmable Dimitri Papadimitriou, Bernard Sales Alcatel-Lucent April 2013 Introduction SDN research directions as outlined in IRTF RG outlines i) need for more flexibility and programmability

More information

Grade 1 Report Card. Rubrics Mathematics

Grade 1 Report Card. Rubrics Mathematics Operations and Algebraic Thinking Grade Report Card Rubrics Mathematics Standard: Demonstrates multiple strategies to fluently add and subtract within 0 (including but not limited to: counting on and making

More information

Grade 6 Math Circles November 6 & Relations, Functions, and Morphisms

Grade 6 Math Circles November 6 & Relations, Functions, and Morphisms Faculty of Mathematics Waterloo, Ontario N2L 3G1 Centre for Education in Mathematics and Computing Relations Let s talk about relations! Grade 6 Math Circles November 6 & 7 2018 Relations, Functions, and

More information

Functional Languages. Hwansoo Han

Functional Languages. Hwansoo Han Functional Languages Hwansoo Han Historical Origins Imperative and functional models Alan Turing, Alonzo Church, Stephen Kleene, Emil Post, etc. ~1930s Different formalizations of the notion of an algorithm

More information

Review: Exam 1. Your First C++ Program. Declaration Statements. Tells the compiler. Examples of declaration statements

Review: Exam 1. Your First C++ Program. Declaration Statements. Tells the compiler. Examples of declaration statements Review: Exam 1 9/20/06 CS150 Introduction to Computer Science 1 1 Your First C++ Program 1 //*********************************************************** 2 // File name: hello.cpp 3 // Author: Shereen Khoja

More information

Programming language components

Programming language components Programming language components syntax: grammar rules for defining legal statements what's grammatically legal? how are things built up from smaller things? semantics: what things mean what do they compute?

More information

Symbol Tables Symbol Table: In computer science, a symbol table is a data structure used by a language translator such as a compiler or interpreter, where each identifier in a program's source code is

More information

Introduction to Scientific Computing Lecture 1

Introduction to Scientific Computing Lecture 1 Introduction to Scientific Computing Lecture 1 Professor Hanno Rein Last updated: September 10, 2017 1 Number Representations In this lecture, we will cover two concept that are important to understand

More information

Constructing Algorithms and Pseudocoding This document was originally developed by Professor John P. Russo

Constructing Algorithms and Pseudocoding This document was originally developed by Professor John P. Russo Constructing Algorithms and Pseudocoding This document was originally developed by Professor John P. Russo Purpose: # Describe the method for constructing algorithms. # Describe an informal language for

More information

Programming Concepts

Programming Concepts CNM STEMulus Center Web Development with PHP November 11, 2015 1/8 Outline 1 2 How Do We Use It? How Do We Write Better Code? How Should I Act? 2/8 What are we training to be? Software Engineer: one who

More information

UC Berkeley EECS Sr Lecturer SOE Dan Watch 13 minute short film before Wednesday The Beauty and Joy of Computing Quest (first exam) in in 9 days!! Lecture #4 : Creativity & Abstraction Luis von Ahn s recent

More information

SYSTEMS PROGRAMMING. Srimanta Pal. Associate Professor Indian Statistical Institute Kolkata OXFORD UNIVERSITY PRESS

SYSTEMS PROGRAMMING. Srimanta Pal. Associate Professor Indian Statistical Institute Kolkata OXFORD UNIVERSITY PRESS SYSTEMS PROGRAMMING Srimanta Pal Associate Professor Indian Statistical Institute Kolkata OXFORD UNIVERSITY PRESS Contents Preface v 1. Scope of Systems Programming 1 1.1 Introduction 7 1.2 Computers and

More information

Manju Muralidharan Priya. CS4PM Web Aesthetics and Development WEEK 11

Manju Muralidharan Priya. CS4PM Web Aesthetics and Development WEEK 11 CS4PM Web Aesthetics and Development WEEK 11 Objective: Understand basics of JScript Outline: a. Basics of JScript Reading: Refer to w3schools websites and use the TRY IT YOURSELF editor and play with

More information

«Computer Science» Requirements for applicants by Innopolis University

«Computer Science» Requirements for applicants by Innopolis University «Computer Science» Requirements for applicants by Innopolis University Contents Architecture and Organization... 2 Digital Logic and Digital Systems... 2 Machine Level Representation of Data... 2 Assembly

More information

2017/08/15 09:31 1/5 Cron Jobs

2017/08/15 09:31 1/5 Cron Jobs 2017/08/15 09:31 1/5 Cron Jobs Cron Jobs Admin Page: Site Setup > Cron Jobs In the admin panel, it gives the warning: Warning: Changing settings on this page can have drastic effects if your server is

More information

Computer Architecture

Computer 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 information

Types and Static Type Checking (Introducing Micro-Haskell)

Types and Static Type Checking (Introducing Micro-Haskell) Types and Static (Introducing Micro-Haskell) Informatics 2A: Lecture 13 Alex Simpson School of Informatics University of Edinburgh als@inf.ed.ac.uk 16 October, 2012 1 / 21 1 Types 2 3 4 2 / 21 Thus far

More information

Computer Organization and Levels of Abstraction

Computer Organization and Levels of Abstraction Computer Organization and Levels of Abstraction Announcements PS8 Due today PS9 Due July 22 Sound Lab tonight bring machines and headphones! Binary Search Today Review of binary floating point notation

More information

Syntax. In Text: Chapter 3

Syntax. In Text: Chapter 3 Syntax In Text: Chapter 3 1 Outline Syntax: Recognizer vs. generator BNF EBNF Chapter 3: Syntax and Semantics 2 Basic Definitions Syntax the form or structure of the expressions, statements, and program

More information

FLOW CHART AND PSEUDO CODE

FLOW CHART AND PSEUDO CODE FLOW CHART AND PSEUDO CODE Flowchart A Flowchart is a pictorial representation of an algorithm. The First flowchart is made by John Von Newman in 1945. It is a symbolic diagram of operation sequence, dataflow,

More information

(Refer Slide Time: 01:40)

(Refer Slide Time: 01:40) Internet Technology Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No #25 Javascript Part I Today will be talking about a language

More information

Car Sounds with JavaScript

Car Sounds with JavaScript Lesson Plan: Car Sounds with JavaScript By Joy Kesten Grades 5-9 Big Ideas: Writing code is a series of instructions, organized in a structure. JavaScript is a front end programming language used to add

More information

5. Applicative Programming. 1. Juli 2011

5. Applicative Programming. 1. Juli 2011 1. Juli 2011 Einführung in die Programmierung Introduction to C/C++, Tobias Weinzierl page 1 of 41 Outline Recapitulation Computer architecture extended: Registers and caches Header files Global variables

More information

Unit E Step-by-Step: Programming with Python

Unit E Step-by-Step: Programming with Python Unit E Step-by-Step: Programming with Python Computer Concepts 2016 ENHANCED EDITION 1 Unit Contents Section A: Hello World! Python Style Section B: The Wacky Word Game Section C: Build Your Own Calculator

More information

State-Based Testing of Ajax Web Applications

State-Based Testing of Ajax Web Applications State-Based Testing of Ajax Web Applications A. Marchetto, P. Tonella and F. Ricca CMSC737 Spring 2008 Shashvat A Thakor 1 Outline Introduction Ajax Overview Ajax Testing Model Extraction Semantic Interactions

More information

Where is the Semantics on the Semantic Web?

Where is the Semantics on the Semantic Web? Where is the Semantics on the Semantic Web? Ontologies and Agents Workshop Autonomous Agents Montreal, 29 May 2001 Mike Uschold Mathematics and Computing Technology Boeing Phantom Works Acknowledgements

More information

Safety SPL/2010 SPL/20 1

Safety SPL/2010 SPL/20 1 Safety 1 system designing for concurrent execution environments system: collection of objects and their interactions system properties: Safety - nothing bad ever happens Liveness - anything ever happens

More information

CS558 Programming Languages

CS558 Programming Languages CS558 Programming Languages Fall 2016 Lecture 7a Andrew Tolmach Portland State University 1994-2016 Values and Types We divide the universe of values according to types A type is a set of values and a

More information

Electronic Mail (SMTP)

Electronic Mail (SMTP) Electronic Mail (SMTP) Nowadays email is more popular than the paper letters called snail-mails. It is a form of network communication. Some of the other forms of network communication being voice-over-internet,

More information

Lab 1 Concert Ticket Calculator

Lab 1 Concert Ticket Calculator Lab 1 Concert Ticket Calculator Purpose To assess your ability to apply the knowledge and skills developed in weeks 1 through 3. Emphasis will be placed on the following learning outcomes: 1. Create and

More information

Knowledge representation Semantic networks and frames

Knowledge representation Semantic networks and frames Knowledge representation Semantic networks and frames CmSc310 Artificial Intelligence 1. Introduction: What is knowledge? The science that studies various issues about knowledge is called epistemology.

More information

COP 3402 Systems Software Top Down Parsing (Recursive Descent)

COP 3402 Systems Software Top Down Parsing (Recursive Descent) COP 3402 Systems Software Top Down Parsing (Recursive Descent) Top Down Parsing 1 Outline 1. Top down parsing and LL(k) parsing 2. Recursive descent parsing 3. Example of recursive descent parsing of arithmetic

More information

Computer Organization & Assembly Language Programming

Computer Organization & Assembly Language Programming Computer Organization & Assembly Language Programming CSE 2312 Lecture 11 Introduction of Assembly Language 1 Assembly Language Translation The Assembly Language layer is implemented by translation rather

More information

Computation Club: Gödel s theorem

Computation Club: Gödel s theorem Computation Club: Gödel s theorem The big picture mathematicians do a lot of reasoning and write a lot of proofs formal systems try to capture the ideas of reasoning and proof in a purely mechanical set

More information

Developing Reusable Device Drivers for MCU's

Developing Reusable Device Drivers for MCU's Embedded Systems Conference East 2012 Page 1 of 20 Developing Reusable Device Drivers for MCU's By Jacob Beningo www.beningo.com http://www.linkedin.com/in/jacobbeningo twitter : Jacob_Beningo EDN Blog

More information

Software. Programming Languages. Types of Software. Types of Languages. Types of Programming. Software does something

Software. Programming Languages. Types of Software. Types of Languages. Types of Programming. Software does something Software Software does something LBSC 690: Week 10 Programming, JavaScript Jimmy Lin College of Information Studies University of Maryland Monday, April 9, 2007 Tells the machine how to operate on some

More information

APA Interprocedural Dataflow Analysis

APA Interprocedural Dataflow Analysis APA Interprocedural Dataflow Analysis Jurriaan Hage e-mail: J.Hage@uu.nl homepage: http://www.cs.uu.nl/people/jur/ Department of Information and Computing Sciences, Universiteit Utrecht May 1, 2014 The

More information

The Further Mathematics Support Programme

The Further Mathematics Support Programme Degree Topics in Mathematics Groups A group is a mathematical structure that satisfies certain rules, which are known as axioms. Before we look at the axioms, we will consider some terminology. Elements

More information

Self-reproducing programs. And Introduction to logic. COS 116: 3/6/2008 Sanjeev Arora

Self-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 information

MITOCW watch?v=kz7jjltq9r4

MITOCW watch?v=kz7jjltq9r4 MITOCW watch?v=kz7jjltq9r4 PROFESSOR: We're going to look at the most fundamental of all mathematical data types, namely sets, and let's begin with the definitions. So informally, a set is a collection

More information

Specifying, Creating, and Comparing Algorithms. And another look at JavaScript

Specifying, Creating, and Comparing Algorithms. And another look at JavaScript Specifying, Creating, and Comparing Algorithms And another look at JavaScript Learning Goals. Characterize a problem solution as an algorithm, including inputs, outputs and any constraints (for example,

More information

This tutorial will teach you about operators. Operators are symbols that are used to represent an actions used in programming.

This tutorial will teach you about operators. Operators are symbols that are used to represent an actions used in programming. OPERATORS This tutorial will teach you about operators. s are symbols that are used to represent an actions used in programming. Here is the link to the tutorial on TouchDevelop: http://tdev.ly/qwausldq

More information

FORTRAN WATFIV. Mohammed Aslam CIS 24 Prof. Kopec Report 01 Date: 03/03/03

FORTRAN WATFIV. Mohammed Aslam CIS 24 Prof. Kopec Report 01 Date: 03/03/03 FORTRAN WATFIV Mohammed Aslam CIS 24 Prof. Kopec Report 01 Date: 03/03/03 WATFIV is an improvement over WATFOR. The University of Waterloo, Ontario, Canada, also developed it. Its name comes from the fact

More information

STEVEN R. BAGLEY INTRODUCTION TO THE COMPUTER

STEVEN R. BAGLEY INTRODUCTION TO THE COMPUTER STEVEN R. BAGLEY INTRODUCTION TO THE COMPUTER INTRODUCTION Look at how a simple computer is built What are the main building blocks, how are they fitted together? Going to go fast, but will come back to

More information

Year 10 OCR GCSE Computer Science (9-1)

Year 10 OCR GCSE Computer Science (9-1) 01 4 th September 02 11 th September 03 18 th September Half Term 1 04 25 th September 05 2 nd October 06 9 th October 07 16 th October NA Students on in school Thursday PM and Friday Only Unit 1, Lesson

More information

Princess Nourah bint Abdulrahman University. Computer Sciences Department

Princess Nourah bint Abdulrahman University. Computer Sciences Department Princess Nourah bint Abdulrahman University 1 And use http://www.w3schools.com/ JavaScript Objectives Introduction to JavaScript Objects Data Variables Operators Types Functions Events 4 Why Study JavaScript?

More information

Order Central Requirements 08/04/2009

Order Central Requirements 08/04/2009 Order Central Requirements 08/04/2009 Contents: Contents:... 1 Table of Figures:... 1 Order Central Architecture... 2 Database:... 2 :... 3 Server:... 3 Browsers:... 3 Minimum Recommended Setup:... 4 Optimum

More information

COMS 469: Interactive Media II

COMS 469: Interactive Media II COMS 469: Interactive Media II Agenda Review Data Types & Variables Decisions, Loops, and Functions Review gunkelweb.com/coms469 Review Basic Terminology Computer Languages Interpreted vs. Compiled Client

More information

CS 265. Computer Architecture. Wei Lu, Ph.D., P.Eng.

CS 265. Computer Architecture. Wei Lu, Ph.D., P.Eng. CS 265 Computer Architecture Wei Lu, Ph.D., P.Eng. Part 3: von Neumann Architecture von Neumann Architecture Our goal: understand the basics of von Neumann architecture, including memory, control unit

More information

HOPE Project AAL Smart Home for Elderly People

HOPE Project AAL Smart Home for Elderly People 1.1.1.1.1 HOPE Project AAL-2008-1-099 Smart Home for Elderly People D10 User Interface Mockup Report Version: 1 1.0 Report Preparation Date: 28.02.2010 Classification: Partner Responsible: Restricted I2S

More information

An Introduction to Lustre

An Introduction to Lustre An Introduction to Lustre Monday Oct 06, 2014 Philipp Rümmer Uppsala University Philipp.Ruemmer@it.uu.se 1/35 ES Programming languages Which language to write embedded software in? Traditional: low-level

More information