Chapter 12 Programming Concepts and Languages



Similar documents
How To Understand Programming Languages And Programming Languages

Chapter 13 Computer Programs and Programming Languages. Discovering Computers Your Interactive Guide to the Digital World

Chapter 13: Program Development and Programming Languages

Instructor Özgür ZEYDAN BEU Dept. of Enve. Eng. CIV 112 Computer Programming Lecture Notes (1)

Chapter 13: Program Development and Programming Languages

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives

2667A - Introduction to Programming

Discovering Computers Fundamentals, 2010 Edition. Living in a Digital World

Chapter 1. Dr. Chris Irwin Davis Phone: (972) Office: ECSS CS-4337 Organization of Programming Languages

Chapter 14. Programming and Languages. McGraw-Hill/Irwin. Copyright 2008 by The McGraw-Hill Companies, Inc. All rights reserved.

Algorithm & Flowchart & Pseudo code. Staff Incharge: S.Sasirekha

McGraw-Hill The McGraw-Hill Companies, Inc.,

Ch. 10 Software Development. (Computer Programming)

EKT150 Introduction to Computer Programming. Wk1-Introduction to Computer and Computer Program

1/20/2016 INTRODUCTION

Software: Systems and. Application Software. Software and Hardware. Types of Software. Software can represent 75% or more of the total cost of an IS.

Course MS10975A Introduction to Programming. Length: 5 Days

3 SOFTWARE AND PROGRAMMING LANGUAGES

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping

Language Evaluation Criteria. Evaluation Criteria: Readability. Evaluation Criteria: Writability. ICOM 4036 Programming Languages

Web Pages. Static Web Pages SHTML

Short notes on webpage programming languages

WEB SITE DEVELOPMENT WORKSHEET

CSE 130 Programming Language Principles & Paradigms

ATSBA: Advanced Technologies Supporting Business Areas. Programming with Java. 1 Overview and Introduction

Software: Systems and Application Software

An Easier Way for Cross-Platform Data Acquisition Application Development

DIABLO VALLEY COLLEGE CATALOG

CSE 373: Data Structure & Algorithms Lecture 25: Programming Languages. Nicki Dell Spring 2014

Modeling, Computers, and Error Analysis Mathematical Modeling and Engineering Problem-Solving

Fundamentals of Programming and Software Development Lesson Objectives

Chapter 10: Multimedia and the Web

Name: Class: Date: 9. The compiler ignores all comments they are there strictly for the convenience of anyone reading the program.

Outline. hardware components programming environments. installing Python executing Python code. decimal and binary notations running Sage

Computer Science. 232 Computer Science. Degrees and Certificates Awarded. A.S. Degree Requirements. Program Student Outcomes. Department Offices

18 Software. design. Learning outcomes. Credit value: 10

Programming Languages The McGraw-Hill Companies, Inc. All rights reserved.

PCCC PCCC Course Description

Programming in Access VBA

1. Overview of the Java Language

High level code and machine code

High-Level Programming Languages. Nell Dale & John Lewis (adaptation by Michael Goldwasser)

Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science. Unit of Study / Textbook Correlation

Flowchart Techniques

Java vs. Java Script

Chapter 6: Programming Languages

Computer and Information Sciences

EMC Publishing. Ontario Curriculum Computer and Information Science Grade 11

1 File Processing Systems

Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming

Lesson 06: Basics of Software Development (W02D2

Computer Science. Computer Science 207. Degrees and Certificates Awarded. A.S. Computer Science Degree Requirements. Program Student Outcomes

50 Computer Science MI-SG-FLD050-02

Computer Programming

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology

Computer Layers. Hardware BOOT. Operating System. Applications

CHAPTER 1 ENGINEERING PROBLEM SOLVING. Copyright 2013 Pearson Education, Inc.

WESTMORELAND COUNTY PUBLIC SCHOOLS Integrated Instructional Pacing Guide and Checklist Computer Math

Chapter 1 Programming Languages for Web Applications

OKLAHOMA SUBJECT AREA TESTS (OSAT )

At least 2 GCE A Level Passes and credit in Mathematics at Ordinary level. Mature candidates will also be considered on a case-by-case basis.

Lesson 1 Introduction to Rapid Application Development using Visual Basic

Building Applications Using Micro Focus COBOL

Research Data Management CODING

Software development and programming. Software

Compilers. Introduction to Compilers. Lecture 1. Spring term. Mick O Donnell: michael.odonnell@uam.es Alfonso Ortega: alfonso.ortega@uam.

Python Programming: An Introduction to Computer Science

Web Design Specialist

APPLETS AND NETWORK SECURITY: A MANAGEMENT OVERVIEW

Total Quality Management (TQM) Quality, Success and Failure. Total Quality Management (TQM) vs. Process Reengineering (BPR)

Computer and Information Science

Stage 5 Information and Software Technology

ASP &.NET. Microsoft's Solution for Dynamic Web Development. Mohammad Ali Choudhry Milad Armeen Husain Zeerapurwala Campbell Ma Seul Kee Yoon

Syllabus for CS 134 Java Programming

How Web Browsers Work

CE 504 Computational Hydrology Computational Environments and Tools Fritz R. Fiedler

ARIZONA CTE CAREER PREPARATION STANDARDS & MEASUREMENT CRITERIA SOFTWARE DEVELOPMENT,

COS 301 Programming Languages

Software Requirements Specification For Real Estate Web Site

COURSE SYLLABUS EDG 6931: Designing Integrated Media Environments 2 Educational Technology Program University of Florida

Design and Development of Website Validator using XHTML 1.0 Strict Standard

2. Advance Certificate Course in Information Technology

The Elective Part of the NSS ICT Curriculum D. Software Development

Course Overview and Approximate Time Allotments. First Semester

ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science

New Features Overview

Kids College Computer Game Programming Exploring Small Basic and Procedural Programming

Chapter 1 An Introduction to Computers and Problem Solving

WhatsUp Gold v11 Features Overview

CS 40 Computing for the Web

Computer Science. Computer Science 213. Faculty and Offices. Degrees and Certificates Awarded. AS Computer Science Degree Requirements

What is a programming language?

Python Programming: An Introduction to Computer Science

Software Development. Topic 1 The Software Development Process

CSC Software II: Principles of Programming Languages

Java in Education. Choosing appropriate tool for creating multimedia is the first step in multimedia design

Transcription:

Chapter 12 Programming Concepts and Languages Chapter 12 Programming Concepts and Languages Paradigm Publishing, Inc. 12-1

Presentation Overview Programming Concepts Problem-Solving Techniques The Evolution of Programming Approaches Programming Development and Documentation Tools Programming Errors The Software Development Life Cycle Major Programming Languages Paradigm Publishing, Inc. 12-2

Programming Concepts A program is a set of instructions telling a computer how to perform various tasks. A programming language is used by programmers to create a program. Programs are also referred to as source code. Coding is the act of writing source code. Paradigm Publishing, Inc. 12-3

Programming Concepts Language Characteristics and Classifications Programming languages contain smaller vocabularies than human languages. Programming language syntax, or structure, also tends to be less complex. A program with a single syntax error (a mistake in the way programming elements are strung together) will not work at all. Paradigm Publishing, Inc. 12-4

Programming Concepts High-Level vs. Low Level Languages A low-level language is a binary language consisting of 1s and 0s. It is also known as machine code. It runs faster and takes up less disk space. A high-level language is relatively similar to natural languages such as English. It is easier to learn and use. Paradigm Publishing, Inc. 12-5

Programming Concepts A computer programming language generation is a group of languages that were developed at the same time. Each generation builds on the contributions of the one before it. Paradigm Publishing, Inc. 12-6

Programming Concepts Classic Programming Elements The four main programming elements are: variables data values stored in computer memory executable statements perform actions and proceed to the next statement in the sequence looping allows a program to return to a previously executed instruction and repeat it decision statements points in a program where different actions may be performed depending on specific conditions Paradigm Publishing, Inc. 12-7

Programming Concepts Looping allows a computer program to continuously repeat the same steps, such as a program designed to direct a traffic light to display yellow, red, and green lights at a consistent rate. Paradigm Publishing, Inc. 12-8

Programming Concepts A Decision Statement s Effect on Program Looping Using an if-then statement, based on a particular action, such as pushing the crosswalk button, a program can interrupt the looping pattern, making the program more useful. Paradigm Publishing, Inc. 12-9

Problem-Solving Techniques In the divide-andconquer approach, programmers tackle one small piece of the puzzle at a time. The top-down design approach helps programmers break a large project into manageable parts. Paradigm Publishing, Inc. 12-10

Problem-Solving Techniques Problem-Solving Steps 1. Identify the problem. 2. Analyze the problem 3. Brainstorm solutions and choose the best one. 4. Write the algorithm. 5. Prototype the solution. 6. Implement and test the solution. Paradigm Publishing, Inc. 12-11

Problem-Solving Techniques An algorithm is a complete list of steps for solving a problem. Algorithms are written in pseudocode. The step-by-step pseudocode algorithm for changing a lightbulb appears at left. Paradigm Publishing, Inc. 12-12

The Evolution of Programming Approaches Structured Programming This type of programming presents guidelines for an organized, logical approach to programming. The programmer thinks in terms of structured groups of instructions built on routines, which are sections of programs that handle specific functions. Routines are then broken down into steps. Paradigm Publishing, Inc. 12-13

The Evolution of Programming Modules Approaches In modular code, programmers create code modules that handle the separate components of a program. Modules are reusable and help in tracking down the source of errors. Modularity describes how well source code is divided into individual modules. A macro is a recording of steps to perform a repetitive activity. Paradigm Publishing, Inc. 12-14

The Evolution of Programming Approaches Object-Oriented Programming Object-oriented programming (OOP) defines each module (object) with definite rules for interfacing and a protected set of variables. Protected variables allow a programmer to prevent data from being altered during program execution. Paradigm Publishing, Inc. 12-15

The Evolution of Programming Approaches Rapid Application Development Rapid application development (RAD) reduces cost by decreasing time needed to develop a project. Visual Basic, Delphi, and other high-level languages with good interface capabilities are often used to aid in RAD. Paradigm Publishing, Inc. 12-16

The Evolution of Programming Approaches Rapid Application Development Programmers using RAD follow these guidelines: Use visual development tools whenever possible. Rapidly prototype new projects in order to reduce redesign time. Approach coding with these priorities: Use existing code first. Buy someone else s existing code second. Write new code last. Paradigm Publishing, Inc. 12-17

Programming Development and Documentation Tools Compilers and Interpreters A compiler is a program that translates programming language source code into machine code. An interpreter translates instructions one-byone as the source code is being executed, rather than all at once. It identifies errors as they are encountered. Paradigm Publishing, Inc. 12-18

Programming Development and Documentation Tools Debuggers A bug is a computer error. A debugger is a software tool that helps programmers find errors quickly. Debuggers are an integral component of compilers and interpreters. Paradigm Publishing, Inc. 12-19

Programming Development and Documentation Tools Documentation Tools The written notes that explain how a program works are called documentation. A flowchart provides a visual diagram of an algorithm. CASE tools help a programming team schedule and coordinate its operations. A comment is an informational message inserted into program source code to explain it to later readers. Paradigm Publishing, Inc. 12-20

Programming Development and Documentation Tools Flowchart Symbols These symbols are used in flowcharts to represent the logic of a program. Paradigm Publishing, Inc. 12-21

Programming Development and Documentation Tools Algorithm Flowchart Flowcharts help programmers visualize the steps in a software program. Paradigm Publishing, Inc. 12-22

Programming Development and Documentation Tools C++ Source Code Fragment Containing Comments Comments help other programmers understand how the program works. A set of forward slashes (//) indicates the start of a comment. A hard return indicates the end of the comment. Paradigm Publishing, Inc. 12-23

Programming Errors What are the main types of program errors? A syntax error is usually due to a typing mistake or a misunderstanding of the rules of a language. A logic error occurs when a program s syntax is correct, but the program instructs the computer to perform an action incorrectly. Paradigm Publishing, Inc. 12-24

Programming Errors What are the main types of program errors? A run-time error refers to mistakes that occur when the application is running. A crash bug causes a program to stop running. An infinite loop causes a program to perform the same set of instructions over and over. A style error occurs as a result of poorly written programming code. Dead code makes source code hard to read. Paradigm Publishing, Inc. 12-25

The Software Development Life Cycle What are the steps in the software development life cycle (SDLC)? The SDLC involves the planning, designing, implementing, testing, and release of application software. Paradigm Publishing, Inc. 12-26

Major Programming Languages Commonly Used Programming Languages Paradigm Publishing, Inc. 12-27

Machine Code Major Programming Languages The computer programming language that computers actually read and interpret. The code is written using a series of binary strings, which are sequences of binary symbols. Programming is rarely done using machine code because it is difficult to memorize. Paradigm Publishing, Inc. 12-28

Major Programming Assembly Language Languages Symbols and words are used to represent the elements of machine code, making it possible for programmers to memorize them. It runs the fastest and uses the least memory. Assembly language programs are difficult to write, which lengthens development times. Paradigm Publishing, Inc. 12-29

COBOL Major Programming Languages An acronym for COmmon Business-Oriented Language. Used chiefly for business applications by large companies. A slow and cumbersome language. It has large body of existing code. Many programmers are familiar with it. Paradigm Publishing, Inc. 12-30

RPG Major Programming Languages An acronym for Report Program Generator. Commonly used in business environments. It is often used on midrange and mainframe computers. It is slow and inefficient, but simplifies the coding of database applications. It is familiar to many programmers. Paradigm Publishing, Inc. 12-31

FORTRAN Major Programming Languages An acronym for FORmula TRANslator. Was for many years the language of choice for math, science, and engineering projects. It is still in use today in factories and laboratories, but is not as common as COBOL. Paradigm Publishing, Inc. 12-32

BASIC Major Programming Languages An acronym for Beginner s All-purpose Symbolic Instruction Code. A high-level language. It is more natural than COBOL and FORTRAN. Today, BASIC is used professionally in an updated form, often Visual Basic. It runs slowly, but is faster to develop. Paradigm Publishing, Inc. 12-33

Major Programming Languages Example of BASIC Source Code This sequence of code will print the numbers 1 to 10. Paradigm Publishing, Inc. 12-34

Visual Basic Major Programming Languages Developed by Microsoft in the early 1990s. The professional s language of choice for developing software prototypes and custom interfaces. VB programs are quick and easy to develop, but run slowly and demand a lot of RAM and disk space. VB supports graphic interfaces. Paradigm Publishing, Inc. 12-35

Major Programming Languages C Originally developed for the UNIX operating system. Named because it builds on an earlier language called B. C is a compromise between high- and low-level languages, but is considered a high-level language. C programs aren t as easy to read as BASIC, but they run faster and use less disk space. Paradigm Publishing, Inc. 12-36

C++ Major Programming Languages A superset of C, with added features such as object-oriented programming. Any C program should run without problems as a C++ program. Most professional software sold today is written in the form of C or C++. Paradigm Publishing, Inc. 12-37

Major Programming Languages Example of C++ Source Code This sequence of code will print the numbers 1 to 10. Paradigm Publishing, Inc. 12-38

C# Major Programming Languages Pronounced See-Sharp. An object-oriented language derived from C++ and Java. It combines the productivity of Visual Basic with the power of C++. It allows use of features in the Microsoft.NET framework, C, and Microsoft s Component Object Model (COM). Paradigm Publishing, Inc. 12-39

Java Major Programming Languages Widely used on the Internet as a script language for Web page applications. It is composed of applets that have crossplatform compatibility, meaning they can run on all types of computer systems. The Java Virtual Machine (JVM) converts the Java instructions into commands that a computer can understand. Paradigm Publishing, Inc. 12-40

Major Programming Scripting Languages Languages An interpreted language that is relatively easy to learn and use. It is a nonprocedural language it explains what the computer should do in English-like terms, but not precisely how to do it. Hypertext Markup Language (HTML), JavaScript, VBScript, and perl are scripting languages. Paradigm Publishing, Inc. 12-41

Major Programming Languages Example of JavaScript This sequence of code directs a browser to display buttons that users can click to change the background color within the Web browser window. Paradigm Publishing, Inc. 12-42

Major Programming Languages Dynamic HTML (DHTML) Allows Web page designers to alter the content of a Web page screen dynamically. Displays faster than HTML. DHTML pages are higher quality in appearance and are more graphically responsive. DHTML uses an object-oriented programming model called document object model (DOM). Paradigm Publishing, Inc. 12-43

Major Programming Extensible HTML Languages Lets Web designers use HTML and Extensible Markup Language (XML) together. XHTML allows screens with different sizes and resolutions to display the same Web page content without the designer having to write specialized versions for each. Paradigm Publishing, Inc. 12-44

Major Programming Languages Wireless Markup Language (WML) Created for small systems such as cell phones and handheld computers. Allows designers to build pages that work for small screens. Paradigm Publishing, Inc. 12-45

On the Horizon Based on the information presented in this chapter and your own experience, what do you think is on the horizon? Paradigm Publishing, Inc. 12-46