Chapter 1 Intro to Programming Principles

download Chapter 1 Intro to Programming Principles

of 32

description

Programming

Transcript of 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