Introduction to Computer Fundamentals and Programming Flashcards
Types of Computer Hardware
- Input Unit
- Output Unit
- Memory Unit
- ALU (Arithmetic and Logic Unit)
- CPU (Central Processing Unit)
obtains information from various input devices
Input Unit
• places information
Input Unit
keyboard, mouse devices
Input Unit
• takes information processed by the computer
Output Unit
• places on various output devices
Output Unit
• screens, printed on paper, used to control other devices
Output Unit
• stores information
Memory Unit
RAM (Random Access Memory)
ROM (Read Only Memory)
Two Types of Memory Unit
• performs all arithmetic and logic operations
ALU (Arithmetic and Logic Unit)
• supervises the overall operation of the computer
CPU (Central Processing Unit)
permanent storage area for programs
secondary storage device
examples of secondary storage device
magnetic tapes, magnetic disks, optical storage CD, magnetic hard disks, floppy disks, CD ROM
set of instructions used to operate a computer to produce specific result.
Computer Program
writing computer programs
Computer Programming
languages used to create programs
Programming Language
program or a set of programs
Software
• lowest level of computer languages
Machine Languages
• consists of 1s and 0s
Machine Languages
programs can control directly to the computer’s hardware
Machine Languages
Two Parts of Machine Language Instructions
Instruction Part (opcode)
Address Part
• perform the same tasks as machine languages
Assembly Languages
• uses symbolic names for opcodes and operands instead of 1s and 0s
Assembly Languages
must be translated into machine language program before it can be executed on a computer
Assembly Languages
ASSEMBLER
Assembly Language Program → Translation Program (assembler) → Machine Language Program
create computer programs using instructions that is much easier to understand.
High Level Programming Language
• allow programmers to write instructions that look like every English sentences and commonly used mathematical notations.
High Level Programming Language
program which translate high level languages into a low level language/ translates programming code into a low level format
compiler
refers to each line in a high level language
statement
WELL-KNOWN PROGRAMMING LANGUAGES:
- FORTRAN (1957)
- COBOL (1960)
- BASIC (1960)
- PASCAL (1971) - Structure Programming
- C
- C++ - Object-oriented Programming
- Java
set of rules for writing correct language statements.
Syntax
designed by Dennis Ritchie and Brian Kernighan at Bell Laboratories in 1970
C Programming Language
• used exclusively on UNIX and on mini-computers.
C
in 1980s, _____________ were written for other platforms, including PCs.
C compilers
standard version of C created by ANSI
ANSI C
• much closer to assembly language other than other high level programming languages
C
often run faster and more efficiently than other high level programming language.
C
• created by Bjarne Stroutrup based on C language in Bell Labaratories in 1985.
C++ Programming Language
• an extension of C that adds object-oriented programming capabilities.
C++ Programming Language
• now the most popular programming language for writing programs in Windows and Macintosh
C++ Programming Language
standardized version of C++
ANSI C++
contains useful functions, variables, constants, and other programming items that you can add to your programs.
run-time libraries
ANSI C++ run time library
Standard Template or Standard C++ Library
• research activity in the 1960s
Structured Programming
• discipline approach to writing programs that are clearer that unstructured programs, easier to test and debug, and easier to modify
Structured Programming
was designed for teaching structured programming in academic environments and rapidly became the preferred programming languages in most universities.
Pascal (Niklaus Wirth) in 1971
• another revolution in software community in 1980s
Object Oriented Programming
• allow programmers to use programming objects that they have written themselves or by others.
Object Oriented Programming
• creation of reusable software objects that can be easily incorporated into another program.
Object Oriented Programming
reusable software components that model items in the real world
objects
programming code and data that can be treated as an individual unit or component.
object
information contained within variables, constants, and other types of storage structures
data
procedures associated with an object
functions or methods
variables associated with an object
properties or attributes
concerned with creating readable, efficient. reliable, and maintainable programs and systems.
Software Engineering
THREE OVERLAPPING PHASES:
PHASE 1: Development and Design
PHASE 2: Documentation
PHASE 3: Maintenance
sequence of steps that describes how the data are to be processed to produce the desired outputs.
Algorithm
requires collecting critical documents during the analysis, design, coding, and testing.
Documentation
• can be described by using flowchart symbols
Algorithms
• can be also described by pseudocodes.
Algorithms
outline of basic structure or logic of the program
Flow chart
• are not convenient to revise and have fallen out of favor by programmers.
Flow chart
• Flow chart symbols:
a. Rounded Rectangle - Terminal
b. Parallelogram - Input/Output
c. Rectangle - Process
d. Arrows - flowlines
e. Diamond - decisions
• gained increasing acceptance
Pseudocodes
• English-like phases to describe an algorithm
Pseudocodes
• very important concept in programming
Loop
volatile
RAM (Random Access Memory)
stores program and data when using computer
RAM (Random Access Memory)
non-volatile
ROM (Read Only Memory)
fundamental instructions that cannot be lost or changed by the user
ROM (Read Only Memory)
tells computers the operation to be performed.
instruction part (opcode)
specifies the memory address of the data to be used in the instruction.
address part
programs written written to perform particular tasks required by the users.
Application Software
○ collection of programs that must be available to any computer system for it to operate.
System Software
most important system software
operating system
operating systems that allow to run multiple programs.
multitasking systems
is also a system software aside from operating system.
language translators