You are on page 1of 20

CSE 115: COMPUTING

CONCEPTS
Chapter 1: Overview of Computers and
Programming
Objectives
¨  In this chapter you will learn about:
¤  To learn about the different categories of computers
¤  To understand the role of each component in a computer

¤  To understand the purpose of an operating system

¤  To learn the differences between machine language, assembly


language, and higher level languages
¤  To understand what processes are required to run a C
program
¤  To learn how to solve a programming problem in a careful,
disciplined way
¤  To understand and appreciate ethical issues related to the use
of computers and programming
Categories of Computers
¨  Desktop Computer, iMac.
¨  Hewlett Packard Laptop.

¨  iPad.

¨  Android phone, LG Thrill 4G.


Computer Hardware Components
Terms - Quantify storage capacities
Main Memory
¨  A device which stores the information
necessary for a program to run.
¨  2 types
¤  ROM (Read Only Memory)
n  Contains information that is necessary for the computer to
boot up
n  The information stays there permanently even when the
computer is turned off.
¤  RAM (Random Access Memory)
n  Containsinstruction or data needed for a program to run
n  Got erased when the computer is turned off.
Central Processing Unit (CPU)
¨  Does most of the work in executing a program
¨  The CPU inside a PC is usually the microprocessor

¨  3 main parts:


¤  Control Unit
n  Fetch instructions from main memory and put them in the
instruction register
¤  ALU (Arithmetic Logic Unit)
n  Execute arithmetic operations
¤  Registers
n  Temporarily store instructions or data fetched from memory
Storage Devices
¨  A magnetic device used to store a large
amount of information.
¨  Store the software components or data needed

for the computer to execute its tasks.


¨  Could be “read only” or “writable”.

¨  Example: Hard drive, CD/DVD ROM, flash


drives
Input / Output Devices

¨  Input Devices


¤ Accepts information from the user and
transforms it to digital codes that the
computer can process
¤ Example: keyboard, mouse, scanner

¨  Output Devices


¤ An interface by which the computer conveys
the output to the user
¤ Example: monitor, printer
Network Devices
¨  Connect a computer to the other computers.
¨  Enable the users to access data or execute
programs remotely.
¨  Example: modem, Ethernet card
Computer Software
¨  Operating System
¤  Communicating with the computer user: receiving commands and
carrying them out or rejecting them with an error message.
¤  Managing allocation of memory, of processor time, and of other
resources for various tasks.
¤  Collecting input from the keyboard, mouse, and other input
devices, and providing this data to the currently running program.
¤  Conveying program output to the screen, printer, or other output
device.
¤  Accessing data from secondary storage.

¤  Writing data to secondary storage.


Computer Software
¨  Application Software
¤  Application programs are developed to assist a computer user in
accomplishing specific tasks.
¤  Word Processor

¤  Web Browser

¤  Messenger, etc.


Computer Languages
¨  Machine Language
¤  binary number codes understood by a specific CPU
¤  Not standard

¤  Different machine language for each type of CPU

¨  Assembly Language


¤  mnemonic codes that correspond to machine language
instructions
Computer Languages
¨  A Machine Language Program Fragment and
Its Assembly Language Equivalent
Computer Languages
¨  High-Level Language
¤  machine-independentprogramming language that
combines algebraic expressions and English symbols

prepared by NI, edited by MAF


Computer Languages
¨  Compiler software
¤  that
translates a high-level language program into
machine language
¨  Source file
¤  File
containing a program written in a high-level
language; the input for a compiler
¨  Syntax
¤  Grammar rules of a programming language
Computer Languages
¨  Object file
¤  file
of machine language instructions that is the output
of a compiler
¨  Linker
¤  Softwarethat combines object files and resolves cross-
references to create an executable machine language
Program
Entering, Translating, and Running a High-
Level Language Program
Flow of Information During Program
Execution
Software Development Method
¨  Specify the problem requirements.
¨  Analyze the problem.
¨  Design the algorithm to solve the problem.
¨  Implement the algorithm.
¨  Test and verify the completed program.
¨  Maintain and update the program.

You might also like