Fundamentals of Computer Science

Size: px
Start display at page:

Download "Fundamentals of Computer Science"

Transcription

1 Fundamentals of Computer Science

2 Macmillan Computer Science Series Consulting Editor Professor F. H. Sumner, University of Manchester S.T. Allworth and R.N. Zobel, Introduction to Real-Time Software Design, second edition Ian 0. Angell, A Practical Introduction to Computer Graphics Ian 0. Angell and Gareth Griffith, High Resolution Graphics Using Fortran 77 R.E. Berry and B.A.E. Meekings, A Book on C G.M. Birtwistle, Discrete Event Modelling on Simula T.B. Boffey, Graph Theory in Operations Research Richard Bornat, Understanding and Writing Compilers J.K. Buckle, Software Configuration Management W.D. Burnham and A.R. Hall, Prolog Programming and Applications J.C. Cluley, Interfacing to Microprocessors Robert Cole, Computer Communications, second edition Derek Coleman, A Structured Programming Approach to Data Andrew J. T. Colin, Fundamentals of Computer Science Andrew J.T. Colin, Programming and Problem-solving in Algo/68 S.M. Deen, Fundamentals of Data Base Systems S.M. Deen, Principles and Practice of Data Base Systems B. T. Den vir, Introduction to Discrete Mathematics for Software Engineering P.M. Dew and K.R. James, Introduction to Numerical Computation in Pascal M.R.M. Dunsmuir and G.J. Davies, Programming the UNIX System K.C.E. Gee, Introduction to Local Area Computer Networks J.B. Gosling, Design of Arithmetic Units for Digital Computers Roger Hutty, Fortran for Students Roger Hutty, Z80 Assembly Language Programming for Students Roland N. Ibbett, The Architecture of High Performance Computers Patrick Jaulent, The Hardware and Software J.M. King and J.P. Pardoe, Program Design Using JSP- A Practical Introduction H. Kopetz, Software Reliability E. V. Krishnamurthy, Introductory Theory of Computer Science V.P. Lane, Security of Computer Based Information Systems Graham Lee, From Hardware to Software: an introduction to computers A.M. Lister, Fundamentals of Operating Systems, third edition G.P. McKeown and V.J. Rayward-Smith, Mathematics for Computing Brian Meek, Fortran, PL/1 and the Algols Barry Morrell and Peter Whittle, CP/M 80 Programmer's Guide Derrick Morris, System Programming Based on the PDP// Pim Oets, MS-DOS and PC-DOS - A Practical Guide Christian Queinnec, LISP W.P. Salman, 0. Tisserand and B. Toulout, FORTH L.E. Scales, Introduction to Non-linear Optimization Peter S. Sell, Expert Systems - A Practical Introduction Colin J. Theaker and Graham R. Brookes, A Practical Course on Operating Systems J-M. Trio, Architecture and Programming M.J. Usher, Information Theory for Information Technologists Colin Walls, Programming Dedicated Microprocessors B.S. Walker, Understanding Microprocessors Peter J.L. Wallis, Portable Programming I.R. Wilson and A.M. Addyman, A Practical Introduction to Pascal- with BS6192, second edition

3 Fundamentals of Computer Science Andrew J. T. Colin Professor of Computer Science, University of Strathclyde M MACMILLAN

4 Andrew J. T. Colin 1980 All rights reserved. No reproduction, copy or transmission of this publication may be made without written permission. No paragraph of this publication may be reproduced, copied or transmitted save with written permission or in accordance with the provisions of the Copyright Act 1956 (as amended). Any person who does any unauthorised act in relation to this publication may be liable to criminal prosecution and civil claims for damages. First published 1980 Reprinted 1982, 1983, 1986 Published by MACMILLAN EDUCATION L TO Houndmills, Basingstoke, Hampshire RG21 2XS and London Companies and representatives throughout the world ISBN ISBN (ebook) DOI / The paperback edition of this book is sold subject to the condition that it shall not, by way of trade or otherwise, be lent, resold, hired out, or otherwise circulated without the publisher's prior consent in any form of binding or cover other than that in which it is published and without a similar condition including this condition being imposed on the subsequent purchaser.

5 Contents Preface 1. Information 1.1 The Four Information Revolutions 1.2 Some Properties of Information 1.3 Coding 2. Information Inside Computers 2.1 Representation of Characters 2.2 Representation of Numbers 2.3 External Representations of Binary Numbers 3. The Basic Structure of a Computer 3.1 An Over-all View 3.2 Logic Networks 3.3 The Hydraulic Analogy 3.4 Electronic Circuitry 3.5 Truth Tables 3.6 Conversion between Truth Tables and Logic Networks 3.7 Propagation Time 4. The Implementation of Binary Arithmetic 4.1 Serial and Parallel Transmission of Words 4.2 Addition of Numbers 4.3 Subtraction of Numbers 4.4 The Multiplexer 4.5 Shifting Binary Numbers 4.6 An Arithmetic Unit 5. Sequential Networks 5.1 Storage Elements 5.2 Registers viii

6 5.3 Bus Structures Register Transfer Notation Immediate Access Stores Random Access Memory Read-only Memory Timing Introduction to SNARK 62 7.I The SNARK Computer 7.2 The Basic Structure of the SNARK 7.3 Instructions 7.4 Address Modes 7.5 Input and Output 8. Jump Instructions on SNARK 8.1 Conditional Jumps 8.2 Flow Charts 8.3 Controlled Loops Array Handling on SNARK 9.1 The Internal Format of SNARK Instructions 9.2 Index Modification 9.3 Table Look-up 9.4 Access to Entire Tables 9.5 Table Searching 10. Computers- the Grand Design 10.1 Sequences of Operations 10.2 Variable Sequences 10.3 Design of the SNARK 11. Backing Stores 11.1 Serial Storage 11.2 Cyclic Storage 11.3 Hierarchies of Stores 12. Peripheral Devices 12.1 Peripherals for Human Communication 12.2 Punched Paper 12.3 Links with Mechanical Systems 12.4 Communication

7 Contents vii 13. Software 13.1 S:ymbolic Assemblers 13.2 High-level Languages 13.3 Operating Systems 13.4 The Program library 14. Translators 14.1 Language Definition 14.2 Lexical Analysis 14.3 Syntactic Analysis 14.4 Code Generation 14.5 Compilers and Interpreters 15. The History of Computers IS.1 A Classification of Computers 16. Main-frame Computers 16.1 File Maintenance 16.2 Physical and Engineering Problems 16.3 Operating Systems 17. Minicomputers 17.1 General Applications 17.2 Plant Control 17.3 X-ray Tomography 17.4 Packet Switching 18. Microprocessors 18.1 Toys and Games 18.2 Word Processing 18.3 Microcomputers 18.4 Conclusion Appendix A: SNARK- An Abstract Teaching Machine Appendix B: The SNARK Simulator Program Assignments Sample Solutions Bibliography Index

8 Preface Computer science can be divided into two great streams of knowledge: one is programming, and the other deals with the principles, construction and applications of computer systems. This book is centred on the second stream; it is not primarily about programming, but assumes that the reader is following a parallel course on this key subject. The range of knowledge needed to understand a computer system is large. It includes elementary physics, electronics, information theory, logic design, computer architecture, microcoding, machine code programming, compilers, interpreters, operating systems and a selection of typical applications. Most important of all is an over-all view which reveals how all these different areas can be made to work together in harmony to form an integrated system. Traditional introductory computer science courses tend to consider a selection of these topics in isolation. Thus students may well be taught elementary logic design by one lecturer, assembly code programming by another and a high-level language by a third, but the links between these areas are never explored. The student's impression of the subject is of a few islands of clarity set in a sea of incomprehensible magic. The aim of this book is to dispel the magic by providing a continuous and logically connected survey of the subject. For example, the section on logic design does not stop short at elementary combinatorial functions such as binary addition, but goes on to introduce multiplexers, sequential circuits, and buses. The chapter on over-all computer design does not therefore need to rely on abstractions which have no apparent connection with anything already covered in the course, but can use concepts which are familiar to the student. This continuity of treatment in a first-year course cannot be achieved except at a certain cost. First, the text moves fast, and does not often pause to examine details which are not essential to the main theme. Second, the book traces but a single path across the subject. The aim is to show just one way in which a computer system could be implemented. The route chosen is largely arbitrary, and alternative routes that exist at every stage are simply ignored. Every teacher of computer science will be able to name numerous topics which are given the briefest treatment, or not even mentioned. Nevertheless, the student

9 Preface ix who reads and understands the book will know at least one way to implement a working computer system. His knowledge will not have any conceptual gaps, and he will have a unified framework on which to hang new concepts that he may learn in the future. A computer system is one of the most complex artefacts in existence. The only way to understand it is by a holistic approach. This word, first used by Koestler, describes any hierarchic system in which every component part is itself a system constructed from more elementary components. In computer science, the principle of holism appears at every stage, both in software and hardware, and this book puts it to considerable use. Sometimes, as in describing hardware, the approach is from 'bottom-up'. Some functional unit (say a full adder or a multiplexer) is fully described in terms of its elementary components, then it is notionally sealed in a box with the appropriate number of terminals, and used as an 'elementary' component in a more complex structure such as a parallel adder or arithmetic unit. In software, the design method is more often 'top-down'. The book recommends the use of flow charts in which the portions which are not clearly understood at any stage are drawn as 'clouds'. Later, these clouds are expanded and elaborated, perhaps through several levels, until the entire algorithm can be expressed in elementary terms. The use of structure to describe complex systems is perhaps one of the most important mental tools at our disposal. It is hoped that the integrated approach used in this book will help its readers to become totally familiar with the method, and be able to apply it in their everyday study and work. At the end of the book there are ten 'assignments', each based on the ground covered by one or two chapters. Sample solutions are provided. The three assignments on machine coding assume the use of a simple simulator for the SNARK abstract machine. Appendix B includes the listing of a suitable BASIC program for an 8K Commodore PET 2001 *.The program does not make use of graphics or any other of the special features of this machine, and can easily be adapted to run on other systems. My thanks are due to many people who have made the publication of this book possible: to students and colleagues at the University of Strathclyde, who have read the manuscript, made comments and found errors; to Frank Sumner and Simon Lavington, who gave me constant encouragement and detailed, constructive criticism; to Miss Agnes Wisley who typed the book (parts of it many times over); and above all to my wife and family, who left me undisturbed at times when they had every legitimate claim on my time and attention. Glasgow January, 1980 ANDREWCOUN * A cassette tape of this program can be bought from Commodore Ltd, 360 Euston Road, London,NWl

10 Abbreviations ACC ARPA ASCII BASIC BNF CIR COBOL DEC EBCDIC EMI GPO IBM ICL JCL MAR PET Accumulator Advanced Research Project Agency American Standard Code for Information Interchange Beginners' All-purpose Symbolic Information Code Backus-Naur Form Current Instruction Register Common Business-oriented Language Digital Equipment Corporation Extended Binary Coded Decimal Interchange Code Electrical and Musical Industries Ltd General Post Office International Business Machines Ltd International Computers Ltd Job Description Language Memory Address Register Personal Electronic Transactor

Macmillan Computer Science Series

Macmillan Computer Science Series Macmillan Computer Science Series Consulting Editor Professor F.H. Sumner, University of Manchester S.T. Allworth and R.N. Zobel, Introduction to Real-time Software Design, second edition Ian O. Angell

More information

Fundamentals of Operating Systems

Fundamentals of Operating Systems Fundamentals of Operating Systems Macmillan Computer Science Series Consulting Editor Professor F. H. Sumner, University of Manchester S. T. Allworth, Introduction to Real-time Software Design Ian O. Angell,

More information

Macmillan Computer Science Series Consulting Editor Professor F.H. Sumner, University of Manchester

Macmillan Computer Science Series Consulting Editor Professor F.H. Sumner, University of Manchester Macmillan Computer Science Series Consulting Editor Professor F.H. Sumner, University of Manchester S.T. Allworth and R.N. Zobel, Introduction to Real-time Software Design, second edition Ian O. Angell

More information

Understanding and Writing Compilers

Understanding and Writing Compilers Understanding and Writing Compilers Macmillan Computer Science Series Consulting Editor Professor F. H. Sumner, University of Manchester G. M. Birtwistle, Discrete Event Modelling on Simula Richard Bornat,

More information

A Structured Programming Approach to Data

A Structured Programming Approach to Data A Structured Programming Approach to Data Macmillan Computer Science Series Consulting Editor: Professor F. H. Sumner, University of Manchester J. K. Buckle, The ICL 2900 Series Andrew J. T. Colin, Programming

More information

Program and Electronic Projects for the SSC, Electron and Spectrum Computers

Program and Electronic Projects for the SSC, Electron and Spectrum Computers Program and Electronic Projects for the SSC, Electron and Spectrum Computers Macmillan Electronic Projects Series Audio Circuits and Projects (revised edition) Graham Bishop Program and Electronic Projects

More information

Fundamentals of Operating Systems. Fifth Edition

Fundamentals of Operating Systems. Fifth Edition Fundamentals of Operating Systems Fifth Edition Fundamentals of Operating Systems A.M. Lister University of Queensland R. D. Eager University of Kent at Canterbury Fifth Edition Springer Science+Business

More information

Assembly Language Assembled for the Sinclair ZX81

Assembly Language Assembled for the Sinclair ZX81 Assembly Language Assembled for the Sinclair ZX81 Macmillan Computing Books Assembly Language Programming for the BBC Microcomputer Ian Birnbaum Advanced Programming for the 16K ZX81 Mike Costello Microprocessors

More information

MASTERING COBOL PROGRAMMING

MASTERING COBOL PROGRAMMING MASTERING COBOL PROGRAMMING MACMILLAN MASTER SERIES Banking Basic English Law Basic Management Biology British Politics Business Communication Business Microcomputing Chemistry COBOL Programming Commerce

More information

Computer Literacy - A Beginners' Guide

Computer Literacy - A Beginners' Guide Computer Literacy - A Beginners' Guide Other Macmillan Books of Related Interest Advanced Graphics with the Acorn Electron Ian O. Angell and Brian J. Jones Advanced Graphics with the BBC Model B Microcomputer

More information

Macmillan Computer Science Series Consulting Editor: Professor F.R. Sumner, University of Manchester

Macmillan Computer Science Series Consulting Editor: Professor F.R. Sumner, University of Manchester Macmillan Computer Science Series Consulting Editor: Professor F.R. Sumner, University of Manchester A. Abdellatif, J. Le Bihan and M. Limame, Oracle - A user's guide S.:r. Allworth and R.N. Zobel, Introduction

More information

Mastering. Pascal and Delphi Programming

Mastering. Pascal and Delphi Programming Mastering Pascal and Delphi Programming MACMILLAN MASTER SERIES Accounting Advanced English Language Advanced Pure Mathematics Arabic Banking Basic Management Biology British Politics Business Administration

More information

Mastering. Spreadsheets Q

Mastering. Spreadsheets Q Mastering Spreadsheets Q Macmillan Master Series Accounting Arabic Astronomy Background to Business Banking Basic Management Biology British Politics Business Communication Business Law Business Microcomputing

More information

The Commodore 64 in Action

The Commodore 64 in Action The Commodore 64 in Action Also from Macmillan Advanced Graphics with the IBM Personal Computer Ian O. Angell Advanced Graphics with the Acorn Electron Ian O. Angell and Brian J. Jones Advanced Graphics

More information

J. C. Cluley, Interf. Macmillan Computer Science Series Consulting Editor Professor F. H. Sumner, University of Manchester

J. C. Cluley, Interf. Macmillan Computer Science Series Consulting Editor Professor F. H. Sumner, University of Manchester Macmillan Computer Science Series Consulting Editor Professor F. H. Sumner, University of Manchester S. T. Allworth and R.N. Zobel, Introduction to Real-time Software Design, second edition Ian 0. Angell

More information

Macmillan Computer Science Series Consulting Editor: Professor F.H. Sumner, University of Manchester

Macmillan Computer Science Series Consulting Editor: Professor F.H. Sumner, University of Manchester Macmillan Computer Science Series Consulting Editor: Professor F.H. Sumner, University of Manchester A. Abdellatif, J. Le Bihan, M. Limame, Oracle- A User's Guide I. 0. Angell, High-resolution Computer

More information

0 Mastering Microsoft Office

0 Mastering Microsoft Office 0 Mastering Microsoft Office MACMILLAN MASTER SERIES Accounting Advanced English Language Advanced Pure Mathematics Arabic Banking Basic Management Biology British Politics Business Administration Business

More information

MacmUI8D Computer Science Series Consulting Editor: Professor F.H. Sumner, University of Manchester

MacmUI8D Computer Science Series Consulting Editor: Professor F.H. Sumner, University of Manchester MacmUI8D Computer Science Series Consulting Editor: Professor F.H. Sumner, University of Manchester A. Abdellatif, J. Le Bihan, M. Limame, Oracle - A User's Guide Ian O. Angell, High-resolution Computer

More information

Word Processing with Amstrad

Word Processing with Amstrad Word Processing with Amstrad Other business computer books from Macmillan Planning for Data Communications J. E. Bingham and G. W. P. Davies The Ultimate Software Selector for Business Micros Federation

More information

Advanced Graphics with the Commodore 128

Advanced Graphics with the Commodore 128 Advanced Graphics with the Commodore 128 MacmUian Microcomputer Books General Editor: Ian Birnbaum (General Adviser (Microelectronics in Education) Education Department, Humberside County Council)) Advanced

More information

MACMILAN MASTER SBUEI

MACMILAN MASTER SBUEI Mastering JavaO MACMILAN MASTER SBUEI Accounting Advanced English Language Advanced Pure Mathematics Arabic Banking Basic Management Biology British Politics Business Administration Business Communication

More information

.,JID Macmillan Modern Office f..dst'pj lnto . 4 D I. :.sp.. w ay :e ~l. ..II Joanna Gosling l... l. MACMILLAN

.,JID Macmillan Modern Office f..dst'pj lnto . 4 D I. :.sp.. w ay :e ~l. ..II Joanna Gosling l... l. MACMILLAN .,JID Macmillan Modern Office 0. 1. D I f..dst'pj lnto. 4 :.sp.. w ay :e ~l..ii Joanna Gosling l... l. M MACMILLAN Joanna Gosling 1989 All rights reserved. No reproduction, copy or transmission of this

More information

New Syllabus Mathematics for 0-Level 1

New Syllabus Mathematics for 0-Level 1 New Syllabus Mathematics for 0-Level 1 New Syllabus Mathematics for 0-Level 1 New Syllabus Mathematics for 0-Level 2 New Syllabus Mathematics for 0-Levell Owen Perry, B.Sc., Head of Department of General

More information

A Structured Programming Approach to Data

A Structured Programming Approach to Data A Structured Programming Approach to Data Derek Coleman A Structured Programming Approach to Data Springer-Verlag New York Derek Coleman Department of Computation Institute of Science Technology University

More information

In Business Now Series Graphs and Charts Renee Huggett Markets Renee Huggett

In Business Now Series Graphs and Charts Renee Huggett Markets Renee Huggett Graphs and Charts In Business Now Series Graphs and Charts Renee Huggett Markets Renee Huggett IN BUSINESS NOW Graphs and Charts Renée Huggett M MACMILLAN Renée Huggett 1990 All rights reserved. No reproduction,

More information

Non-series Roy Anderson, Management, Infonnation Systems and Computers I. 0. Angell, Advanced Graphics with the IBM Personal Computer

Non-series Roy Anderson, Management, Infonnation Systems and Computers I. 0. Angell, Advanced Graphics with the IBM Personal Computer Macmillan Computer Science Series Consulting Editor Professor F. H. Sumner, University of Manchester S. T. Allworth and R. N. Zobel, Introduction to Real-time Software Design, second edition Ian 0. Angell,

More information

1. Fundamental Concepts

1. Fundamental Concepts 1. Fundamental Concepts 1.1 What is a computer? A computer is a data processing machine which is operated automatically under the control of a list of instructions (called a program) stored in its main

More information

Honorary Professor Supercomputer Education and Research Centre Indian Institute of Science, Bangalore

Honorary Professor Supercomputer Education and Research Centre Indian Institute of Science, Bangalore COMPUTER ORGANIZATION AND ARCHITECTURE V. Rajaraman Honorary Professor Supercomputer Education and Research Centre Indian Institute of Science, Bangalore T. Radhakrishnan Professor of Computer Science

More information

Mastering. C Programming 0

Mastering. C Programming 0 Mastering C Programming 0 Palgrave Master Series Accounting Accounting Skills Advanced English Language Advanced English Literature Advanced Pure Mathematics Arabic Basic Management Biology British Politics

More information

This content has been downloaded from IOPscience. Please scroll down to see the full text.

This content has been downloaded from IOPscience. Please scroll down to see the full text. This content has been downloaded from IOPscience. Please scroll down to see the full text. Download details: IP Address: 148.251.232.83 This content was downloaded on 22/11/2018 at 08:50 Please note that

More information

INFS 214: Introduction to Computing

INFS 214: Introduction to Computing INFS 214: Introduction to Computing Session 11 Principles of Programming Lecturer: Dr. Ebenezer Ankrah, Dept. of Information Studies Contact Information: eankrah@ug.edu.gh College of Education School of

More information

BCS Higher Education Qualifications. Level 4 Certificate in IT. Computer Network Technology Syllabus

BCS Higher Education Qualifications. Level 4 Certificate in IT. Computer Network Technology Syllabus BCS Higher Education Qualifications Level 4 Certificate in IT Computer Network Technology Syllabus Version 4.0 December 2016 This is a United Kingdom government regulated qualification which is administered

More information

Interfacing with C++

Interfacing with C++ Interfacing with C++ Jayantha Katupitiya Kim Bentley Interfacing with C++ Programming Real-World Applications ABC Dr. Jayantha Katupitiya Senior Lecturer School of Mechanical and Manufacturing Engineering

More information

Creating a procedural computer program using COBOL Level 2 Notes for City & Guilds 7540 Unit 005

Creating a procedural computer program using COBOL Level 2 Notes for City & Guilds 7540 Unit 005 Creating a procedural computer program using COBOL Level 2 Notes for City & Guilds 7540 Unit 005 Compatible with Micro Focus Net Express 5.0 COBOL compiler Version 1 Tench Computing Ltd Pines Glendale

More information

DIGITA L LOGIC AND COMPUTER ORGA NIZATION

DIGITA L LOGIC AND COMPUTER ORGA NIZATION DIGITA L LOGIC AND COMPUTER ORGA NIZATION V. RAJARAMAN Honorary Professor Supercomputer Education and Research Centre Indian Institute of Science, Bangalore T. RADHAKRISHNAN Professor of Computer Science

More information

Introduction to Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Introduction to Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University Introduction to Operating Systems Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Today s Topics What is OS? History of OS 2 What is OS? (1) Application

More information

Computer Systems Architecture

Computer Systems Architecture Computer Systems Architecture Guoping Qiu School of Computer Science The University of Nottingham http://www.cs.nott.ac.uk/~qiu 1 The World of Computers Computers are everywhere Cell phones Game consoles

More information

Introduction to Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Introduction to Operating Systems. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University Introduction to Operating Systems Jin-Soo Kim (jinsookim@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu Why OS? 2 What is an OS? Software that converts hardware into

More information

FUNDAMENTALS OF DIGITAL CIRCUITS

FUNDAMENTALS OF DIGITAL CIRCUITS FUNDAMENTALS OF DIGITAL CIRCUITS THIRD EDITION A. Anand Kumar Principal K.L. University College of Engineering K.L. University Green Fields, Vaddeswaram Guntur District Andhra Pradesh Delhi-110092 2014

More information

Computer Organization And Design, Fourth Edition: The Hardware/Software Interface (The Morgan Kaufmann Series In Computer Architecture And Design)

Computer Organization And Design, Fourth Edition: The Hardware/Software Interface (The Morgan Kaufmann Series In Computer Architecture And Design) Computer Organization And Design, Fourth Edition: The Hardware/Software Interface (The Morgan Kaufmann Series In Computer Architecture And Design) PDF This Fourth Revised Edition of Computer Organization

More information

1/14/2014. Introduction to CSE 1325 Object Oriented Programming (Using Java) Introduction (Cont.) Introduction

1/14/2014. Introduction to CSE 1325 Object Oriented Programming (Using Java) Introduction (Cont.) Introduction Introduction (Cont.) Introduction to CSE 1325 Object Oriented Programming (Using Java) Sharma Chakravarthy Information Technology Laboratory (IT Lab) Computer Science and Engineering Department The University

More information

CS2303 C14 Systems Programming Concepts. Bob Kinicki

CS2303 C14 Systems Programming Concepts. Bob Kinicki CS2303 C14 Concepts Bob Kinicki Survey and TA/SA s Pause to Look Backwards and Forwards Course Objectives Course Operation/Expectations Course Plan and Syllabus Systems Concepts Higher Level Language

More information

Digital Electronics A Practical Approach with VHDL William Kleitz Ninth Edition

Digital Electronics A Practical Approach with VHDL William Kleitz Ninth Edition Digital Electronics A Practical Approach with VHDL William Kleitz Ninth Edition Pearson Education Limited Edinburgh Gate Harlow Essex CM20 2JE England and Associated Companies throughout the world Visit

More information

HIGHER SECONDARY FIRST YEAR 2 MARK & 5 MARK NOTES CHAPTER 1 1. INTRODUCTION TO COMPUTER

HIGHER SECONDARY FIRST YEAR 2 MARK & 5 MARK NOTES CHAPTER 1 1. INTRODUCTION TO COMPUTER 1. What is computer? CHAPTER 1 1. INTRODUCTION TO COMPUTER A computer is an electronic machine, capable of performing basic operations like addition, subtraction, multiplication, division, etc. The computer

More information

COURSE OUTLINE & WEEK WISE BREAKAGE

COURSE OUTLINE & WEEK WISE BREAKAGE COURSE OUTLINE & WEEK WISE BREAKAGE Week wise Course outline of Computer Fundamentals & Programming (CE-100) 3+1 (Batch 2018-Electronic Engineering) Dated: 13-12-2017 Course Coordinator: Saeed Azhar WEEK

More information

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR 603203 DEPARTMENT OF COMPUTER SCIENCE & APPLICATIONS LESSON PLAN (207-208) Course / Branch : B.Sc CS Total Hours : 50 Subject Name : Digital Electronics

More information

Software Maintenance and Evolution

Software Maintenance and Evolution Software Maintenance and Evolution Minsoo Ryu Hanyang University Topics Covered 1. Software Maintenance and Evolution 2. Reverse Engineering 3. Reengineering 2 2 Software Change Software change is inevitable

More information

COMPUTER - GENERATIONS

COMPUTER - GENERATIONS COMPUTER - GENERATIONS http://www.tutorialspoint.com/computer_fundamentals/computer_generations.htm Copyright tutorialspoint.com Generation in computer terminology is a change in technology a computer

More information

MICROPROCESSOR 8085 AND ITS INTERFACING SUNIL MATHUR. Second Edition A 1 ALE AD 0 - AD 7. Latch. Keyboard data V CC 8 P A D D 0 7 STB STB G G A

MICROPROCESSOR 8085 AND ITS INTERFACING SUNIL MATHUR. Second Edition A 1 ALE AD 0 - AD 7. Latch. Keyboard data V CC 8 P A D D 0 7 STB STB G G A Second Edition MICROPROCESSOR 8085 AND ITS INTERFACING ALE AD 0 - AD 7 LE Latch A 1 A 1 A 0 A 0 A 2 A7 D D 0 7 P A Keyboard data V CC 8 0 8 5 WR RD IO/M 1 2 G2B G G A A 3:8 B Decoder 5 C 3 Gnd IOR IOW

More information

Ferranti Atlas 1 & 2 Software & Sample Programs Version 1: 11 November 2003

Ferranti Atlas 1 & 2 Software & Sample Programs Version 1: 11 November 2003 1. Available Software Ferranti Atlas 1 & 2 Software & Sample Programs Version 1: 11 November 2003 Contents 1. Available Software 2. Sample ABL 3. Job Descriptions 4. A Simple Program 5. References Atlas

More information

Microprocessor Theory

Microprocessor Theory Microprocessor Theory and Applications with 68000/68020 and Pentium M. RAFIQUZZAMAN, Ph.D. Professor California State Polytechnic University Pomona, California and President Rafi Systems, Inc. WILEY A

More information

IBM 370 Basic Data Types

IBM 370 Basic Data Types IBM 370 Basic Data Types This lecture discusses the basic data types used on the IBM 370, 1. Two s complement binary numbers 2. EBCDIC (Extended Binary Coded Decimal Interchange Code) 3. Zoned Decimal

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

LOGIC DESIGN. Dr. Mahmoud Abo_elfetouh

LOGIC DESIGN. Dr. Mahmoud Abo_elfetouh LOGIC DESIGN Dr. Mahmoud Abo_elfetouh Course objectives This course provides you with a basic understanding of what digital devices are, how they operate, and how they can be designed to perform useful

More information

ISBN

ISBN Learn Africa Plc Felix Iwerebon House 52 Oba Akran Avenue P.M.B. 21036 Ikeja, Lagos State, Nigeria Telephone: (01) 08055844008, 07027210085 E-mail: learnafrica@learnafricaplc.com Website: www.learnafricaplc.com

More information

Cambridge International Examinations Cambridge International Advanced Subsidiary and Advanced Level

Cambridge International Examinations Cambridge International Advanced Subsidiary and Advanced Level Cambridge International Examinations Cambridge International Advanced Subsidiary and Advanced Level *1424651924* COMPUTER SCIENCE 9608/13 Paper 1 Theory Fundamentals May/June 2015 1 hour 30 minutes Candidates

More information

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

SKILL AREA 304: Review Programming Language Concept. Computer Programming (YPG) SKILL AREA 304: Review Programming Language Concept Computer Programming (YPG) 304.1 Demonstrate an Understanding of Basic of Programming Language 304.1.1 Explain the purpose of computer program 304.1.2

More information

Read & Download (PDF Kindle) Data Structures And Other Objects Using Java (4th Edition)

Read & Download (PDF Kindle) Data Structures And Other Objects Using Java (4th Edition) Read & Download (PDF Kindle) Data Structures And Other Objects Using Java (4th Edition) Data Structures and Other Objects Using Java is a gradual, "just-in-time" introduction to Data Structures for a CS2

More information

SUGGESTIONS FOR FURTHER READING

SUGGESTIONS FOR FURTHER READING SUGGESTIONS FOR FURTHER READING With the exception of the books marked *, which are handbooks or similar, these are pamphlets, paperback books or relatively inexpensive hardback books. Chapter 2 Central

More information

Introduction to Operating Systems

Introduction to Operating Systems Introduction to Operating Systems Jinkyu Jeong (jinkyu@skku.edu) Computer Systems Laboratory Sungkyunkwan University http://csl.skku.edu EEE3052: Introduction to Operating Systems, Fall 2017, Jinkyu Jeong

More information

CPU ARCHITECTURE. QUESTION 1 Explain how the width of the data bus and system clock speed affect the performance of a computer system.

CPU ARCHITECTURE. QUESTION 1 Explain how the width of the data bus and system clock speed affect the performance of a computer system. CPU ARCHITECTURE QUESTION 1 Explain how the width of the data bus and system clock speed affect the performance of a computer system. ANSWER 1 Data Bus Width the width of the data bus determines the number

More information

Data Structures And Other Objects Using Java Download Free (EPUB, PDF)

Data Structures And Other Objects Using Java Download Free (EPUB, PDF) Data Structures And Other Objects Using Java Download Free (EPUB, PDF) This is the ebook of the printed book and may not include any media, website access codes, or print supplements that may come packaged

More information

Network Working Group 25 January 1971

Network Working Group 25 January 1971 Network Working Group 25 January 1971 Request for Comments: 90 R. T. Braden NIC 5707 A. INTRODUCTION CCN AS A NETWORK SERVICE CENTER CCN, the Campus Computing network of UCLA, will shortly be connected

More information

Introduction to Computers - Chapter 4

Introduction to Computers - Chapter 4 Introduction to Computers - Chapter 4 Since the invention of the transistor and the first digital computer of the 1940s, computers have been increasing in complexity and performance; however, their overall

More information

Software Development for SAP R/3

Software Development for SAP R/3 Software Development for SAP R/3 Springer-Verlag Berlin Heidelberg GmbH Ulrich Mende Software Development for SAP R/3 Data Dictionary, ABAP/4, Interfaces With Diskette With 124 Figures and Many Example

More information

Preface. This Book and Simulation Software Bundle Project

Preface. This Book and Simulation Software Bundle Project Preface This Book and Simulation Software Bundle Project Dear Reader, this book project brings to you a unique study tool for ESD protection solutions used in analog-integrated circuit (IC) design. Quick-start

More information

Topological Structure and Analysis of Interconnection Networks

Topological Structure and Analysis of Interconnection Networks Topological Structure and Analysis of Interconnection Networks Network Theory and Applications Volume 7 Managing Editors: Ding-Zhu Du, University of Minnesota, U.S.A. and Cauligi Raghavendra, University

More information

Database System Concepts Ebooks Free

Database System Concepts Ebooks Free Database System Concepts Ebooks Free Database System Concepts by Silberschatz, Korth and Sudarshan is now in its 6th edition and is one of the cornerstone texts of database education. It presents the fundamental

More information

EECE416 :Microcomputer Fundamentals and Design ( Microcomputer & Microprocessor ) COMPUTER HISTORY. Computers and Microprocessors

EECE416 :Microcomputer Fundamentals and Design ( Microcomputer & Microprocessor ) COMPUTER HISTORY. Computers and Microprocessors EECE416 :Microcomputer Fundamentals and Design ( Microcomputer & Microprocessor ) COMPUTER HISTORY 1 Computers and Microprocessors Everywhere PC, VCR, Toys, etc Hardware and Software Evolution of up First

More information

William Paterson University of New Jersey Department of Computer Science College of Science and Health Course Outline

William Paterson University of New Jersey Department of Computer Science College of Science and Health Course Outline William Paterson University of New Jersey Department of Computer Science College of Science and Health Course Outline I. Course Title: CS 280 Computer and Assembler Language 3 credits II. III. IV. Course

More information

The British Broadcasting Corporation Microcomputer Second Processor

The British Broadcasting Corporation Microcomputer Second Processor The British Broadcasting Corporation Microcomputer 32016 Second Processor The British Broadcasting Corporation Microcomputer 32016 Second Processor The 32016 Second Processor is an extension unit which

More information

CS311 Lecture: CPU Implementation: The Register Transfer Level, the Register Set, Data Paths, and the ALU

CS311 Lecture: CPU Implementation: The Register Transfer Level, the Register Set, Data Paths, and the ALU CS311 Lecture: CPU Implementation: The Register Transfer Level, the Register Set, Data Paths, and the ALU Last revised October 15, 2007 Objectives: 1. To show how a CPU is constructed out of a regiser

More information

Vanavani Mat. Hr. Sec. School. Subject : Computer Science Std: XI. Quarterly Exam Key

Vanavani Mat. Hr. Sec. School. Subject : Computer Science Std: XI. Quarterly Exam Key Vanavani Mat. Hr. Sec. School Subject : Computer Science Std: XI Quarterly Exam Key Part I (15 X 1 = 15) 1. d 2. A 3. C 4. D 5. D 6. c 7. B 8. A 9. D 10. B 11. d 12. C 13. D 14. A 15. A Part B -Any Six

More information

COSC 243 (Computer Architecture)

COSC 243 (Computer Architecture) COSC 243 Computer Architecture And Operating Systems 1 Dr. Andrew Trotman Instructors Office: 123A, Owheo Phone: 479-7842 Email: andrew@cs.otago.ac.nz Dr. Zhiyi Huang (course coordinator) Office: 126,

More information

Network Performance Analysis

Network Performance Analysis Network Performance Analysis Network Performance Analysis Thomas Bonald Mathieu Feuillet Series Editor Pierre-Noël Favennec First published 2011 in Great Britain and the United States by ISTE Ltd and

More information

INTRODUCTION OF MICROPROCESSOR& INTERFACING DEVICES Introduction to Microprocessor Evolutions of Microprocessor

INTRODUCTION OF MICROPROCESSOR& INTERFACING DEVICES Introduction to Microprocessor Evolutions of Microprocessor Course Title Course Code MICROPROCESSOR & ASSEMBLY LANGUAGE PROGRAMMING DEC415 Lecture : Practical: 2 Course Credit Tutorial : 0 Total : 5 Course Learning Outcomes At end of the course, students will be

More information

C++ Programming Language Lecture 1 Introduction

C++ Programming Language Lecture 1 Introduction C++ Programming Language Lecture 1 Introduction By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department Introduction In this course you will learn C++ and the legacy C code. It is

More information

CS101 Introduction to Programming Languages and Compilers

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

COMP2 (JAN10COMP201) General Certificate of Education Advanced Subsidiary Examination January 2010

COMP2 (JAN10COMP201) General Certificate of Education Advanced Subsidiary Examination January 2010 Centre Number Surname Candidate Number For Examiner s Use Other Names Candidate Signature Examiner s Initials Computing General Certificate of Education Advanced Subsidiary Examination January 2010 COMP2

More information

OPERATING SYSTEMS. Goals of the Course. This lecture will cover: This Lecture will also cover:

OPERATING SYSTEMS. Goals of the Course. This lecture will cover: This Lecture will also cover: OPERATING SYSTEMS This lecture will cover: Goals of the course Definitions of operating systems Operating system goals What is not an operating system Computer architecture O/S services This Lecture will

More information

The First Operating System Was Human

The First Operating System Was Human The First Operating System Was Human CS 333 Professor Karavanic Lecture 1 1. What is an Operating System? Historical View 2. Course Information 3. What is an Operating System? Operating Systems Goals and

More information

Concepts in Programming Languages

Concepts in Programming Languages Concepts in Programming Languages Marcelo Fiore Computer Laboratory University of Cambridge 2012 2013 (Easter Term) 1 Practicalities Course web page: with lecture

More information

EECE416 :Microcomputer Fundamentals and Design ( Microcomputer & Microprocessor ) COMPUTER HISTORY

EECE416 :Microcomputer Fundamentals and Design ( Microcomputer & Microprocessor ) COMPUTER HISTORY EECE416 :Microcomputer Fundamentals and Design ( Microcomputer & Microprocessor ) COMPUTER HISTORY 1 Computers and Microprocessors Everywhere PC, VCR, DVD,Toys Phones, Cars, etc Hardware and Software Embedded

More information

SE311: Design of Digital Systems

SE311: Design of Digital Systems SE311: Design of Digital Systems Lecture 3: Complements and Binary arithmetic Dr. Samir Al-Amer (Term 041) SE311_Lec3 (c) 2004 AL-AMER ١ Outlines Complements Signed Numbers Representations Arithmetic Binary

More information

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

8/16/12. Computer Organization. Architecture. Computer Organization. Computer Basics Computer Organization Computer Basics TOPICS Computer Organization Data Representation Program Execution Computer Languages 1 2 Architecture Computer Organization n central-processing unit n performs the

More information

EECE416 :Microcomputer Fundamentals and Design ( Microcomputer & Microprocessor ) COMPUTER HISTORY

EECE416 :Microcomputer Fundamentals and Design ( Microcomputer & Microprocessor ) COMPUTER HISTORY EECE416 :Microcomputer Fundamentals and Design ( Microcomputer & Microprocessor ) COMPUTER HISTORY 1 Computers and Microprocessors Everywhere PC, VCR, Toys, etc Hardware and Software Evolution of up First

More information

Stefan Waldmann. Topology. An Introduction

Stefan Waldmann. Topology. An Introduction Topology Stefan Waldmann Topology An Introduction 123 Stefan Waldmann Julius Maximilian University of Würzburg Würzburg Germany ISBN 978-3-319-09679-7 ISBN 978-3-319-09680-3 (ebook) DOI 10.1007/978-3-319-09680-3

More information

SQA Advanced Unit specification: general information for centres

SQA Advanced Unit specification: general information for centres SQA Advanced Unit specification: general information for centres Unit title: Computer Systems Fundamentals Unit code: HP1T 47 Superclass: CB Publication date: August 2017 Source: Scottish Qualifications

More information

FINITE FIELDS FOR COMPUTER SCIENTISTS AND ENGINEERS

FINITE FIELDS FOR COMPUTER SCIENTISTS AND ENGINEERS FINITE FIELDS FOR COMPUTER SCIENTISTS AND ENGINEERS THE KLUWER INTERNATIONAL SERIES IN ENGINEERING AND COMPUTER SCIENCE INFORMATION THEORY Consulting Editor Robert G. Gallager FINITE FIELDS FOR COMPUTER

More information

1 Digital tools. 1.1 Introduction

1 Digital tools. 1.1 Introduction 1 Digital tools 1.1 Introduction In the past few years, enormous advances have been made in the cost, power, and ease of use of microcomputers and associated analog and digital circuits. It is now possible,

More information

Course Schedule. CS 221 Computer Architecture. Week 3: Plan. I. Hexadecimals and Character Representations. Hexadecimal Representation

Course Schedule. CS 221 Computer Architecture. Week 3: Plan. I. Hexadecimals and Character Representations. Hexadecimal Representation Course Schedule CS 221 Computer Architecture Week 3: Information Representation (2) Fall 2001 W1 Sep 11- Sep 14 Introduction W2 Sep 18- Sep 21 Information Representation (1) (Chapter 3) W3 Sep 25- Sep

More information

Organization of Programming Languages (CSE452) Why are there so many programming languages? What makes a language successful?

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

INTRODUCTION TO OPERATING SYSTEMS. Jo, Heeseung

INTRODUCTION TO OPERATING SYSTEMS. Jo, Heeseung INTRODUCTION TO OPERATING SYSTEMS Jo, Heeseung TODAY'S TOPICS What is OS? History of OS 2 OPERATING SYSTEM? Computer systems internals 3 WHY DO WE LEARN OS? To graduate? To make a better OS or system Functionality

More information

Memory Addressing, Binary, and Hexadecimal Review

Memory Addressing, Binary, and Hexadecimal Review C++ By A EXAMPLE Memory Addressing, Binary, and Hexadecimal Review You do not have to understand the concepts in this appendix to become well-versed in C++. You can master C++, however, only if you spend

More information

ISO/IEC INTERNATIONAL STANDARD. Systems and software engineering Requirements for designers and developers of user documentation

ISO/IEC INTERNATIONAL STANDARD. Systems and software engineering Requirements for designers and developers of user documentation INTERNATIONAL STANDARD ISO/IEC 26514 First edition 2008-06-15 Systems and software engineering Requirements for designers and developers of user documentation Ingénierie du logiciel et des systèmes Exigences

More information

EKT 120/4 Computer Programming KOLEJ UNIVERSITI KEJURUTERAAN UTARA MALAYSIA

EKT 120/4 Computer Programming KOLEJ UNIVERSITI KEJURUTERAAN UTARA MALAYSIA EKT 120/4 Computer Programming KOLEJ UNIVERSITI KEJURUTERAAN UTARA MALAYSIA AZUWIR MOHD NOR ROOM: Pusat Pengajian CABIN C PHONE: (04) 979 8249 Email: azuwir@kukum.edu.my Office hours: make appoinment or

More information

Microcontrollers. Principles and Applications. Ajit Pal +5 V 2K 8. 8 bit dip switch. P2 8 Reset switch Microcontroller AT89S52 100E +5 V. 2.

Microcontrollers. Principles and Applications. Ajit Pal +5 V 2K 8. 8 bit dip switch. P2 8 Reset switch Microcontroller AT89S52 100E +5 V. 2. Ajit Pal Microcontrollers Principles and Applications +5 V 2K 8 8 bit dip switch P2 8 Reset switch Microcontroller AT89S52 100E +5 V +5 V 2.2K 10 uf RST 7 Segment common anode LEDs P1(0-6) & P3(0-6) 7

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

Computers Are Your Future

Computers Are Your Future Computers Are Your Future Twelfth Edition Chapter 2: Inside the System Unit Copyright 2012 Pearson Education, Inc. Publishing as Prentice Hall 1 Inside the Computer System Copyright 2012 Pearson Education,

More information

Chapter 1 Basic Computer Organization

Chapter 1 Basic Computer Organization Chapter 1 Basic Computer Organization Course Outcome (CO) CO1 Explain the basic principles of modern computer systems organization Program Outcome (PO) PO1 Apply knowledge of mathematics, science and engineering

More information