Course:
Programming Fundamentals
4.00 Credit Hours, Fall 2014,
Undergraduate Program
Instructor: Maryam Ehsan
SESSION 1, 2
What is computer?
Computer
Computer programs
A device capable of performing computations and making logical
decisions
A machine that manipulates data according to a list of instructions.
A programmable device that can store, retrieve, and process data.
Sets of instructions that control a computers processing of data
Hardware
Physical part of the computer
Various devices comprising a computer
Examples: keyboard, screen, mouse, disks, memory, CD-ROM, and
processing units
Software
A collection of computer programs, procedures and documentation that
perform some tasks on a computer system
Programs that run a computer
Programming Fundamentals by Maryam
Ehsan
Computer organization
There are Six logical units in every computer:
Input unit
Output unit
Performs arithmetic calculations and logic decisions
Central processing unit (CPU)
Rapid access, low capacity, stores input information
Arithmetic and logic unit (ALU)
Outputs information to output device (screen, printer) or to control
other devices.
Memory unit
Obtains information (data and computer programs) from input
devices (keyboard, mouse)
Supervises and coordinates the other sections of the computer
Secondary storage unit
Cheap, long-term, high-capacity storage, stores inactive programs
Programming Fundamentals by Maryam
Ehsan
Computer languages
Computer languages are divided into three types.
Machine languages
Machine language is machine dependent.
Strings of numbers giving machine specific instructions
Example:
+101010001
Assembly languages
English-like abbreviations representing elementary computer
operations (translated via assemblers)
Example:
LOAD BASEPAY
ADD OVERPAY
STORE GROSSPAY
Translator programs called assembler were developed to convert assembly
language programs to machine language programs at computer speed.
Programming Fundamentals by Maryam
Ehsan
Computer languages
High-level languages
Similar to everyday English, use mathematical notations
(translated via compilers)
Example:
grossPay = basePay + overTimePay
C++ ,C# ,PHP,VB are the widely used high level languages.
Some other examples are
FORTRAN (formula translator)
Used in scientific and engineering applications
COBOL (common business oriented language)
Used to manipulate large amounts of data
Translator programs called Compilers converts high-level
language programs into machine language
Programming Fundamentals by Maryam
Ehsan
Basics of a typical C++ environment
Phases of C++ Programs
to be executed
Edit
Preprocess
Compile
Link
Load
Execute
Editor
Disk
Programiscreatedin
theeditorandstored
ondisk.
Preprocessor
Disk
Preprocessorprogram
processesthecode.
Compiler
Disk
Compilercreates
objectcodeandstores
itondisk.
Disk
Linkerlinkstheobject
codewiththelibraries,
createsa.exeand
storesitondisk
Linker
Primary
Memory
Loader
Loaderputsprogram
inmemory.
Disk
..
..
..
Primary
Memory
CPU
Programming Fundamentals by Maryam
Ehsan
..
..
..
CPUtakeseach
instructionand
executesit,possibly
storingnewdata
valuesastheprogram
executes.
C++ programming
C++ program
Collection of definitions, declarations and functions
Collection can span multiple files
2 Steps to Learn C++
Write a program in C++
Use Functions of C++(Standard Template Libraries)
Programming Fundamentals by Maryam
Ehsan
Testing and Debugging
Bug
A mistake in a program
Debugging
Eliminating mistakes in programs
Programming Fundamentals by Maryam
Ehsan
Program Errors
Syntax errors
Violation of the grammar rules of the language
Discovered by the compiler
Run-time errors
Error messages may not always show correct location of
errors
Error conditions detected by the computer at run-time
Logic errors
Errors in the programs algorithm
Most difficult to diagnose
Computer does not recognize an error
Programming Fundamentals by Maryam
Ehsan
THE END
Thank you
Programming Fundamentals by Maryam
Ehsan
10