Chapter 13: Program Development and Programming Languages

Size: px
Start display at page:

Download "Chapter 13: Program Development and Programming Languages"

Transcription

1 Understanding Computers Today and Tomorrow 12 th Edition Chapter 13: Program Development and Programming Languages

2 Learning Objectives Understand the differences between structured programming, object-oriented programming (OOP), aspect-oriented programming (AOP), and adaptive software development. Identify and describe the activities involved in the program development life cycle (PDLC). Understand what constitutes good program design and list several tools that can be used by computer professionals when designing a program. Chapter 13 Understanding Computers, 12th Edition 2

3 Learning Objectives Explain the three basic control structures and how they can be used to control program flow during execution. Discuss some of the activities involved with coding, debugging, maintaining, documenting, and ensuring the quality of programs. List some tools that can be used to speed up or otherwise facilitate the program development process. Describe several programming languages in use today. Chapter 13 Understanding Computers, 12th Edition 3

4 This chapter covers: Overview The most common approaches to program design and development The steps in the program development life cycle (PDLC) Tools that can facilitate program development Popular programming languages Chapter 13 Understanding Computers, 12th Edition 4

5 Approaches to Program Design and Development Procedural programming: Focuses on the step-bystep instructions that tell the computer what to do Uses procedures (modules, subprograms): Smaller sections of code that perform particular tasks Allows each procedure to be performed as many times as needed without requiring multiple copies of code Prior to procedural programming, programs were one large set of instructions containing statements that sent control to different parts of the program as needed (i.e. GOTO statements) Structured programming: Breaks the program into small chunks Top-down design Chapter 13 Understanding Computers, 12th Edition 5

6 Approaches to Program Design and Development Variables: Named memory locations that are defined for a program Used to store the current value of data items used in the program Chapter 13 Understanding Computers, 12th Edition 6

7 Approaches to Program Design and Development Object-oriented programming (OOP): Programs consist of a collection of objects Objects: Contain data and methods to be used with that data Class: Group of objects that share some common properties Instance: An individual object in a class Attributes: Data about the state of an object Methods: Perform actions on an object Chapter 13 Understanding Computers, 12th Edition 7

8 Approaches to Program Design and Development Aspect-oriented programming (AOP): Breaks program into small pieces that overlap in functionality as little as possible Program components can be developed and modified individually, and easily reused Adaptive software development: Designed to make program development faster and more efficient and focus on adapting the program as it is being written Iterative: Cyclical approach that allows the repetition of steps and tasks as needed Incremental: Developing one piece at a time Includes RAD (rapid application development) and extreme programming (XP) More recent adaptive software development approaches are called agile software development Chapter 13 Understanding Computers, 12th Edition 8

9 The Program Development Life Cycle (PDLC) Program development: The process of creating application programs Program development life cycle (PDLC):The steps involved with creating programs: Chapter 13 Understanding Computers, 12th Edition 9

10 The Program Development Life Cycle (PDLC) Problem analysis: The problem is considered and the program specifications are developed Specifications developed during the SDLC are reviewed by the systems analyst and the programmer (the person who will code the program) Goal: To understand the functions the software must perform Documentation: Includes program specifications (what it does, timetable, programming language to be used, etc) Chapter 13 Understanding Computers, 12th Edition 10

11 The Program Development Life Program design: The set of steps needed in order for the program to perform the tasks it is supposed to perform (algorithm) is developed Good program design is extremely important Program design tools Cycle (PDLC) Structure charts: Depict the overall organization of a program Flowcharts: Show graphically step-by-step how a computer program will process data Use special symbols and relational operators Chapter 13 Understanding Computers, 12th Edition 11

12 Flowcharts Chapter 13 Understanding Computers, 12th Edition 12

13 The Program Development Life Cycle (PDLC) Pseudocode: Uses English-like statements to outline the logic of a program Chapter 13 Understanding Computers, 12th Edition 13

14 The Program Development Life Cycle (PDLC) Unified Modeling Language (UML) Models: Set of standard notations for creating business models Widely used in object-oriented programs Includes class diagrams, use case diagrams, etc. Business Processing Modeling Notation (BPMN): Graphical notation used to depict the steps in a business process Expresses business processes graphically using Business Process Diagrams Look similar to flowcharts Designed to be understood by everyone Chapter 13 Understanding Computers, 12th Edition 14

15 Unified Modeling Language (UML) Models Chapter 13 Understanding Computers, 12th Edition 15

16 The Program Development Life Cycle (PDLC) Control structure: A Pattern for controlling the flow of logic in a computer program Sequence control structure: Series of statements that follow one another Selection control structure: Multiple paths, direction depends on result of test If-then-else Case Repetition control structure: Repeat series of steps Do-while Do-until Chapter 13 Understanding Computers, 12th Edition 16

17 Control Structures Chapter 13 Understanding Computers, 12th Edition 17

18 Control Structures Chapter 13 Understanding Computers, 12th Edition 18

19 The Program Development Life Cycle (PDLC) Good program design: Saves time Creates better programs Good program design principles: Be specific All things the program must do need to be specified One-entry-point/one-exit-point rule No infinite loops or other logic errors Infinite loop: Series of steps that repeat forever Design should be tested to ensure logic is correct Desk check; tracing tables Documentation: Includes design specifications Chapter 13 Understanding Computers, 12th Edition 19

20 Good Program Design Chapter 13 Understanding Computers, 12th Edition 20

21 Program Design Testing Chapter 13 Understanding Computers, 12th Edition 21

22 The Program Development Life Cycle (PDLC) Program coding: The process of writing the programming language statements to create a computer program When choosing a programming language, consider: Suitability to the application Integration with other programs Standards for the company Programmer availability Portability if being run on multiple platforms Development speed Coding creates source code Chapter 13 Understanding Computers, 12th Edition 22

23 Coding Standards Coding standards: A list of rules designed to standardize programming styles Make programs more universally readable and easier to maintain Includes the proper use of comments to: Identify the programmer and last modification date Explain variables used in the program Identify the main parts of the program Reusable code: Generic code segments that can be used over and over again with minor modifications Can greatly reduce development time Documentation: Includes documented source code Chapter 13 Understanding Computers, 12th Edition 23

24 Coding Standards Chapter 13 Understanding Computers, 12th Edition 24

25 The Program Development Life Cycle (PDLC) Program debugging and testing: The process of ensuring a program is free of errors (bugs) and works as it is supposed to Before they can be debugged, coded programs need to be translated into executable code Source code: Coded program before it is compiled Object code: Machine language version of a program Language translator: Program that converts source code to machine language Chapter 13 Understanding Computers, 12th Edition 25

26 The Program Development Life Cycle (PDLC) Types of language translators: Compilers: Combines program with other object modules and creates a finished executable program Interpreters: Translates one line of code at one time Assemblers: Convert assembly language programs into machine language Chapter 13 Understanding Computers, 12th Edition 26

27 The Program Development Life Cycle (PDLC) Preliminary debugging: Finds initial errors Compiler errors: Must be corrected before the logic of the program can be tested Syntax errors: Occur when the programmer has not followed the rules of the programming language Program won t run; usually an error message is displayed Run time error: Occurs when the program is running Often logic errors: Program will run but produces incorrect results Dummy print statements can help locate logic errors and other run time errors Chapter 13 Understanding Computers, 12th Edition 27

28 Preliminary Debugging Chapter 13 Understanding Computers, 12th Edition 28

29 Preliminary Debugging Chapter 13 Understanding Computers, 12th Edition 29

30 The Program Development Life Cycle (PDLC) Testing occurs after the program appears to be correct to find any additional errors Should use good test data Tests conditions that will occur when the program is implemented Should check for coding omissions (product quantity allowed to be < 0, etc.) Alpha test (inside organization) Beta test (outside testers) Documentation: Completed program package (user s manual, description of software commands, troubleshooting guide to help with difficulties, etc.) Chapter 13 Understanding Computers, 12th Edition 30

31 The Program Development Life Cycle (PDLC) Program implementation and maintenance: Installing and maintaining the program Once the system containing the program is up and running, the implementation process is complete Program maintenance: Process of updating software so it continues to be useful Very costly Documentation: Amended program package Chapter 13 Understanding Computers, 12th Edition 31

32 Tools for Facilitating Program Development Application Lifecycle Management (ALM): Creating and managing an application during its entire lifecycle, from design through testing Tools include: Requirements management: Keeping track of and managing the information needs of users Requirements definition software Requirements management software Configuration management: Keeping track of the progress of a program development project Program design tools to generate diagrams, code, etc. Chapter 13 Understanding Computers, 12th Edition 32

33 Tools for Facilitating Program Development Application generator: Software product that enables users to code new applications quickly Macro recorders: Record and play back a series of keystrokes Report and form generators: GUI tools that enable individuals to prepare reports and forms quickly Chapter 13 Understanding Computers, 12th Edition 33

34 Tools for Facilitating Program Development Device software development tools: Assist with developing software to be used on devices, such as cars, ATM machines, consumer devices, etc Software development kits (SDK): Programming package designed for a particular platform that enables programmers to develop applications more quickly and easily Released by hardware or software companies (Microsoft, Apple, etc.) Application Program Interfaces (API): An interface designed to help applications interface with a particular operating system Often used in conjunction with Web sites Chapter 13 Understanding Computers, 12th Edition 34

35 Programming Languages Programming language: A set of rules used to write computer programs To write a program, you need appropriate software for the programming language you will be using Categories of programming languages Low-level languages: Difficult to code in; machine dependent Machine language: 1s and 0s Assembly language: Includes some words and symbols Chapter 13 Understanding Computers, 12th Edition 35

36 Programming Languages Chapter 13 Understanding Computers, 12th Edition 36

37 Programming Languages High-level languages: Closer to natural languages and so are easier to write in Machine independent Includes third-level procedural languages such as FORTRAN, BASIC, COBOL, Pascal, and C, as well as newer object-oriented languages such as Visual Basic, C++, C#, Python, Ruby, and Java Fourth-generation languages (4GLs): Even closer to natural languages and easier to work with than 3GLs Declarative rather than procedural Includes structured query language (SQL) used with databases Chapter 13 Understanding Computers, 12th Edition 37

38 Programming Languages Natural programming languages: Users can communicate in their native language Doesn t have to follow program syntax In the infancy stage Visual programming languages: Uses a visual programming environment User can use mouse and graphical interface and the code is automatically generated Visual versions of many programming languages Visual programming environment (VPE): Use visual elements to assist in program development but still require some coding Chapter 13 Understanding Computers, 12th Edition 38

39 Common Programming Languages FORTRAN: High-level programming language used for mathematical, scientific, and engineering applications Efficient for math and scientific applications Chapter 13 Understanding Computers, 12th Edition 39

40 Common Programming Languages COBOL: Designed for business transaction processing Makes extensive use of modules and submodules Being phased out in many organizations Chapter 13 Understanding Computers, 12th Edition 40

41 Common Programming Languages Pascal: Created as a teaching tool to encourage structured programming Contains a variety of control structures used to manipulate modules systematically Chapter 13 Understanding Computers, 12th Edition 41

42 Common Programming Languages BASIC: Easy-to-learn, high-level programming language that was developed to be used by beginning programmers Visual Basic: Object-oriented version of BASIC which helps programmers quickly and easily create programs through the use of a visual environment Chapter 13 Understanding Computers, 12th Edition 42

43 Common Programming Languages C: Designed for system programming C++, and C#: Object-oriented versions of C Chapter 13 Understanding Computers, 12th Edition 43

44 Common Programming Languages Java: High-level, object-oriented programming language frequently used for Web-based applications Platform independence is one of Java s biggest advantages Any operating system or browser that understands Java (compiled Java programs) can run Java bytecode applications Is one of the most popular programming languages today Can be used to write Java applets Chapter 13 Understanding Computers, 12th Edition 44

45 Common Programming Languages Chapter 13 Understanding Computers, 12th Edition 45

46 Common Programming Languages Python: Open-source, dynamic, object-oriented language that can be used to develop a variety of applications Gaming, scientific, database, and Web applications Only recently gaining a following Chapter 13 Understanding Computers, 12th Edition 46

47 Common Programming Languages Ruby: Open-source, object-oriented language that can be used to create general-purpose or Web applications Uses a syntax that is fairly easy to read and write, allowing programmers to create database-driven Web applications easily and quickly Chapter 13 Understanding Computers, 12th Edition 47

48 Summary Approaches to Program Design and Development The Program Development Life Cycle (PDLC) Tools for Facilitating Program Development Programming Languages Chapter 13 Understanding Computers, 12th Edition 48

Chapter 13: Program Development and Programming Languages

Chapter 13: Program Development and Programming Languages 15 th Edition Understanding Computers Today and Tomorrow Comprehensive Chapter 13: Program Development and Programming Languages Deborah Morley Charles S. Parker Copyright 2015 Cengage Learning Learning

More information

McGraw-Hill The McGraw-Hill Companies, Inc., 20 1. 01 0

McGraw-Hill The McGraw-Hill Companies, Inc., 20 1. 01 0 1.1 McGraw-Hill The McGraw-Hill Companies, Inc., 2000 Objectives: To describe the evolution of programming languages from machine language to high-level languages. To understand how a program in a high-level

More information

Procedural Languages. Procedural Languages. Procedural Languages. Procedural Languages. Procedural Languages. Procedural Languages

Procedural Languages. Procedural Languages. Procedural Languages. Procedural Languages. Procedural Languages. Procedural Languages Objectives Differentiate between machine and and assembly languages Describe Describe various various ways ways to to develop develop Web Web pages pages including including HTML, HTML, scripting scripting

More information

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

Chapter 13 Computer Programs and Programming Languages. Discovering Computers 2012. Your Interactive Guide to the Digital World Chapter 13 Computer Programs and Programming Languages Discovering Computers 2012 Your Interactive Guide to the Digital World Objectives Overview Differentiate between machine and assembly languages Identify

More information

Chapter 12 Programming Concepts and Languages

Chapter 12 Programming Concepts and Languages 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

More information

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

Chapter 14. Programming and Languages. McGraw-Hill/Irwin. Copyright 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 14 Programming and Languages McGraw-Hill/Irwin Copyright 2008 by The McGraw-Hill Companies, Inc. All rights reserved. Competencies (Page 1 of 2) Describe the six steps of programming Discuss design

More information

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

Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives Introduction to Programming and Algorithms Module 1 CS 146 Sam Houston State University Dr. Tim McGuire Module Objectives To understand: the necessity of programming, differences between hardware and software,

More information

Fundamentals of Programming and Software Development Lesson Objectives

Fundamentals of Programming and Software Development Lesson Objectives Lesson Unit 1: INTRODUCTION TO COMPUTERS Computer History Create a timeline illustrating the most significant contributions to computing technology Describe the history and evolution of the computer Identify

More information

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

Algorithm & Flowchart & Pseudo code. Staff Incharge: S.Sasirekha Algorithm & Flowchart & Pseudo code Staff Incharge: S.Sasirekha Computer Programming and Languages Computers work on a set of instructions called computer program, which clearly specify the ways to carry

More information

SIT102 Introduction to Programming

SIT102 Introduction to Programming SIT102 Introduction to Programming After working through this session you should: Understand the relationships between operating systems, their user interfaces, and programs; Understand the difference

More information

2667A - Introduction to Programming

2667A - Introduction to Programming 2667A - Introduction to Programming Table of Contents Introduction Audience At Course Completion Prerequisites Microsoft Certified Professional Exams Student Materials Course Outline Introduction Elements

More information

Instructor Özgür ZEYDAN BEU Dept. of Enve. Eng. http://cevre.beun.edu.tr/zeydan/ CIV 112 Computer Programming Lecture Notes (1)

Instructor Özgür ZEYDAN BEU Dept. of Enve. Eng. http://cevre.beun.edu.tr/zeydan/ CIV 112 Computer Programming Lecture Notes (1) Instructor Özgür ZEYDAN BEU Dept. of Enve. Eng. http://cevre.beun.edu.tr/zeydan/ CIV 112 Computer Programming Lecture Notes (1) Computer Programming A computer is a programmable machine. This means it

More information

Software. Managing Software Assets. Major types of software BIOS

Software. Managing Software Assets. Major types of software BIOS Software Managing Software Assets A software program is a series of statements or instructions to the computer. The process of writing or coding programs is termed programming; and the individuals who

More information

Software Development. Topic 1 The Software Development Process

Software Development. Topic 1 The Software Development Process Software Development Topic 1 The Software Development Process 1 The Software Development Process Analysis Design Implementation Testing Documentation Evaluation Maintenance 2 Analysis Stage An Iterative

More information

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

Total Quality Management (TQM) Quality, Success and Failure. Total Quality Management (TQM) vs. Process Reengineering (BPR) Total Quality Management (TQM) Quality, Success and Failure Total Quality Management (TQM) is a concept that makes quality control a responsibility to be shared by all people in an organization. M7011

More information

Programming & Computers

Programming & Computers Programming & Computers CS1110 - Kaminski CS1110 focus 1. Problem solving Understand problem & requirements (I P O) Design modular program Design algorithms Code solution Test & debug 2. Programming PP

More information

INTRODUCTION TO INFORMATION SYSTEMS

INTRODUCTION TO INFORMATION SYSTEMS INTRODUCTION TO INFORMATION SYSTEMS CHAPTER.3 COMPUTER SOFTWARE PART2 System software Software that manages and supports a computer system. It can be divided into the following categories. System management

More information

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

Programming Languages. 2013 The McGraw-Hill Companies, Inc. All rights reserved. Define programming of and describe the six steps of programming. Discuss design tools including top-down design, pseudocode, flowcharts, and logic structures. Describe program testing and the tools for

More information

Software: Systems and Application Software

Software: Systems and Application Software Software: Systems and Application Software Computer Software Operating System Popular Operating Systems Language Translators Utility Programs Applications Programs Types of Application Software Personal

More information

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

EKT150 Introduction to Computer Programming. Wk1-Introduction to Computer and Computer Program EKT150 Introduction to Computer Programming Wk1-Introduction to Computer and Computer Program A Brief Look At Computer Computer is a device that receives input, stores and processes data, and provides

More information

Introduction to Programming

Introduction to Programming Introduction to Programming If you re new to programming, you might be intimidated by code and flowcharts. You might even wonder how you ll ever understand them. This lesson offers some basic ideas and

More information

Chapter 1. Dr. Chris Irwin Davis Email: cid021000@utdallas.edu Phone: (972) 883-3574 Office: ECSS 4.705. CS-4337 Organization of Programming Languages

Chapter 1. Dr. Chris Irwin Davis Email: cid021000@utdallas.edu Phone: (972) 883-3574 Office: ECSS 4.705. CS-4337 Organization of Programming Languages Chapter 1 CS-4337 Organization of Programming Languages Dr. Chris Irwin Davis Email: cid021000@utdallas.edu Phone: (972) 883-3574 Office: ECSS 4.705 Chapter 1 Topics Reasons for Studying Concepts of Programming

More information

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

Software: Systems and. Application Software. Software and Hardware. Types of Software. Software can represent 75% or more of the total cost of an IS. C H A P T E R 4 Software: Systems and Application Software Software and Hardware Software can represent 75% or more of the total cost of an IS. Less costly hdwr. More complex sftwr. Expensive developers

More information

Review questions for Chapter 9

Review questions for Chapter 9 Answer first, then check at the end. Review questions for Chapter 9 True/False 1. A compiler translates a high-level language program into the corresponding program in machine code. 2. An interpreter is

More information

Information system for production and mounting of plastic windows

Information system for production and mounting of plastic windows Information system for production and mounting of plastic windows MARCEL, MELIŠ Slovak University of Technology - Faculty of Material Sciences and Technology in Trnava, Paulínska 16 street, Trnava, 917

More information

SL-110: Fundamentals of Java Revision 15 October Sun Educational Services Instructor-Led Course Description

SL-110: Fundamentals of Java Revision 15 October Sun Educational Services Instructor-Led Course Description Sun Educational Services Instructor-Led Course Description Fundamentals of Java SL-110 The Fundamentals of the Java course provides students, with little or no programming experience, with the basics of

More information

SOFTWARE DEVELOPMENT LANGUAGES AND ENVIRONMENTS

SOFTWARE DEVELOPMENT LANGUAGES AND ENVIRONMENTS HIGHER COMPUTING SOFTWARE DEVELOPMENT SOFTWARE DEVELOPMENT LANGUAGES AND ENVIRONMENTS PROCEDURAL, DECLARATIVE AND EVENT-DRIVEN LANGUAGES 1. A program contains the following statement: is_a(rover,dog).

More information

Chapter 1 An Introduction to Computers and Problem Solving

Chapter 1 An Introduction to Computers and Problem Solving hapter 1 n Introduction to omputers and Problem Solving Section 1.1 n Introduction to omputers 1. Visual Basic is considered to be a () first-generation language. (B) package. () higher-level language.

More information

Java Programming (10155)

Java Programming (10155) Java Programming (10155) Rationale Statement: The world is full of problems that need to be solved or that need a program to solve them faster. In computer, programming students will learn how to solve

More information

INFORMATION TECHNOLOGY

INFORMATION TECHNOLOGY INFORMATION TECHNOLOGY Scope These program criteria apply to Information Technology, Computer Engineering Technology, and specialities therein, such as computer programming, computer systems analysis,

More information

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

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

More information

What is a programming language?

What is a programming language? Overview Introduction Motivation Why study programming languages? Some key concepts What is a programming language? Artificial language" Computers" Programs" Syntax" Semantics" What is a programming language?...there

More information

White Paper: 5GL RAD Development

White Paper: 5GL RAD Development White Paper: 5GL RAD Development After 2.5 hours of training, subjects reduced their development time by 60-90% A Study By: 326 Market Street Harrisburg, PA 17101 Luis Paris, Ph.D. Associate Professor

More information

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping

AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping AQA GCSE in Computer Science Computer Science Microsoft IT Academy Mapping 3.1.1 Constants, variables and data types Understand what is mean by terms data and information Be able to describe the difference

More information

Course MS10975A Introduction to Programming. Length: 5 Days

Course MS10975A Introduction to Programming. Length: 5 Days 3 Riverchase Office Plaza Hoover, Alabama 35244 Phone: 205.989.4944 Fax: 855.317.2187 E-Mail: rwhitney@discoveritt.com Web: www.discoveritt.com Course MS10975A Introduction to Programming Length: 5 Days

More information

Connecting with Computer Science, 2e. Chapter 13 Software Engineering

Connecting with Computer Science, 2e. Chapter 13 Software Engineering Connecting with Computer Science, 2e Chapter 13 Software Engineering Objectives In this chapter you will: Learn how software engineering is used to create applications Learn some software engineering process

More information

Information Science 1

Information Science 1 Topics covered Information Science 1 Terms and concepts from Week 05 The software development process Program'Development /Algorithms'and'Problem'Solving/'' ' software software life cycle life-cycle models

More information

Flowchart Techniques

Flowchart Techniques C H A P T E R 1 Flowchart Techniques 1.1 Programming Aids Programmers use different kinds of tools or aids which help them in developing programs faster and better. Such aids are studied in the following

More information

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

Language Evaluation Criteria. Evaluation Criteria: Readability. Evaluation Criteria: Writability. ICOM 4036 Programming Languages ICOM 4036 Programming Languages Preliminaries Dr. Amirhossein Chinaei Dept. of Electrical & Computer Engineering UPRM Spring 2010 Language Evaluation Criteria Readability: the ease with which programs

More information

Appendix M INFORMATION TECHNOLOGY (IT) YOUTH APPRENTICESHIP

Appendix M INFORMATION TECHNOLOGY (IT) YOUTH APPRENTICESHIP Appendix M INFORMATION TECHNOLOGY (IT) YOUTH APPRENTICESHIP PROGRAMMING & SOFTWARE DEVELOPMENT AND INFORMATION SUPPORT & SERVICES PATHWAY SOFTWARE UNIT UNIT 5 Programming & and Support & s: (Unit 5) PAGE

More information

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

Discovering Computers Fundamentals, 2010 Edition. Living in a Digital World Discovering Computers Fundamentals, 2010 Edition Living in a Digital World Objec&ves Overview Discuss the importance of project management, feasibility assessment, documenta8on, and data and informa8on

More information

Chapter 8 Approaches to System Development

Chapter 8 Approaches to System Development Systems Analysis and Design in a Changing World, sixth edition 8-1 Chapter 8 Approaches to System Development Table of Contents Chapter Overview Learning Objectives Notes on Opening Case and EOC Cases

More information

Algorithms, Flowcharts & Program Design. ComPro

Algorithms, Flowcharts & Program Design. ComPro Algorithms, Flowcharts & Program Design ComPro Definition Algorithm: o sequence of steps to be performed in order to solve a problem by the computer. Flowchart: o graphical or symbolic representation of

More information

SECTION 2 PROGRAMMING & DEVELOPMENT

SECTION 2 PROGRAMMING & DEVELOPMENT Page 1 SECTION 2 PROGRAMMING & DEVELOPMENT DEVELOPMENT METHODOLOGY THE WATERFALL APPROACH The Waterfall model of software development is a top-down, sequential approach to the design, development, testing

More information

Welcome to Introduction to Computers and Programming Course using Python

Welcome to Introduction to Computers and Programming Course using Python Welcome to Introduction to Computers and Programming Course using Python V22.0002, Section 3, Spring 2010 Course Introduction Professor: Sana Odeh odeh@courant.nyu.edu Office hours: Mondays 2:00 pm - 4

More information

Clarke College. Major Requirements

Clarke College. Major Requirements 136 Clarke College Computer Science Mission In an increasingly technical world, the computer science department strives to bring technological understanding and contemporary professional skills to the

More information

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

High-Level Programming Languages. Nell Dale & John Lewis (adaptation by Michael Goldwasser) High-Level Programming Languages Nell Dale & John Lewis (adaptation by Michael Goldwasser) Low-Level Languages What are disadvantages of low-level languages? (e.g., machine code or assembly code) Programming

More information

3 SOFTWARE AND PROGRAMMING LANGUAGES

3 SOFTWARE AND PROGRAMMING LANGUAGES 3 SOFTWARE AND PROGRAMMING LANGUAGES 3.1 INTRODUCTION In the previous lesson we discussed about the different parts and configurations of computer. It has been mentioned that programs or instructions have

More information

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

Modeling, Computers, and Error Analysis Mathematical Modeling and Engineering Problem-Solving Next: Roots of Equations Up: Numerical Analysis for Chemical Previous: Contents Subsections Mathematical Modeling and Engineering Problem-Solving A Simple Mathematical Model Computers and Software The

More information

A Project Based Approach for Teaching System Analysis, Design, and Implementation Courses

A Project Based Approach for Teaching System Analysis, Design, and Implementation Courses A Project Based Approach for Teaching System Analysis, Design, and Implementation Courses Nabil A. Yousif 1 and Masoud Naghedolfeizi 2 Abstract-In curricula of Computer Information Systems at Fort Valley

More information

Manage Software Development in LabVIEW with Professional Tools

Manage Software Development in LabVIEW with Professional Tools Manage Software Development in LabVIEW with Professional Tools Introduction For many years, National Instruments LabVIEW software has been known as an easy-to-use development tool for building data acquisition

More information

Fundamentals of Java Programming

Fundamentals of Java Programming Fundamentals of Java Programming This document is exclusive property of Cisco Systems, Inc. Permission is granted to print and copy this document for non-commercial distribution and exclusive use by instructors

More information

Stage 5 Information and Software Technology

Stage 5 Information and Software Technology Stage 5 Information and Software Technology Year: Year 9 Teacher: Topic: Option 8: Software Development and Programming Time: This option involves students undertaking a range of activities that will lead

More information

Concepts of Programming Languages. Robert W. Sebesta

Concepts of Programming Languages. Robert W. Sebesta Concepts of Programming Languages Robert W. Sebesta Chapter 1 Preliminaries Reasons for studying the underlying concepts of programming languages The Study of Programming Languages Increases our ability

More information

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

Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming Characteristics of Java (Optional) Y. Daniel Liang Supplement for Introduction to Java Programming Java has become enormously popular. Java s rapid rise and wide acceptance can be traced to its design

More information

Software development and programming. Software

Software development and programming. Software CHAPTER 15 15 Software Software development and programming Syllabus outcomes 5.2.1 Describes and applies problem-solving processes when creating solutions. 5.2.2 Designs, produces and evaluates appropriate

More information

Higher Computing. Software Development. LO1 Software Development process

Higher Computing. Software Development. LO1 Software Development process Software Development LO1 Software Development process Ian Simpson Inverurie Academy 2006 Software Development The candidate must demonstrate knowledge and understanding, practical skills and problem solving

More information

Programming Languages

Programming Languages Programming Languages Programming languages bridge the gap between people and machines; for that matter, they also bridge the gap among people who would like to share algorithms in a way that immediately

More information

Computer Information Systems (CIS)

Computer Information Systems (CIS) Computer Information Systems (CIS) CIS 113 Spreadsheet Software Applications Prerequisite: CIS 146 or spreadsheet experience This course provides students with hands-on experience using spreadsheet software.

More information

Instructional Design Framework CSE: Unit 1 Lesson 1

Instructional Design Framework CSE: Unit 1 Lesson 1 Instructional Design Framework Stage 1 Stage 2 Stage 3 If the desired end result is for learners to then you need evidence of the learners ability to then the learning events need to. Stage 1 Desired Results

More information

Lecture 1: Introduction

Lecture 1: Introduction Programming Languages Lecture 1: Introduction Benjamin J. Keller Department of Computer Science, Virginia Tech Programming Languages Lecture 1 Introduction 2 Lecture Outline Preview History of Programming

More information

50 Computer Science MI-SG-FLD050-02

50 Computer Science MI-SG-FLD050-02 50 Computer Science MI-SG-FLD050-02 TABLE OF CONTENTS PART 1: General Information About the MTTC Program and Test Preparation OVERVIEW OF THE TESTING PROGRAM... 1-1 Contact Information Test Development

More information

Programming and Software Development CTAG Alignments

Programming and Software Development CTAG Alignments Programming and Software Development CTAG Alignments This document contains information about four Career-Technical Articulation Numbers (CTANs) for Programming and Software Development Career-Technical

More information

EMC Publishing. Ontario Curriculum Computer and Information Science Grade 11

EMC Publishing. Ontario Curriculum Computer and Information Science Grade 11 EMC Publishing Ontario Curriculum Computer and Information Science Grade 11 Correlations for: An Introduction to Programming Using Microsoft Visual Basic 2005 Theory and Foundation Overall Expectations

More information

SOFTWARE TESTING TRAINING COURSES CONTENTS

SOFTWARE TESTING TRAINING COURSES CONTENTS SOFTWARE TESTING TRAINING COURSES CONTENTS 1 Unit I Description Objectves Duration Contents Software Testing Fundamentals and Best Practices This training course will give basic understanding on software

More information

A Modular Approach to Teaching Mobile APPS Development

A Modular Approach to Teaching Mobile APPS Development 2014 Hawaii University International Conferences Science, Technology, Engineering, Math & Education June 16, 17, & 18 2014 Ala Moana Hotel, Honolulu, Hawaii A Modular Approach to Teaching Mobile APPS Development

More information

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

Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology Peter Mileff PhD SOFTWARE ENGINEERING The Basics of Software Engineering University of Miskolc Department of Information Technology Introduction Péter Mileff - Department of Information Engineering Room

More information

Jonathan Worthington Scarborough Linux User Group

Jonathan Worthington Scarborough Linux User Group Jonathan Worthington Scarborough Linux User Group Introduction What does a Virtual Machine do? Hides away the details of the hardware platform and operating system. Defines a common set of instructions.

More information

CS 40 Computing for the Web

CS 40 Computing for the Web CS 40 Computing for the Web Art Lee January 20, 2015 Announcements Course web on Sakai Homework assignments submit them on Sakai Email me the survey: See the Announcements page on the course web for instructions

More information

System Structures. Services Interface Structure

System Structures. Services Interface Structure System Structures Services Interface Structure Operating system services (1) Operating system services (2) Functions that are helpful to the user User interface Command line interpreter Batch interface

More information

Chapter 1 System Development Environment

Chapter 1 System Development Environment Chapter 1 System Development Environment Definition Information systems analysis and design: The organizational process to develop computer-based information systems. History In the early years of computing,

More information

CS 16: Assembly Language Programming for the IBM PC and Compatibles

CS 16: Assembly Language Programming for the IBM PC and Compatibles CS 16: Assembly Language Programming for the IBM PC and Compatibles First, a little about you Your name Have you ever worked with/used/played with assembly language? If so, talk about it Why are you taking

More information

Understanding the IEC61131-3 Programming Languages

Understanding the IEC61131-3 Programming Languages profile Drive & Control Technical Article Understanding the IEC61131-3 Programming Languages It was about 120 years ago when Mark Twain used the phrase more than one way to skin a cat. In the world of

More information

Computer Programming

Computer Programming 1 UNESCO-NIGERIA TECHNICAL & VOCATIONAL EDUCATION REVITALISATION PROJECT-PHASE PHASE II NATIONAL DIPLOMA IN COMPUTER TECHNOLOGY Computer Programming COURSE CODE: COM113 YEAR I- SE MESTER I THEORY Version

More information

Improvement of Software Quality and Productivity Using Development Tools

Improvement of Software Quality and Productivity Using Development Tools Improvement of Software Quality and Productivity Using Development Tools V Hideo Abotani V Tomoki Shiratori V Kouji Sasaki V Masaki Tonomura (Manuscript received March 24, 2006) Information systems, which

More information

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

Name: Class: Date: 9. The compiler ignores all comments they are there strictly for the convenience of anyone reading the program. Name: Class: Date: Exam #1 - Prep True/False Indicate whether the statement is true or false. 1. Programming is the process of writing a computer program in a language that the computer can respond to

More information

MICHIGAN TEST FOR TEACHER CERTIFICATION (MTTC) TEST OBJECTIVES FIELD 050: COMPUTER SCIENCE

MICHIGAN TEST FOR TEACHER CERTIFICATION (MTTC) TEST OBJECTIVES FIELD 050: COMPUTER SCIENCE MICHIGAN TEST FOR TEACHER CERTIFICATION (MTTC) TEST OBJECTIVES Subarea Educational Computing and Technology Literacy Computer Systems, Data, and Algorithms Program Design and Verification Programming Language

More information

Linear Motion and Assembly Technologies Pneumatics Service. Understanding the IEC61131-3 Programming Languages

Linear Motion and Assembly Technologies Pneumatics Service. Understanding the IEC61131-3 Programming Languages Electric Drives and Controls Hydraulics Linear Motion and Assembly Technologies Pneumatics Service profile Drive & Control Understanding the IEC61131-3 Programming Languages It was about 120 years ago

More information

Access Tutorial 12: An Introduction to Visual Basic

Access Tutorial 12: An Introduction to Visual Basic Access Tutorial 12: An Introduction to Visual Basic 12.1 Introduction: Learning the basics of programming Programming can be an enormously complex and difficult activity. Or it can be quite straightforward.

More information

CS 51 Intro to CS. Art Lee. September 2, 2014

CS 51 Intro to CS. Art Lee. September 2, 2014 CS 51 Intro to CS Art Lee September 2, 2014 Announcements Course web page at: http://www.cmc.edu/pages/faculty/alee/cs51/ Homework/Lab assignment submission on Sakai: https://sakai.claremont.edu/portal/site/cx_mtg_79055

More information

A Review of an MVC Framework based Software Development

A Review of an MVC Framework based Software Development , pp. 213-220 http://dx.doi.org/10.14257/ijseia.2014.8.10.19 A Review of an MVC Framework based Software Development Ronnie D. Caytiles and Sunguk Lee * Department of Multimedia Engineering, Hannam University

More information

Fall 2012 Q530. Programming for Cognitive Science

Fall 2012 Q530. Programming for Cognitive Science Fall 2012 Q530 Programming for Cognitive Science Aimed at little or no programming experience. Improve your confidence and skills at: Writing code. Reading code. Understand the abilities and limitations

More information

1 File Processing Systems

1 File Processing Systems COMP 378 Database Systems Notes for Chapter 1 of Database System Concepts Introduction A database management system (DBMS) is a collection of data and an integrated set of programs that access that data.

More information

Software Development Method

Software Development Method Software Development Method Problem Analysis - (Correct Problem) Identify data objects Goal to model properties Determine Input / Output data Constraints on the problem Design Decompose into smaller problems

More information

CTI Higher Certificate in Information Systems (Engineering)

CTI Higher Certificate in Information Systems (Engineering) CTI Higher Certificate in Information Systems (Engineering) Module Descriptions 2015 CTI is part of Pearson, the world s leading learning company. Pearson is the corporate owner, not a registered provider

More information

OKLAHOMA SUBJECT AREA TESTS (OSAT )

OKLAHOMA SUBJECT AREA TESTS (OSAT ) CERTIFICATION EXAMINATIONS FOR OKLAHOMA EDUCATORS (CEOE ) OKLAHOMA SUBJECT AREA TESTS (OSAT ) FIELD 081: COMPUTER SCIENCE September 2008 Subarea Range of Competencies I. Computer Use in Educational Environments

More information

10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design

10/4/2013. Sharif University of Technology. Session # 3. Contents. Systems Analysis and Design Session # 3 Contents Systems Analysis and Design 2 1 Tiers of Software Development 10/4/2013 Information system development project Realistic behavior 3 Information system development project System Development

More information

Chapter 8 Approaches to System Development

Chapter 8 Approaches to System Development Chapter 8 Approaches to System Development Dr. Supakit Nootyaskool Faculty of Information Technology King Mongkut s Institute of Technology Ladkrabang Chapter outlines The system development life cycle

More information

Online Recruitment System 1. INTRODUCTION

Online Recruitment System 1. INTRODUCTION 1. INTRODUCTION This project Online Recruitment System is an online website in which jobseekers can register themselves online and apply for job and attend the exam. Online Recruitment System provides

More information

Application Architectures

Application Architectures Software Engineering Application Architectures Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain the organization of two fundamental models of business systems - batch

More information

Please Note: Temporary Graduate 485 skills assessments applicants should only apply for ANZSCO codes listed in the Skilled Occupation List above.

Please Note: Temporary Graduate 485 skills assessments applicants should only apply for ANZSCO codes listed in the Skilled Occupation List above. ANZSCO Descriptions This ANZSCO description document has been created to assist applicants in nominating an occupation for an ICT skill assessment application. The document lists all the ANZSCO codes that

More information

Software Development and Object-Oriented Programming Paradigms

Software Development and Object-Oriented Programming Paradigms Java Software Development and Object-Oriented Programming Paradigms This chapter presents various methodologies for problem solving and development of applications that have evolved over a period of time.

More information

Architectural Design

Architectural Design Software Engineering Architectural Design 1 Software architecture The design process for identifying the sub-systems making up a system and the framework for sub-system control and communication is architectural

More information

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

Outline. hardware components programming environments. installing Python executing Python code. decimal and binary notations running Sage Outline 1 Computer Architecture hardware components programming environments 2 Getting Started with Python installing Python executing Python code 3 Number Systems decimal and binary notations running

More information

Lesson 1 Introduction to Rapid Application Development using Visual Basic

Lesson 1 Introduction to Rapid Application Development using Visual Basic Lesson 1 Introduction to Rapid Application Development using Visual Basic RAD (Rapid Application Development) refers to a development life cycle designed to give much faster development and higher-quality

More information

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

CE 504 Computational Hydrology Computational Environments and Tools Fritz R. Fiedler CE 504 Computational Hydrology Computational Environments and Tools Fritz R. Fiedler 1) Operating systems a) Windows b) Unix and Linux c) Macintosh 2) Data manipulation tools a) Text Editors b) Spreadsheets

More information

Python Programming: An Introduction to Computer Science

Python Programming: An Introduction to Computer Science Python Programming: An Introduction to Computer Science Chapter 1 Computers and Programs 1 The Universal Machine n A computer -- a machine that stores and manipulates information under the control of a

More information

SECTION 4 TESTING & QUALITY CONTROL

SECTION 4 TESTING & QUALITY CONTROL Page 1 SECTION 4 TESTING & QUALITY CONTROL TESTING METHODOLOGY & THE TESTING LIFECYCLE The stages of the Testing Life Cycle are: Requirements Analysis, Planning, Test Case Development, Test Environment

More information

Chapter 2: Algorithm Discovery and Design. Invitation to Computer Science, C++ Version, Third Edition

Chapter 2: Algorithm Discovery and Design. Invitation to Computer Science, C++ Version, Third Edition Chapter 2: Algorithm Discovery and Design Invitation to Computer Science, C++ Version, Third Edition Objectives In this chapter, you will learn about: Representing algorithms Examples of algorithmic problem

More information

Canadian Technology Accreditation Criteria (CTAC) INFORMATION TECHNOLOGY - TECHNOLOGIST Technology Accreditation Canada (TAC)

Canadian Technology Accreditation Criteria (CTAC) INFORMATION TECHNOLOGY - TECHNOLOGIST Technology Accreditation Canada (TAC) Canadian Technology Accreditation Criteria (CTAC) INFORMATION TECHNOLOGY - TECHNOLOGIST Technology Accreditation Canada (TAC) Preamble These CTAC are applicable to programs having titles involving Information

More information