مبانی کامپیوتر و برنامه سازی محمودرضا هاشمی دانشکده برق و کامپيوتر دانشگاه تهران پاییز 84.

Slides:



Advertisements
Similar presentations
TO COMPUTERS WITH BASIC CONCEPTS Lecturer: Mohamed-Nur Hussein Abdullahi Hame WEEK 1 M. Sc in CSE (Daffodil International University)
Advertisements

Microprocessor 8085/8086 Lecturer M A Rahim Khan Computer Engineering and Networks Deptt.
1-1 Welcome to: CSC225 Introduction to Computer Organization Paul Hatalsky.
CSC 2400 Computer Systems I Lecture 3 Big Ideas. 2 Big Idea: Universal Computing Device All computers, given enough time and memory, are capable of computing.
Chapter 1. Introduction This course is all about how computers work But what do we mean by a computer? –Different types: desktop, servers, embedded devices.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1-1 Introduction to Computing Systems: From Bits and Gates.
©TheMcGraw-Hill Companies, Inc. Permission required for reproduction or display. COMPSCI 125 Introduction to Computer Science I.
1 8/28/06CS150 Introduction to Computer Science 1 Professor: Chadd Williams
Copyright © 2003 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Slides prepared by Walid A. Najjar & Brian J. Linard,
1 Patt and Patel Ch. 1 Abstraction and Computer Systems.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Slides prepared by Walid A. Najjar & Brian J. Linard, University.
CIS 260 Computer Programming I in C Prof. Timothy Arndt.
Introduction to Computer Engineering ECE/CS 252, Fall 2010 Prof. Mikko Lipasti Department of Electrical and Computer Engineering University of Wisconsin.
Chapter 1 Sections 1.1 – 1.3 Dr. Iyad F. Jafar Introduction.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1-1 Introduction to Computing Systems: From Bits and Gates.
Introduction to Computers. Are Computers Important? OF COURSE!
Instructor : Po-Yu Kuo 教師:郭柏佑 Ch. 1 Introduction EL 1009 計算機概論 ( 電子一 A) Introduction to Computer Science.
Welcome Aboard – Chapter 1 COMP 2610 Dr. James Money COMP
1.1 1 Introduction Foundations of Computer Science  Cengage Learning.
An Introduction Chapter Chapter 1 Introduction2 Computer Systems  Programmable machines  Hardware + Software (program) HardwareProgram.
1 Computer Systems. 2 Introduction – What is a Computer? This course is all about how computers work What do computer and computer system mean to you?
CCSE251 Introduction to Computer Organization
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1-1 Welcome to: CSC225 Introduction to Computer Organization.
CS355 Advanced Computer Architecture Fatima Khan Prince Sultan University, College for Women.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1-1 Introduction to Computer Engineering ELEC S100F (Fall.
1 8/29/05CS150 Introduction to Computer Science 1 Professor: Shereen Khoja
What is Mechatronics? Mechatronics is the synergistic combination of mechanical engineering, electronics, controls engineering, and computers, all integrated.
Chapter 1 Introduction. Understand the concept of a black box, a data processor, and a programmable data processor. Define the von Neumann model and name.
6/4/ Key components of the computer Classification of computers based on Purposes Classification of computers based on Signals Classification of.
Introduction Fall 2001 Foundations of Computer Systems Prerequisite:91.166* or * Section A Instructor: Dr. David Hutchinson Office:
PART 1 Introduction 1. Layers of Abstraction 2. Turing Machine 3. Layer Transformation 4. Descriptions of Layers.
순천향대학교 정보기술공학부 이 상 정 1 1. Computer Abstractions and Technology.
Introduction to Computers. Are Computers Important? OF COURSE!
Introduction to Computer Engineering CS/ECE 252, Spring 2008 Prof. David A. Wood Computer Sciences Department University of Wisconsin – Madison Adapted.
CS 101 INTRODUCTION TO COMPUTING * image from The Central Eglinton Community Centre website.
Riyadh Philanthropic Society For Science Prince Sultan College For Woman Dept. of Computer & Information Sciences CS 251 Introduction to Computer Organization.
Course Book Course Objective - The student will be able to describe various operating system concepts as they are applied to memory, process, file system.
CS150: Computer Organization and Architecture Michael D. Wilder, Ph.D.
Lecture 1 (Introduction)
Victoria Ibarra Mat:  Generally, Computer hardware is divided into four main functional areas. These are:  Input devices Input devices  Output.
CS4100: 計算機結構 Course Outline 國立清華大學資訊工程學系 九十九年度第二學期.
Discovering Computers 2009 Chapter 1 Introduction to Computers.
Industrial Automation Part I Real Time Control Embedded Systems.
Chapter 1 Welcome Aboard. Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1-2 Introduction to the World of.
Computer Organization and Architecture Lecture 1 : Introduction
Yale N. Patt Sanjay J. Patel
Computer Organization and Machine Language Programming CPTG 245
Introduction to Computer
Chapter 1 Introduction.
IT253: Computer Organization
CSNB COMPUTER SYSTEM CHAPTER 1 INTRODUCTION CSNB153 computer system.
Introduction to Computer Engineering
Instructor:Po-Yu Kuo 教師:郭柏佑
0. Problem solving in IT (COMP1001)
COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE
Computer Architecture
Introduction to Computer Engineering
COMPUTER ORGANZIATION AND ASSEMBLY LANGUAGE
Welcome Aboard 1.
T Computer Architecture, Autumn 2005
Chapter 1 Welcome Aboard!. Chapter 1 Welcome Aboard!
Instructor:Po-Yu Kuo 教師:郭柏佑
Introduction to Computer Engineering
Language Processors Application Domain – ideas concerning the behavior of a software. Execution Domain – Ideas implemented in Computer System. Semantic.
Introduction to Computer Engineering
Introduction to Microprocessor Programming
Welcome to: CSC225 Introduction to Computer Organization
Professor: Shereen Khoja
Introduction to Computer Engineering
Dr. Clincy Professor of CS
Presentation transcript:

مبانی کامپیوتر و برنامه سازی محمودرضا هاشمی دانشکده برق و کامپيوتر دانشگاه تهران پاییز 84

پاييز 84, 2 مبانی کامپیوتر و برنامه سازی What are we here for?  To understand Computing systems: What are computing systems able to do and how well can they do it? What are computing systems used for? How are computing systems implemented? How can we use them to achieve our own goals

پاييز 84, 3 مبانی کامپیوتر و برنامه سازی Computing Machines  Computers are everywhere General purpose: servers, desktops, laptops, PDAs, etc. Special purpose: cash registers, ATMs, games, telephone switches, etc. Embedded: cars, hotel doors, printers, VCRs, industrial machinery, medical equipment, etc.  Distinguishing Characteristics Speed Cost Ease of use, software support & interface Scalability

پاييز 84, 4 مبانی کامپیوتر و برنامه سازی Computing Machines  All computers, given enough time and memory, are capable of computing exactly the same things. == PDA Workstation Supercomputer

پاييز 84, 5 مبانی کامپیوتر و برنامه سازی In Practice  In practice, solving problems involves computing under constraints. time Weather forecast, Digital Video,... cost cell phone, automotive engine controller,... power cell phone, handheld video game,...

پاييز 84, 6 مبانی کامپیوتر و برنامه سازی Computer History  Abacus  Babbage  Calculator  Eniac Tons 72 m2 140 KW

پاييز 84, 7 مبانی کامپیوتر و برنامه سازی Programmability

پاييز 84, 8 مبانی کامپیوتر و برنامه سازی Operating System

پاييز 84, 9 مبانی کامپیوتر و برنامه سازی Computer Organization  a very wide gap between the intended behavior and the raw (unorganized) electronic devices.  The forerunners to modern computers attempted to assemble the raw devices (mechanical, electrical, or electronic) into a special purpose-built machine for each desired behavior. Electronic Devices Desired Behavior

پاييز 84, 10 مبانی کامپیوتر و برنامه سازی General Purpose Computer  We will break the gap into multiple levels and build an island in the middle.  A general purpose computer is an island that bridges the gap between the desired behavior (application) and the raw material (electronic devices). Electronic Devices Desired Behavior General Purpose Computer software computer organization

پاييز 84, 11 مبانی کامپیوتر و برنامه سازی Computing systems and Programming Hardware Architecture Software Programming Electronic Devices Desired Behavior General Purpose Computer software computer organization

پاييز 84, 12 مبانی کامپیوتر و برنامه سازی Layers of Abstraction Software Hardware Natural Language Algorithm Program Machine Architecture Devices Micro-architecture Logic Circuits

پاييز 84, 13 مبانی کامپیوتر و برنامه سازی Solving a problem…  Solving a problem is a systematic sequence of transformations between layers of abstraction. Problem Algorithm Program Software Design: choose algorithms and data structures Programming: use language to express design Machine Architecture Machine Architecture Compiling/Interpreting: convert language to machine instructions

پاييز 84, 14 مبانی کامپیوتر و برنامه سازی Solving a problem (Cont.) Machine Architecture Machine Architecture Microarch Circuits Processor Design: choose structures to implement ISA Logic/Circuit Design: gates and low-level circuits to implement components Devices Process Engineering & Fabrication: develop and manufacture lowest-level components

پاييز 84, 15 مبانی کامپیوتر و برنامه سازی Algorithms  The first and most important step in solving a problem with computers is to transform the natural language description into an algorithm.  For every problem there are usually many different algorithms. Some require fewer steps, some are more complex, …

پاييز 84, 16 مبانی کامپیوتر و برنامه سازی Algorithm  To qualify as an algorithm a step by step procedure should have the following properties: Definiteness Each step is precisely stated (e.g. hot or cold lack definiteness) Effective computability Each step can be carried out by a computer (e.g. take the largest prime number lacks it) Finiteness The procedure terminates

پاييز 84, 17 مبانی کامپیوتر و برنامه سازی This course is about:  How computers work  How they are organized internally  What are the design tradeoffs  What computers consist of  How design affects programming and applications  How to solve our problems with computers  How to program our solutions in C

پاييز 84, 18 مبانی کامپیوتر و برنامه سازی This course is NOT about  While covering all the basic components underlying a program we won’t get into too much details about:  Underlying circuits: Logic Circuits, VLSI  CPU structures and Assembly language Microprocessors, and Microprocessors II  Computer Architecture Computer Architecture, Advanced Computer Architecture  Operating Systems Operating Systems  Problem solving Algorithm, Data Structure, Numerical Analysis  Programming Languages Advanced Programming

پاييز 84, 19 مبانی کامپیوتر و برنامه سازی Course Outline  Bits and Bytes How do we represent information using electrical signals?  Digital Logic How do we build circuits to process information?  Processor and Instruction Set How do we build a processor out of logic elements? What operations (instructions) will we implement?

پاييز 84, 20 مبانی کامپیوتر و برنامه سازی Course Outline  Algorithm/Solving problems How to formulate our solutions in manner suitable for computers  C Programming How do we write programs in C? How do we implement high-level programming constructs?

پاييز 84, 21 مبانی کامپیوتر و برنامه سازی Administrative Issues  Class website: To be determined…  Time Sunday11:00-13:00 Tuesday 11:00-13:00  Grading Assignments5% Every Sunday, due the next week at 14:00 Late submission penalties: -20% By Monday at 10, not accepted after that. Although working in groups is encouraged but cheating is not tolerated. Quiz7.5% -0.5 for each absence 3 Projects17.5% Midterm 25% Final Exam45%

پاييز 84, 22 مبانی کامپیوتر و برنامه سازی 3 Weekly lectures by TAs  TA team: Mohsen Vakilian : Erfan Azarkhish : Mahboobeh Ghorbani : Roshanak Zilouchian : Reza Shahidinejad :

پاييز 84, 23 مبانی کامپیوتر و برنامه سازی References  Introduction to Computing Systems from bits &gates to C & beyond, Y.N. Patt, S. J. Patel. McGraw-Hill 2001  The C Programming Language, Brian Kernighan and Dennis Ritchie. Published by Prentice-Hall  More to be provided in class or at

پاييز 84, 24 مبانی کامپیوتر و برنامه سازی Questions?  Best way to reach me is by