Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "مبانی کامپیوتر و برنامه سازی محمودرضا هاشمی دانشکده برق و کامپيوتر دانشگاه تهران پاییز 84."— Presentation transcript:

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

2 پاييز 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

3 پاييز 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

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

5 پاييز 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,...

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

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

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

9 پاييز 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

10 پاييز 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

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

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

13 پاييز 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

14 پاييز 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

15 پاييز 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, …

16 پاييز 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

17 پاييز 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

18 پاييز 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

19 پاييز 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?

20 پاييز 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?

21 پاييز 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%

22 پاييز 84, 22 مبانی کامپیوتر و برنامه سازی 3 Weekly lectures by TAs  TA team: Mohsen Vakilian : m.vakilian@ece.ut.ac.ir Erfan Azarkhish : e_azarkhish@yahoo.com Mahboobeh Ghorbani : mghorbani160@yahoo.com Roshanak Zilouchian : roshanakzm@yahoo.com Reza Shahidinejad : shahidi_r@yahoo.com

23 پاييز 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. 1988.  More to be provided in class or at www.comnete.com/computing/links.htm

24 پاييز 84, 24 مبانی کامپیوتر و برنامه سازی Questions?  Best way to reach me is by email: hashemi@comnete.com


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

Similar presentations


Ads by Google