PROGRAMMING (1) LECTURE # 1 Programming and Languages: Telling the Computer What to Do.

Slides:



Advertisements
Similar presentations
Copyright © 2003 by Prentice Hall Computers: Tools for an Information Age Chapter 15 Programming and Languages: Telling the Computer What to Do.
Advertisements

Computers Are Your Future
Conventional design Identifies functions and data structures as separate entities Identifies functions and data structures as separate entities Then Defines.
Welcome to CMPE003 Personal Computer Concepts: Hardware and Software Winter 2003 UC Santa Cruz Instructor: Guy Cox.
Module 10 Programming ___tell computers what to do
Programming Creating programs that run on your PC
Computers Are Your Future © 2006 Prentice Hall, Inc.
Computer Concepts 5th Edition Parsons/Oja Page 546 CHAPTER 11 Software Engineering Section A PARSONS/OJA Computer Programming.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
1 Lecture 1  Getting ready to program  Hardware Model  Software Model  Programming Languages  The C Language  Software Engineering  Programming.
Computers: Tools for an Information Age
Program Flow Charting How to tackle the beginning stage a program design.
Program Flow Charting How to tackle the beginning stage a program design.
Java Programming, 3e Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
Chapter 16 Programming and Languages: Telling the Computer What to Do.
Starting Out with C++: Early Objects 5/e © 2006 Pearson Education. All Rights Reserved Starting Out with C++: Early Objects 5 th Edition Chapter 1 Introduction.
Chapter 3 Software Two major types of software
Programming Concepts and Languages Chapter 12 – Computers: Understanding Technology, 3 rd edition 1November
Copyright © 2001 by Wiley. All rights reserved. Chapter 1: Introduction to Programming and Visual Basic Computer Operations What is Programming? OOED Programming.
Programming In C++ Spring Semester 2013 Programming In C++, Lecture 1.
Lesson 4 Computer Software
CS102 Introduction to Computer Programming
© Paradigm Publishing Inc Chapter 12 Programming Concepts and Languages.
Copyright © 2012 Pearson Education, Inc. Chapter 1: Introduction to Computers and Programming.
Alternate Version of STARTING OUT WITH C++ 4 th Edition Chapter 1 Introduction to Computers and Programming.
Chapter Introduction to Computers and Programming 1.
Java Programming, 2E Introductory Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
CSC 125 Introduction to C++ Programming Chapter 1 Introduction to Computers and Programming.
Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.
Program development & programming languages Chapter 13.
Programming Languages: Telling the Computers What to Do Chapter 16.
Chapter 1: Introduction to Visual Basic.NET: Background and Perspective Visual Basic.NET Programming: From Problem Analysis to Program Design.
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
Learning Objectives Data and Information Six Basic Operations Computer Operations Programs and Programming What is Programming? Types of Languages Levels.
UNIVERSITI TENAGA NASIONAL “Generates Professionals” CHAPTER 4 : Part 2 INTRODUCTION TO SOFTWARE DEVELOPMENT: PROGRAMMING & LANGUAGES.
COMPUTER PROGRAMMING Source: Computing Concepts (the I-series) by Haag, Cummings, and Rhea, McGraw-Hill/Irwin, 2002.
Chapter 1: Introduction to Computers and Programming.
Copyright © 2009 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 1: Introduction to Computers and Programming.
1 Computing Software. Programming Style Programs that are not documented internally, while they may do what is requested, can be difficult to understand.
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.
CMPE13Cyrus Bazeghi 1 Programming Languages Telling computers what to do.
Computer Concepts 2014 Chapter 12 Computer Programming.
Visual C++ Programming: Concepts and Projects
1 Chapter 13 Understanding Computers, 11 th Edition 13 Program Development and Programming Languages TODAY AND TOMORROW 11 th Edition CHAPTER.
Discovering Computers 2009 Chapter 13 Programming Languages and Program Development.
Computer Programs and Programming Languages What are low-level languages and high-level languages? High-level language Low-level language Machine-dependent.
Lead Black Slide. © 2001 Business & Information Systems 2/e2 Chapter 5 Information System Software.
Lecture 1 Introduction Figures from Lewis, “C# Software Solutions”, Addison Wesley Richard Gesick.
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.
Module 4 Part 2 Introduction To Software Development : Programming & Languages Introduction To Software Development : Programming & Languages.
1.
Chapter One An Introduction to Programming and Visual Basic.
Chapter 1: Introduction to Visual Basic.NET: Background and Perspective Visual Basic.NET Programming: From Problem Analysis to Program Design.
Chapter 11  Getting ready to program  Hardware Model  Software Model  Programming Languages  Facts about C++  Program Development Process  The Hello-world.
Skill Area 311 Part B. Lecture Overview Assembly Code Assembler Format of Assembly Code Advantages Assembly Code Disadvantages Assembly Code High-Level.
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
PROGRAMMING FUNDAMENTALS INTRODUCTION TO PROGRAMMING. Computer Programming Concepts. Flowchart. Structured Programming Design. Implementation Documentation.
Introduction to Programming Languages © 2005 Prentice Hall, Inc. CXC IT Unit 2: Intro. to Programming.
Chapter 1: Introduction to Computers and Programming.
Victoria Ibarra Mat:  Generally, Computer hardware is divided into four main functional areas. These are:  Input devices Input devices  Output.
Lecture 1 Introduction Richard Gesick.
CSCI-235 Micro-Computer Applications
Computer Programming.
An Introduction to Visual Basic .NET and Program Design
Computer Programming.
Chapter 1 Introduction(1.1)
Chapter One: An Introduction to Programming and Visual Basic
Presentation transcript:

PROGRAMMING (1) LECTURE # 1 Programming and Languages: Telling the Computer What to Do

Objectives 2  Introduction to computers.  Describe what programmers do and do not do  Explain how programmers define a problem, plan the solution, and then code, test, and document the program  List and describe the levels of programming languages: machine, assembly, high level, very high level, and natural  Describe the major programming languages that are in use today  Explain the concepts of object-oriented programming

Computer 3  A computer is a machine that can process data (input) into useful information (output).  Consist of software and hardware.  Hardware : Equipment associated with the system ( e.g., the keyboard, screen, mouse, hard disk, memory, DVDs and processing units)..  Software : programs that run on a computer to control hardware. e.g. Applications software: to perform a particular task. operating system : set of programs to Serves as intermediary between hardware and applications software Database management : store data, update it, manipulate it, retrieve it, report it in a variety of views, and print it in as many forms. Programing language :

Programming 4  Program – a set of detailed, step-by-step instructions that directs the computer to do what you want it to do  Programming language – a set of rules that provides a way of telling the computer what operations to perform

The Programming Process 5  Five main steps  Defining the problem Defining the problem  Planning the solution Planning the solution  Coding the program Coding the program  Testing the program Testing the program  Documenting the program Documenting the program

Defining the Problem 6  Develop a written agreement that specifies:  The input data  The desired output  The processing required to convert  Sometimes, the programmer receives a written specification from the systems analyst  Other times, the programmer meets with users directly Return

Planning the Solution 7  Algorithm – a detailed, step-by-step solution to the problem  Several tools help plan the algorithmplan the algorithm  Desk-check the solution  Carry out each step of the algorithm with pencil and paper Return

Planning Tools  Flowchart – a pictorial representation of the algorithm  Pseudocode – English-like language Specifies algorithm with more precision than you can in English, but less than a programming language 8 Return

Coding the Program 9  Translating the algorithm from the planning stage into a formal programming language  All languages have syntax rules  Similar to grammatical rules  The computer will reject a program with even a minor syntax error  Programs can be keyed into the computer by using a text editor Return

Testing the Program 10  Two phases of testing the program  Translation Translation Converting the program you wrote into the binary instructions the CPU understands  Debugging Identifying and correcting logic errors in the program Return

Translation  Compiler translates the program (source module) into a machine language version (object module)  If the compiler detects syntax errors, it will produce messages describing those errors  If no syntax errors exist, the object module will be linked to create a load module  Load module is executed by the computer 11 Return

Documenting the Program 12  Materials are generated at each part of the process  Common examples of documentation  Flowchart and/or pseudocode  Comments within the source code  Testing procedures  Layouts of input and output records  A narrative description of the program Return

Levels of Languages 13  Lower-level languages – more like the 0s and 1s the computer itself uses  Higher-level languages – more like the languages people use  Divided into five generations

Five Generations of Languages 14  Machine language Machine language  Assembly languages Assembly languages  High-level languages High-level languages  Very high-level languages Very high-level languages  Natural languages Natural languages

Machine Language 15  Programs and memory locations are written in strings of 0s and 1s  Problems with machine languages  Programs are difficult to write and debug  Each computer has its own machine language  Only option available to early programmers Return

Assembly Languages 16  Substitute mnemonic codes for 0s and 1s  For example, A for add, C for compare, etc.  Use names rather than binary addresses for memory locations  Require an assembler to translate the program into machine language  Still used for programming chips and writing utility programs Return

High-Level Languages 17  Transformed programming  Programmers could focus on solving problems rather than manipulating hardware  Programs could be written and debugged much more quickly  Requires a compiler to convert the statements into machine language  Each computer has its own version of a compiler for each language Return

Very High-Level Languages 18  Also called fourth-generation languages (4GLs)  The programmer specifies the desired results, and the language develops the solution  Programmers can be about 10 times more productive using a fourth-generation language than a third- generation language Return

Natural Languages  Resemble written or spoken English  Programs can be written in a natural syntax, rather than in the syntax rules of a programming language  The language translates the instructions into code the computer can execute 19 Return

Major Programming Languages 20  FORTRAN FORTRAN  COBOL COBOL  BASIC BASIC  RPG RPG  Visual Basic Visual Basic  C C  Java Java

FORTRAN  The first high-level language  Stands for FORmula TRANslator  Used primarily for engineering, mathematical, and scientific tasks 21 Return

COBOL  Stands for COmmon Business- Oriented Language  Used primarily for business requirements  Processes large data files  Produces well-formatted reports 22 Return

BASIC  Stands for Beginners’ All- Purpose Symbolic Instruction Code  Developed to teach programming to college students  Became very popular with the introduction of the microcomputer 23 Return

RPG  Stands for Report Program Generator  Designed to allow rapid creation of reports  Programmer simply describes the source data and desired report format 24 Return

Visual Basic  Allows programmer to create Windows-like user interfaces  Programmer drags a control (button, text box, etc.) onto the form  VB creates the code associated with that control  VB is event-driven  The user controls the program 25 Return

C  Originally designed to write systems software  Offers the ease of use of a high-level language with the efficiency of an assembly language  Very portable – can be used with virtually every combination of computer and operating system 26 Return

Java  A network-friendly programming language that permits a piece of software to run directly on many different platforms  Allows programmers to write one version of the program, rather than a separate version of each platform  Very useful for Internet development  Java applets can run in the user’s Web browser 27 Return

Object-Oriented Programming 28  Object – a self-contained unit that contains both data and its related functions  Key terms in object-oriented programming  Encapsulation – an object isolates both its data and its related instructions  Attributes – facts that describe the object Also called properties  Methods – instructions that tell the object to do something  Messages – an outside stimulus that results in the change of the state of an object

Using Objects  Programmers define classes of objects  The class contains all attributes that are unique to objects of that class  An object is an instance (occurrence) of a class  Objects are arranged hierarchically in classes and subclasses  Subclasses are derived from classes  Inheritance – a subclass possesses all attributes of the class from which it is derived  Additional attributes can be coded in the subclasses 29

Activating the Object 30  A message is sent to the object, telling it to do something  The object’s methods tell it how to do it  Polymorphism – each object has its own way to process the message  For example, the class may have a Move method, but each subclass implements that method differently

Object-Oriented Languages 31  C++ C++  Java Java  C# C#  Visual Basic Visual Basic

C++ 32  An enhancement of the C language  Includes all features of C  Adds support for object-oriented programming  Can be used as simply an improvement of C, without the object-oriented features Return

Java 33  A pure object-oriented program  Used to create small programs called applets  Applets can be delivered over the Web and run on any platform Return

C# 34  Microsoft’s answer to Java  Has the same advantages over C++ that Java has  Designed to work within Microsoft’s.NET environment .NET is designed for building, deploying, and running Web-based applications Return

Visual Basic 35  Previous versions supported some object technology  The current version, VB.NET, is the first to support inheritance and polymorphism  These two traits are required for a true object-oriented language Return

36 End