introduction to computers and programming
play

Introduction to Computers and Programming Hardware Software - PowerPoint PPT Presentation

Introduction to Computers and Programming Hardware Software Computer languages Compiling and running 1 Computer Basics A computer system consists of both hardware and software . Hardware - the physical components.


  1. Introduction to Computers and Programming  Hardware  Software  Computer languages  Compiling and running 1

  2. Computer Basics  A computer system consists of both hardware and software .  Hardware - the physical components.  Software - the instructions, or rather, computer programs, that tell the hardware what to do. 2

  3. Common Hardware Components Memory Input Output Processor Devices Devices (CPU) (such as mouse and (such as video keyboard) display or printer)   Processor: Input devices:  Central Processing Unit (CPU)  keyboard, mouse, touch-screen  interprets and executes  game controllers program instructions  sensors  Memory:  Output device(s)  volatile and non-volatile  video display, printer  holds data and instructions  robotic devices 3

  4. Common Hardware Components Memory Input Output Processor Devices Devices (CPU) (such as mouse and (such as video keyboard) display or printer)   Processor: Input devices:  Central Processing Unit (CPU)  keyboard, mouse, touch-screen  interprets and executes  game controllers program instructions  sensors  Memory:  Output device(s)  volatile and non-volatile  video display, printer  holds data and instructions  robotic devices 4

  5. Classification of Memory At a high-level there are two types of memory: Volatile – contents are lost when power is turned off:   Main memory (stores programs and data during execution)  Cache memory  Fastest and most expensive form of memory, per byte Non-Volatile – contents are maintained when power is turned off:   Hard drive, hard disk or Solid State Drive (SSD); internal or external  CD, DVD  Flash drive  Tape (still used extensively)  Slowest and cheapest form of memory, per byte 5

  6. Memory Organization  Bit = one binary digit, either 0 or 1  Byte = 8 bits  Word = 4 bytes  Larger groupings: (number of bytes) name approximation exact Kilobyte (KB) 2^10 10^3 Megabyte (MB) 2^20 10^6 Gigabyte (GB) 2^30 10^9 Terabytes (TB) 2^40 10^12 Petabyte (PB) 2^50 10^15 Exabyte (EB) 2^60 10^18 Zetabyte (ZB) 2^70 10^21 Yottabyte (YB) 2^80 10^24 6

  7. Binary Encodings  Everything in memory is “encoded” in binary, i.e., as a sequence of bits. “A” => 01000001 45 => 00101101 “DOG” => 01000100 01001111 01000111  Generally, the encoding of an object is unique among all similar objects, e.g., the encoding of “A” is different from the encoding of “B.” Why? 7

  8. Binary Encodings  How many binary sequences are there on n bits?  How many bits are needed to uniquely encode k items? • k=8 • k=12 • k=5 • k=1000 8

  9. Main Memory Organization  Main memory: Address Contents  A list of locations, each 3021 11110000 Item 1 (2 bytes) containing one byte of data. 3022 11001100  Each location has an associated “number,” which is commonly 3023 10101010 Item 2 (1 byte) referred to as its’ address . 3024 11001110 Item 3 (3 bytes)  Is said to be byte addressable . 3025 00110001  Also called Random Access 3026 11100001 Memory (RAM). 3027 01100011 Item 4 (2 bytes) 3028 10100010  The number of bytes per data … 3029 Next Item, etc. item may vary from one item to another, and from one computer system to another.  Integer => 4 or 8 bytes (1 word)  Character => 1 or 2 bytes 9

  10. Computer Programs!  A program is a set of instructions for a computer to execute or run. System Software - Part of the computers “infrastructure,” and necessary  for the system to operate:  Operating Systems – DOS, Microsoft Windows, MacOS, Linux, UNIX, etc.  Database Systems – Oracle, IBM DB2, SQL Server, Access  Networking Software  Web Servers  Application Servers  User Applications - Not required for the system to operate:  Games  Apps  Office Applications – Word, Powerpoint, Excel  Web Browsers  Text Editors – textedit, vi, emacs, notepad 10

  11. Various Types of Software Interfaces  Graphical User Interface (GUI)  Windows, menus, buttons, sliders, etc.  Windows, Word, PowerPoint, most games  Sometimes also called “event - driven” interfaces  First developed by Xerox Corporation  Command-Line:  User types in commands one line at a time  DOS (Start -> run -> cmd)  Unix xterm  Application Program Interface (API)  Allows one program to communication, interact or “interface” with another, or with some external, physical device.  ODBC, JDBC, Swing, AWT 11

  12. Programming Language Hierarchy  Programs are written, or coded, in a programming language.  There are many different types of programming languages. 12

  13. High-Level Languages  High-Level Language (HLL):  Java, C, C++, C#, COBOL, FORTRAN, BASIC, Lisp, Ada, etc.  closest to natural language - words, numbers, and math symbols  relatively easy for people to read (intended for people)  sophisticated, multi-line statements/commands  not directly understood by hardware  “portable” (hardware independent)  A program in a HLL is frequently referred to as:  a source program  source code  source file  source 13

  14. High-Level Language Example (Java) public class SimpleProgram { public static void main(String[] args) { System.out.println(“Hello out there.”); System.out.println(“I will add two numbers for you.”); int x; double d; x = 3752; d = 3.14156; System.out.println(“The sum of ” + x + “ and ” + d + “ is:”); System.out.println(x + d); } } 14

  15. Machine Languages  Machine Language:  very difficult for humans to read  just 0s and 1s  primitive single-line commands  directly understood by hardware  not portable (hardware dependent)  A program in machine language is frequently referred to as:  an object program  object code  executable program  executable code  executable 15

  16. Machine Language Example 000000 000001 000010 000110 000000 100000 100011 000011 001000 000000 000001 000100 : : 16

  17. Getting from Source to Machine Code Back in the dark ages, people programmed in machine code…this was a pain!  Then a really smart person invented HLL’s…this was much better.   John Backus => FORTRAN (mid 1950’s)  HLL programs must be translated to machine code in order to be executed.  Translating a program in a high-level language to machine code is called compiling .  A program that compiles programs is called a compiler . 17

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend