COMPUTER PROGRAMS AND LANGUAGES Chapter 4. Developing a computer program Programs are a set (series) of instructions Programmers determine The instructions.

Slides:



Advertisements
Similar presentations
CHAPTER 2 GC101 Program’s algorithm 1. COMMUNICATING WITH A COMPUTER  Programming languages bridge the gap between human thought processes and computer.
Advertisements

Computers Are Your Future
2 We need programming languages to communicate with a computer. The two broad classifications of programming languages are: Low-level and High- level.
The Binary Machine Modern high-level programming languages are designed to make programming easier. On the other end, the low level, all modern digital.
The Analytical Engine Module 6 Program Translation.
Computers: Tools for an Information Age
Chapter 16 Programming and Languages: Telling the Computer What to Do.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
SOFTWARE SYSTEMS SOFTWARE APPLICATIONS SOFTWARE PROGRAMMING LANGUAGES.
PRE-PROGRAMMING PHASE
The CPU The Central Presentation Unit Language Levels Fetch execute cycle Processor speed.
1 Chapter-01 Introduction to Computers and C++ Programming.
History of Programming Languages
Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.
Introduction to Computer Programming itc-314
Programming Languages CPS120: Introduction to Computer Science Lecture 5.
Chapter 8 High-Level Programming Languages (modified by Erin Chambers)
สาขาวิชาเทคโนโลยี สารสนเทศ คณะเทคโนโลยีสารสนเทศ และการสื่อสาร.
High level & Low level language High level programming languages are more structured, are closer to spoken language and are more intuitive than low level.
Chapter 1. Introduction.
Programming Language Rico Yu. Levels of Programming Languages 1.Low level languages 2.High level languages.
Evolution of Programming Languages Generations of PLs.
PROGRAMMING LANGUAGES Prof. Lani Cantonjos. PROGRAM - set of step-by-step instructions that tells or directs the computer what to do. PROGRAMMING LANGUAGE.
TMF1013 : Introduction To Computing Lecture 1 : Fundamental of Computer ComputerFoudamentals.
The Teacher Computing Computer Languages [Computing]
CSC425 - Introduction To Computer Programming 1. 2 Generation Of Programming Languages A set of rules that telling a computer what to do. There are over.
Problem Solving Techniques. Compiler n Is a computer program whose purpose is to take a description of a desired program coded in a programming language.
IXA 1234 : C++ PROGRAMMING CHAPTER 1. PROGRAMMING LANGUAGE Programming language is a computer program that can solve certain problem / task Keyword: Computer.
INTRODUCTION TO COMPUTING CHAPTER NO. 04. Programming Languages Program Algorithms and Pseudo Code Properties and Advantages of Algorithms Flowchart (Symbols.
Copyright © Prentice Hall Programming and Languages Chapter 14 Telling the Computer What to Do.
Fortran Fortran – Formula Translation –Developed by John Backus (IBM) in the mid 1950s. –It was a team effort and the design goal was to produce a translation.
PROGRAMMING LANGUAGES
 Computer Languages Computer Languages  Machine Language Machine Language  Assembly Language Assembly Language  High Level Language High Level Language.
Programming Languages
Introduction to Computer Programming itc-314 Lecture 04.
Lecture-8 Introduction to computer languages.
Skill Area 311 Part B. Lecture Overview Assembly Code Assembler Format of Assembly Code Advantages Assembly Code Disadvantages Assembly Code High-Level.
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
Introduction to Computer Programming Concepts M. Uyguroğlu R. Uyguroğlu.
Week 1 -2: Introduction to programming and programming languages Chapter One By Lwomwa Joseph CSC 1107: Structured Programming.
Software Engineering Algorithms, Compilers, & Lifecycle.
Computer Software 1.
Victoria Ibarra Mat:  Generally, Computer hardware is divided into four main functional areas. These are:  Input devices Input devices  Output.
a medium allowing humans and computers to communicate an abstraction of the real world a notation for expressing algorithms the set of all syntactically.
History. Development Driven by Function Functions of a Programming Language –To describe computation for use by computers –To describe computation and.
Introduction to programming languages, Algorithms & flowcharts
Why study programming languages?
Programming Languages
Introduction to programming languages, Algorithms & flowcharts
CSCI-235 Micro-Computer Applications
Introduction of Programming Languages
Developing Applications
Introduction to programming languages, Algorithms & flowcharts
Computer Programming.
CSC128 FUNDAMENTALS OF COMPUTER PROBLEM SOLVING
صياغة البرامج ولغات البرمجة Programming & programming languages
Programming & S/W Development
CS105 Introduction to Computer Concepts Intro to programming
Low Level Programming Languages
and Program Development
Principles of Programming Languages
Overview of Programming Paradigms
ICT Programming Lesson 1:
Lecture 8 Programming Paradigm & Languages. Programming Languages The process of telling the computer what to do Also known as coding.
An Introduction to Programming with C++ Fifth Edition
School of Computer & Information Engineering,
CS105 Introduction to Computer Concepts Intro to programming
Programming Logic and Design Eighth Edition
Presentation transcript:

COMPUTER PROGRAMS AND LANGUAGES Chapter 4

Developing a computer program Programs are a set (series) of instructions Programmers determine The instructions to be performed. The order in which those instructions are to be performed. The data required to perform those instructions.

Program Development- Where to start?

Algorithms The most basic tools that are used to develop the problem-solving logic steps are unambiguous a finite number of steps that repeat (iterate) require decisions (logic and comparison) until the task is completed Different algorithms may accomplish the same task, with a different set of instructions, in more or less the same time, space, and efforts.

Example-

Flowcharts A pictorial representation of an algorithm steps in the form of different shapes of boxes logical flow (sequence) by interconnecting arrows help the programmer in understanding the logic of the program Flowcharts outline the general procedure Comparable to blueprint of a building draws a flowchart prior to writing a program standard flowchart symbols prescribed by the American National Standard Institute (ANSI).

Multiplication by addition 4 x

Even/Odd number

Calculate factorial- 5! = 5*4*3*2*1

Computer languages Natural languages are ambiguous, vaguely structured (vs. well defined), and has very large and ever changing (vs. well defined and a stable set) vocabularies Machine language (Low level ) Difficult to understand Assembly language (Low level ) Symbolic instructions of executable machine codes High level language Some rules similar to spoken

Evolution Programming languages have evolved tremendously hundreds of different languages user-friendly and more powerful five generations First Generation: Machine/Native Language Binary- every instruction and data using 0/1 Instruction consists of two parts Operation & Operand- where to find or store the data (operation) Fast and efficient, executed directly on the CPU Difficult for humans to read, write, and debug

Evolution … Second generation- Assembly Language Programs can be written symbolically, using English words (also known as mnemonics) LDA 10 copy the contents of location 10 into the accumulator ADD 11add contents of location 11 to accumulator ADD 12add contents of location 12 to accumulator STA 13copy contents of accumulator into a location 13 STPstop - no more instructions Assembler?

Evolution … Third Generation High level, general-purpose FORTRAN, LISP, COBOL, ALGOL Ada, Basic, C, C++, Java, Pascal, Smalltalk Easier for humans to read, write, debug Compiler translates into machine code before running Interpreter translates into machine code at runtime

Evolution … Fourth Generation Specification languages, query languages, report generators, application generators Maple, Mathematica, Postscript, SPSS, SQL Fifth Generation Solve problems using constraints rather than algorithms, used in Artificial Intelligence Prolog

Assignments IOA, IA, GA, Case

A = 10, B = 20, K = 5, and SALES = 10000

A family tree of languages Fortran BASIC Cobol LISP Scheme ML Prolog PL/1 Algol 60 Algol 68 Pascal Modula 3 Ada C C++ Simula Smalltalk Java Dylan Ruby Perl Python C#

BASIC (1964) Developed at Dartmouth in 1960’s by Tom Kurtz, John Kemeny, and a succession of undergraduates; first ran in Beginner’s All-purpose Symbolic Instructional Code Intended to introduce students in non-scientific disciplines to computing. Influenced by FORTRAN and ALGOL. Major goal to simplify user interface: Simplicity chosen over efficiency Time sharing over punched cards Distinctions such as int vs real eliminated Automatic defaults for declarations, values, arrays, output format, etc. Clear error messages Students had access to computers at all times No universal BASIC standard: ANSI (American National Standards Institute) is a minimal standard. True Basic – Kemeny’s company