Download - Chapter 1 Intro to Programming Principles
-
5/21/2018 Chapter 1 Intro to Programming Principles
1/32Page 1
DFC 1023
PROBLEM SOLVING
&
PROGRAM DESIGN
CHAPTER 1
INTRODUCTION TO
PROGRAMMING LANGUAGE
-
5/21/2018 Chapter 1 Intro to Programming Principles
2/32Page 2
COURSE LEARNING OUTCOME
(CLO):
Upon completion of this course, students
should be able to:
1) Explain the basic computer and
programming fundamentals with appropriate
examples of languages.
2
-
5/21/2018 Chapter 1 Intro to Programming Principles
3/32Page 3
SPECIFIC OUTCOME
3
1.1 Discuss the evolution of programming
language
1.2 Describe fundamentals of programming
languages
-
5/21/2018 Chapter 1 Intro to Programming Principles
4/32Page 4
-
5/21/2018 Chapter 1 Intro to Programming Principles
5/32Page 5
1.1 Discuss the evolution of
programming languages
-
5/21/2018 Chapter 1 Intro to Programming Principles
6/32Page 6
HISTORY OF
PROGRAMMING LANGUAGE
Before1940
Thelanguageswere Codes
The 1940s
Plankalkl ,ENIACcoding
system
The 1950sand 1960s
FORTRAN, LISP,
COBOL
1967 1978
Logo, B,Pascal, Forth,C, Smalltalk,
Prolog, ML,Scheme, SQL
The 1980s
C++, Objecyive-C, Ada,CommonLisp, Eiffel,Erlang, Perl, Tcl,FL
The 1990s : Internetage
Haskell, Python,Visual Basic, Ruby,Lua, CLOS, Java,Delphi, JavaScript,PHP, Rebol, D
Current trend
C#, Visual Basic . NET, F#,Scala, Factor, Windows Poershell, Clojure, Groovy, Go
6
-
5/21/2018 Chapter 1 Intro to Programming Principles
7/32Page 7
TECHNOLOGY OF PROGRAMMING
LANGUAGE
5thGeneration Languages
Using Artificial Intelligence
4thGeneration Languages
Using Microprocessors
3rdGeneration Languages
Using Integrated Circuits
Assembly Languages
Using Transistors
Machine LanguagesUsing Vacuum Tubes
7
-
5/21/2018 Chapter 1 Intro to Programming Principles
8/32Page 8
MACHINE LANGUAGES
8
Only languages understood by computers
Also called machine code
A set of instructions for a specific central processing unit,designed to be usable by a computer without being translated
impossible for humans to use because they consist entirely ofnumbers
The lowest-level programming language
Every CPU has its own unique machine language. Programs mustbe rewritten or recompiled, therefore, to run on different types ofcomputers
-
5/21/2018 Chapter 1 Intro to Programming Principles
9/32
Page 9
ASSEMBLY LANGUAGES
a low-level programming languagefor computers, microprocessors,
microcontrollers, and otherprogrammable devices
implements a symbolicrepresentation of the machine
codes and other constants neededto program a given CPU
architecture
usually defined by the hardwaremanufacturer, and is based on
mnemonics that symbolizeprocessing steps (instructions),
processor registers, memorylocations, and other language
features
same structure and set ofcommands as machine languages,but they enable a programmer touse names instead of numbers
an assembly language programwritten for one type of CPU won't
run on another
9
-
5/21/2018 Chapter 1 Intro to Programming Principles
10/32
Page 10
3rd GENERATION LANGUAGES
a refinement of asecond-generation
programminglanguage
make the languagesmore programmer-
friendly
High level languageMost 3GLs support
structuredprogramming
Example: Fortran,ALGOL, and COBOL,
C, C++, C#, Java,
BASIC and Delphi 10
-
5/21/2018 Chapter 1 Intro to Programming Principles
11/32
Page 11
4thGENERATION LANGUAGES
a programminglanguage or
programmingenvironment designedwith a specific purpose
in mind, such as thedevelopment of
commercial businesssoftware
to reduce programmingeffort, the time it takes todevelop software, and the
cost of softwaredevelopment
fourth-generationlanguages are
programming languagescloser to human
languages than typicalhigh-level programming
languages. (COBOL)
Most 4GLs are used toaccess databases
11
-
5/21/2018 Chapter 1 Intro to Programming Principles
12/32
Page 12
5thGENERATION LANGUAGES
a programming languagebased around solving
problems using constraintsgiven to the program, rather
than using an algorithm
written by a programmer
designed to make the computer solvea given problem without the
programmer - the programmer onlyneeds to worry about what problems
need to be solved and whatconditions need to be met, without
worrying about how to implement aroutine or algorithm to solve them
based on artificial
intelligence, are still indevelopment, though there
are some applications, suchas voice recognition
Fifth-generation languages areused mainly in artificial
intelligence research. Prolog, OPS5, and Mercury
12
-
5/21/2018 Chapter 1 Intro to Programming Principles
13/32
Page 13
-
5/21/2018 Chapter 1 Intro to Programming Principles
14/32
Page 14
1.2 Describe fundamentals
of programming languages.
-
5/21/2018 Chapter 1 Intro to Programming Principles
15/32
Page 15
TERMINOLOGY
someone who writes computer software
a specialist in one area of computer programming or to a generalist who writes code for manykinds of software
Programmer
An organized list of instructions that, when executed, causes the computer to behave in apredetermined manner
Program
the process of designing, writing, testing, debugging, and maintaining the source code ofcomputer programs
Programming
A program that translates programs from assembly language to machine language.
Assembler
a computer program (or set of programs) that transforms source code written in aprogramming language (the source language) into another computer language (the targetlanguage, often having a binary form known as object code)
Compiler
A program that translate from one programming language into another
Translator15
-
5/21/2018 Chapter 1 Intro to Programming Principles
16/32
Page 16
Relate programming language
Aapplication in real life
-
5/21/2018 Chapter 1 Intro to Programming Principles
17/32
Page 17
Give the examples of PROGRAMMING
LANGUAGE APPLICATION in real life
-
5/21/2018 Chapter 1 Intro to Programming Principles
18/32
Page 18
Fotostat Machine
-
5/21/2018 Chapter 1 Intro to Programming Principles
19/32
Page 19
Handphone/smartphone
-
5/21/2018 Chapter 1 Intro to Programming Principles
20/32
Page 20
Car
-
5/21/2018 Chapter 1 Intro to Programming Principles
21/32
Page 21
-
5/21/2018 Chapter 1 Intro to Programming Principles
22/32
Page 22
-
5/21/2018 Chapter 1 Intro to Programming Principles
23/32
Page 23
-
5/21/2018 Chapter 1 Intro to Programming Principles
24/32
Page 24
-
5/21/2018 Chapter 1 Intro to Programming Principles
25/32
Page 25
-
5/21/2018 Chapter 1 Intro to Programming Principles
26/32
Page 26
-
5/21/2018 Chapter 1 Intro to Programming Principles
27/32
Page 27
-
5/21/2018 Chapter 1 Intro to Programming Principles
28/32
Page 28
-
5/21/2018 Chapter 1 Intro to Programming Principles
29/32
Page 29
-
5/21/2018 Chapter 1 Intro to Programming Principles
30/32
Page 30
-
5/21/2018 Chapter 1 Intro to Programming Principles
31/32
Page 31
-
5/21/2018 Chapter 1 Intro to Programming Principles
32/32
Page 32
Thank you