Presentation is loading. Please wait.

Presentation is loading. Please wait.

C++ Programming Language Lecture 1 Introduction By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department.

Similar presentations


Presentation on theme: "C++ Programming Language Lecture 1 Introduction By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department."— Presentation transcript:

1 C++ Programming Language Lecture 1 Introduction By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department

2 The Hashemite University2 Outline Introduction. C++ overview. Computer organization and hardware trends. Evolution of operating systems and types of computing. Programming languages. Basics of a typical C++ environment.

3 The Hashemite University3 Introduction In this course you will learn C++ and the legacy C code. It is your first step in the software programming world. It will provide you with the needed tools and background to learn object- oriented programming.

4 The Hashemite University4 What is C++? A powerful programming language that enables you to write instructions (i.e. software) to drive the hardware of the computer (i.e. to perform actions and take decisions). But first, what is computers? What is hardware? And what is software?

5 The Hashemite University5 What is a Computer? Computer A device capable of performing computations and making logical decisions in a very fast manner. Computer programs Sets of instructions that control a computer’s processing of data Hardware Various devices comprising a computer Examples: keyboard, screen, mouse, disks, memory, CD-ROM, and processing units Software Programs that run a computer

6 The Hashemite University6 Computer Organization Six logical units in every computer: Input unit Obtains information from input devices (keyboard, mouse). Output unit Outputs information (to screen, to printer, to control other devices) Memory unit Rapid access, low capacity, stores input information and programs while they are being executed (active programs and data). Arithmetic and logic unit (ALU) Performs arithmetic calculations and logical decisions. Central processing unit (CPU) Supervises and coordinates the other sections of the computer (called the heart of the computer). Secondary storage unit Cheap, long-term, high-capacity storage, stores inactive programs.

7 The Hashemite University7 Hardware Trends Every year or two computers approximately double the following: The amount of memory they contain Memory used to execute programs The amount of secondary storage they contain Secondary storage (such as disk storage) is used to hold programs and data over time Their processor speeds The speed at which computers execute their programs This development is accompanied with a decrease in prices and computers cost.

8 The Hashemite University8 Evolution of Operating Systems Operating system (OS) is the intermediary software that lies between the hardware and the computer applications where it enables the interfacing between the user and the computer hardware. Operating systems development: Batch processing Do only one job or task or program at a time while processing data in groups or batches. Operating systems Manage transitions between jobs. Increased throughput : Amount of work computers process. Still batch processing. Multiprogramming Many jobs or tasks sharing a computer’s resources Timesharing Special case of multiprogramming. Access computer resources via terminals. Perform a small portion of one user’s job then moves on to service the next user

9 The Hashemite University9 Types of Computing Personal computers Economical enough for individual Distributed computing Organizations computing is distributed over networks Client/server computing Sharing of information across computer networks between servers (such as file servers, email servers, etc.) and clients (personal computers connected to the network)

10 The Hashemite University10 Programming Languages I Three types of programming languages Machine languages Strings of numbers giving machine specific instructions. Computers can only understand this language. Example: 10100011001001 11111111111111 00000001110100 Machine dependent: every machine has its own language. Hard to be understood by humans. Hard to be used in programming. Too slow and tedious. Error prone.

11 The Hashemite University11 Programming Languages II Assembly languages English-like abbreviations representing elementary computer operations so it is easier to be understood by humans. Translated or converted into machine language via assemblers. Also, it is slow and hard to be used in programming. Machine dependent. Example: LOAD BASEPAY ADD OVERPAY STORE GROSSPAY

12 The Hashemite University12 Programming Languages III High-level languages Similar to everyday English, use mathematical notations. Translated into machine language via compilers (compile the whole program at once). Interpreters are used to execute high level languages without need to compile them into machine language and it execute single line at a time. Compiled programs are faster than the interpreted ones. Fast and easy for programming. Machine independent. Example: grossPay = basePay + overTimePay

13 The Hashemite University13 Programming Languages IV It is common to classify the computer programming languages into two types: Low level programming languages which includes both the machine and assembly languages. High level languages as in the previous slide.

14 The Hashemite University14 Example of High-level Languages Other high-level languages C and C++. Java Visual basic 6/.Net C#.Net FORTRAN Used in scientific and engineering applications COBOL Used to manipulate large amounts of data Pascal Used to teach structured programming

15 The Hashemite University15 History of C and C++ C++ evolved from C C evolved from two other programming languages: BCPL and B which are used mainly to develop operating systems and compilers. ANSI C: standard of C and C++ ANSI (American National Standard Institution ) has cooperated with ISO (International Organization for Standardization) to established worldwide standards for C and C++ programming to make C++ programs portable. C99 is the latest ANSI standard of C/C++ C++ “spruces up” C Provides capabilities for object-oriented programming Objects are reusable software components that model things in the real world Object-oriented programs are easy to understand, correct and modify

16 The Hashemite University16 C++ Standard Library C++ programs Built from pieces called classes and functions. C++ standard library Provides rich collections of existing classes and functions for all programmers to use.

17 The Hashemite University17 Basics of a Typical C++ Environment Phases of C++ Programs: 1.Edit (create.h and.cpp files): create the source code or file 2.Preprocess 3.Compile: creates the object code 4.Link: creates the executable file 5.Load 6.Execute Loader Primary Memory Program is created in the editor and stored on disk. Preprocessor program processes the code. Loader puts program in memory. CPU takes each instruction and executes it, possibly storing new data values as the program executes. Compiler Compiler creates object code and stores it on disk. Linker links the object code with the libraries, creates a.out and stores it on disk Editor Preprocessor Linker CPU Primary Memory........................ Disk

18 The Hashemite University18 Additional Notes Check the Black Board to get your copy of the lecture. The lecture covers the following sections from the textbook: Chapter 1: Sections 1.1 – 1.5, 1.8 – 1.10, and 1.15.


Download ppt "C++ Programming Language Lecture 1 Introduction By Ghada Al-Mashaqbeh The Hashemite University Computer Engineering Department."

Similar presentations


Ads by Google