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

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

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

Transcription

1 1.1 McGraw-Hill The McGraw-Hill Companies, Inc., 2000

2 Objectives: To describe the evolution of programming languages from machine language to high-level languages. To understand how a program in a high-level language is translated into machine language using an interpreter or a compiler. To distinguish between four computer language paradigms. To understand the procedural paradigm and the interaction between a program unit and data items in the paradigm. 1.2

3 Objectives (continued): To understand the object-oriented paradigm and the interaction between a program unit and objects in this paradigm. To define functional paradigm and understand its applications. To define a declaration paradigm and understand its applications. To define common concepts in procedural and object-oriented languages. 1.3

4 9.1 EVOLUTION To write a program for a computer, we must use a computer language. A computer language is a set of predefined words that are combined into a program according to predefined rules (syntax). Over the years, computer languages have evolved from machine language to assembly languages to high-level languages. 1.4

5 Programming language: A set of rules, words, symbols, and codes 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 names and other symbols to replace some of the 1s and 0s in machine language 5

6 6

7 High-level languages: Closer to natural languages Machine independent Includes 3GLs (FORTRAN, BASIC, COBOL,C, etc.) and object-oriented languages (Visual Basic, C#, Python, Java, etc.) Visual or graphical languages: Use graphical interface to create programs Fourth-generation languages (4GLs): Even closer to natural languages and easier to work with than highlevel Declarative rather than procedural Includes structured query language (SQL) used with databases 7

8 Table 9.1: Code in machine language to add two integers 1.8

9 Table 9.2: Code in assembly language to add two integers 1.9

10 Code in High Level Languages #include <stdio.h> int main( ) { int num1, num2, sum; printf("enter two integers: "); scanf("%d %d",&num1,&num2); sum=num1+num2; printf("sum: %d",sum); return 0; } 1.10

11 11 FORTRAN: High-level programming language used for mathematical, scientific, and engineering applications Efficient for math, engineering and scientific applications Still used today for high-performance computing tasks (weather forecast)

12 COBOL: Designed for business transaction processing Makes extensive use of modules and submodules Being phased out in many organizations Evolving (COBOL.NET) 12

13 13 Pascal: Created as a teaching tool to encourage structured programming Contains a variety of control structures used to manipulate modules systematically

14 BASIC: Easy-to-learn, high-level programming language that was developed to be used by beginning programmers Visual Basic: Object-oriented version of BASIC; uses a visual environment 14

15 C: Designed for system programming C++: Object-oriented versions of C C#: Used for Web applications Objective-C: For iphone and other Apple applications 15

16 Java: High-level, object-oriented programming language frequently used for Web-based applications Java programs are compiled into bytecode Can run on any computer that includes Java Virtual Machine (Java VM) Can be used to write Java applets Scroll text on Web page, games, calculators, etc Is one of the most popular programming languages today 16

17 17

18 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 18

19 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 19

20 9.2 TRANSLATION Programs today are normally written in one of the highlevel languages. To run the program on a computer, the program needs to be translated into the machine language of the computer on which it will run. The program in a high-level language is called the source program. The translated program in machine language is called the object program. 1.20

21 Types of language translators: Compilers: Language translator that converts an entire program into machine language before executing it Interpreters: Translates one line of code at one time Assemblers: Convert assembly language programs into machine language 21

22 1.22

23 9.3 PROGRAMMING PARADIGMS Today computer languages are categorized according to the approach they use to solve a problem. A paradigm, therefore, is a way in which a computer language looks at the problem to be solved. We divide computer languages into four paradigms: procedural (imperative), object-oriented, functional, and declarative. 1.23

24 1.24

25 Procedural programming: An approach to program design in which a program is separated into small modules that are called by the main program or another module when needed Uses procedures (modules, subprograms): Smaller sections of code that perform specific tasks Allows each procedure to be performed as many times as needed; multiple copies of code not needed Prior to procedural programming, programs were one large set of instructions (used GOTO statements) Structured programming: Goes even further, breaking the program into small modules (Top-down design) that use basic structures 25

26 1.26

27 1.27

28 Object-oriented programming (OOP): Programs consist of a collection of objects that 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 Objects can perform nontraditional actions and be easily used by more than one program Inheritance between classes improve reuse 28

29 1.29

30 1.30

31 31 Aspect-oriented programming (AOP): Separates functions so program components can be developed and modified individually from one another The components can be easily reused with separate nonrelated objects Adaptive software development: Designed to make program development faster and more efficient and focus on adapting the program as it is being written Iterative and/or incremental Includes RAD (rapid application development) and extreme programming (XP) Agile software development: Focuses on building small functional program pieces during the project

32 1.32

33 1.33

34 9.4 COMMON CONCEPTS In this section we conduct a quick navigation through some procedural languages to find common concepts. Some of these concepts are also available in most object-oriented languages because, as we explain, an object-oriented paradigm uses the procedural paradigm when creating methods. 1.34

35 Identifiers Data Types Variables Constants Input and Output Expressions Statements 1.35

36 Table 9.3: Arithmetic operators 1.36

37 Table 9.4: Relational operators 1.37

38 Table 9.5: Logical operators 1.38

39 1.39

40 1.40

41 1.41

Chapter 13: Program Development and Programming Languages

Chapter 13: Program Development and Programming Languages Understanding Computers Today and Tomorrow 12 th Edition Chapter 13: Program Development and Programming Languages Learning Objectives Understand the differences between structured programming, object-oriented

More information

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

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

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

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

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

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

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

B. GENERATIONS OF PROGRAMMING LANGUAGES

B. GENERATIONS OF PROGRAMMING LANGUAGES LANGUAGE TRANSLATORS A. HIGH AND LOW LEVEL LANGUAGES Programming languages Low Level Languages Example: Assembly Language High-Level Languages Example: Pascal, Basic, Java Characteristics of LOW Level

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

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

Chapter 2 Programming Languages

Chapter 2 Programming Languages PROG0101 FUNDAMENTALS OF PROGRAMMING Chapter 2 1 Topics Definition of Program, Computer Programming, and Computer Programmer. Generations of Programming Language Types of Programming Language 2 Computer

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

Outline. Technologies for Developing Systems. History of System Development. The Evolution of System Development. Chapter s

Outline. Technologies for Developing Systems. History of System Development. The Evolution of System Development. Chapter s Outline Technologies for Developing Systems Chapter 9 Introduction Foundations of Systems Development Structured Development Fourth-Generation Languages Software Prototyping Computer-Aided Software Engineering

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

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

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

High Level Programing Paradigms

High Level Programing Paradigms High Level Programing Paradigms What the Specification Says Identify a variety of programming paradigms (low-level, object-oriented, declarative and procedural); Explain, with examples, the terms object

More information

Assembly Languages. Topic 4. Programming Languages. Assembly Languages. High-level Languages. Abstracting further from the Nuts and Bolts

Assembly Languages. Topic 4. Programming Languages. Assembly Languages. High-level Languages. Abstracting further from the Nuts and Bolts Topic 4 Assembly Languages Programming Languages Abstracting further from the Nuts and Bolts CPU (the core of the computer) responds to binary instructions only. The very first computer programs were written

More information

CSCI 3136 Principles of Programming Languages

CSCI 3136 Principles of Programming Languages CSCI 3136 Principles of Programming Languages Faculty of Computer Science Dalhousie University Winter 2013 CSCI 3136 Principles of Programming Languages Faculty of Computer Science Dalhousie University

More information

Programming Languages and Compilers

Programming Languages and Compilers Programming Languages and Compilers Qing Yi class web site: www.cs.utsa.edu/~qingyi/cs5363 cs5363 1 A little about myself Qing Yi Ph.D. Rice University, USA. Assistant Professor, Department of Computer

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

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

Solution Exercise 1.1

Solution Exercise 1.1 Solution Exercise 1.1 Part I Fill in the blanks with the most appropriate answers. 1. A Program is a sequence of step-by-step instructions that a computer executes in order to solve a problem or to perform

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

Programming Languages & Tools

Programming Languages & Tools 4 Programming Languages & Tools Almost any programming language one is familiar with can be used for computational work (despite the fact that some people believe strongly that their own favorite programming

More information

Programming Languages

Programming Languages Programming Languages Qing Yi Course web site: www.cs.utsa.edu/~qingyi/cs3723 cs3723 1 A little about myself Qing Yi Ph.D. Rice University, USA. Assistant Professor, Department of Computer Science Office:

More information

Evolution of the Major Programming Languages

Evolution of the Major Programming Languages 142 Evolution of the Major Programming Languages Object Oriented Programming: Smalltalk Object-Oriented: It s fundamental characteristics are: Data abstraction, Inheritance and Dynamic Binding. The essence

More information

INTRODUCTION TO PROGRAMMING LANGUAGES

INTRODUCTION TO PROGRAMMING LANGUAGES 1 INTRODUCTION TO PROGRAMMING LANGUAGES COMS W1001 Introduction to Information Science Boyi Xie 2 Today s Topics Why We Need Programming Languages Low-level Programming Language High-level Programming

More information

Chapter 6: Programming Languages

Chapter 6: Programming Languages Chapter 6: Programming Languages Computer Science: An Overview Eleventh Edition by J. Glenn Brookshear Copyright 2012 Pearson Education, Inc. Chapter 6: Programming Languages 6.1 Historical Perspective

More information

Today s topics. Java programs. Java Virtual Machine (JVM) Bytecodes. HelloWorld.java javac HelloWorld.class

Today s topics. Java programs. Java Virtual Machine (JVM) Bytecodes. HelloWorld.java javac HelloWorld.class Today s topics Java programs Parsing Java Programming Notes from Tammy Bailey Reading Great Ideas, Chapter 3 & 4 Java programs are created as text files using a text editor (like emacs) Save to disk with.java

More information

Intro to Programming: Basic Definitions

Intro to Programming: Basic Definitions Intro to Programming: Basic Definitions Programming: The planning, scheduling, or performing of a task or event Computer program: A sequence of instructions for a computer to execute Computer: An electronic,

More information

Learning objectives. So what is Problem Solving? CSI1102 Introduction to Software Design. A reminder: Assumed background knowledge

Learning objectives. So what is Problem Solving? CSI1102 Introduction to Software Design. A reminder: Assumed background knowledge CSI1102 Introduction to Software Design Chapter 1: Introduction Learning objectives Understand what problem solving entails Understand why problem solving skills are so important Describe the various levels

More information

CSC-113 COMPUTER PROGRAMMING LECTURER FASIHA IKRAM

CSC-113 COMPUTER PROGRAMMING LECTURER FASIHA IKRAM CSC-113 COMPUTER PROGRAMMING LECTURER FASIHA IKRAM GENTLE REMINDER Switch Off your Mobile Phone Or Switch Mobile Phone to Silent Mode An Overview of Programming Languages and Problem Solving Techniques

More information

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

CSE 373: Data Structure & Algorithms Lecture 25: Programming Languages. Nicki Dell Spring 2014 CSE 373: Data Structure & Algorithms Lecture 25: Programming Languages Nicki Dell Spring 2014 What is a Programming Language? A set of symbols and associated tools that translate (if necessary) collections

More information

Java (12 Weeks) Introduction to Java Programming Language

Java (12 Weeks) Introduction to Java Programming Language Java (12 Weeks) Topic Lecture No. Introduction to Java Programming Language 1 An Introduction to Java o Java as a Programming Platform, The Java "White Paper" Buzzwords, Java and the Internet, A Short

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

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

Chapter 3.2 C++, Java, and Scripting Languages. The major programming languages used in game development.

Chapter 3.2 C++, Java, and Scripting Languages. The major programming languages used in game development. Chapter 3.2 C++, Java, and Scripting Languages The major programming languages used in game development. C++ C used to be the most popular language for games Today, C++ is the language of choice for game

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

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

CHAPTER 1 ENGINEERING PROBLEM SOLVING. Copyright 2013 Pearson Education, Inc. CHAPTER 1 ENGINEERING PROBLEM SOLVING Computing Systems: Hardware and Software The processor : controls all the parts such as memory devices and inputs/outputs. The Arithmetic Logic Unit (ALU) : performs

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

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

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

1. Overview of the Java Language

1. Overview of the Java Language 1. Overview of the Java Language What Is the Java Technology? Java technology is: A programming language A development environment An application environment A deployment environment It is similar in syntax

More information

CSE 307: Principles of Programming Languages

CSE 307: Principles of Programming Languages Course Organization Introduction CSE 307: Principles of Programming Languages Spring 2015 R. Sekar Course Organization Introduction 1 / 34 Topics 1. Course Organization Info and Support Course Description

More information

CSC 272 - Software II: Principles of Programming Languages

CSC 272 - Software II: Principles of Programming Languages CSC 272 - Software II: Principles of Programming Languages Lecture 1 - An Introduction What is a Programming Language? A programming language is a notational system for describing computation in machine-readable

More information

BEST WEB PROGRAMMING LANGUAGES TO LEARN ON YOUR OWN TIME

BEST WEB PROGRAMMING LANGUAGES TO LEARN ON YOUR OWN TIME BEST WEB PROGRAMMING LANGUAGES TO LEARN ON YOUR OWN TIME System Analysis and Design S.Mohammad Taheri S.Hamed Moghimi Fall 92 1 CHOOSE A PROGRAMMING LANGUAGE FOR THE PROJECT 2 CHOOSE A PROGRAMMING LANGUAGE

More information

Scientific Programming, Analysis, and Visualization with Python. Mteor 227 Fall 2015

Scientific Programming, Analysis, and Visualization with Python. Mteor 227 Fall 2015 Scientific Programming, Analysis, and Visualization with Python Mteor 227 Fall 2015 Python The Big Picture Interpreted General purpose, high-level Dynamically type Multi-paradigm Object-oriented Functional

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

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

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

Oracle Academy Introduction to Database Programming with PL/SQL Instructor Resource Guide

Oracle Academy Introduction to Database Programming with PL/SQL Instructor Resource Guide Oracle Academy Introduction to Database Programming with Instructor Resource Guide INSTRUCTOR NOTES FOR SLIDES SECTION 1 LESSON 1 Introduction to Slide 1: Introduction to Slide 2: What Will I Learn? Slide

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

Embedded Systems. Review of ANSI C Topics. A Review of ANSI C and Considerations for Embedded C Programming. Basic features of C

Embedded Systems. Review of ANSI C Topics. A Review of ANSI C and Considerations for Embedded C Programming. Basic features of C Embedded Systems A Review of ANSI C and Considerations for Embedded C Programming Dr. Jeff Jackson Lecture 2-1 Review of ANSI C Topics Basic features of C C fundamentals Basic data types Expressions Selection

More information

ARIZONA CTE CAREER PREPARATION STANDARDS & MEASUREMENT CRITERIA SOFTWARE DEVELOPMENT, 15.1200.40

ARIZONA CTE CAREER PREPARATION STANDARDS & MEASUREMENT CRITERIA SOFTWARE DEVELOPMENT, 15.1200.40 SOFTWARE DEVELOPMENT, 15.1200.40 1.0 APPLY PROBLEM-SOLVING AND CRITICAL THINKING SKILLS TO INFORMATION TECHNOLOGY 1.1 Describe methods and considerations for prioritizing and scheduling software development

More information

Chapter 1. 1.1Reasons for Studying Concepts of Programming Languages

Chapter 1. 1.1Reasons for Studying Concepts of Programming Languages Chapter 1 1.1Reasons for Studying Concepts of Programming Languages a) Increased ability to express ideas. It is widely believed that the depth at which we think is influenced by the expressive power of

More information

Bachelors of Computer Application Programming Principle & Algorithm (BCA-S102T)

Bachelors of Computer Application Programming Principle & Algorithm (BCA-S102T) Unit- I Introduction to c Language: C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating

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

Program translation.

Program translation. Program translation. ffl On the very earliest computers programs were written and entered in binary form. ffl Some computers required the program to be entered one binary word at a time, using swithes

More information

1/20/2016 INTRODUCTION

1/20/2016 INTRODUCTION INTRODUCTION 1 Programming languages have common concepts that are seen in all languages This course will discuss and illustrate these common concepts: Syntax Names Types Semantics Memory Management We

More information

CHAPTER 2 PROBLEM SOLVING

CHAPTER 2 PROBLEM SOLVING CHAPTER 2 PROBLEM SOLVING This chapter will cover the following topics: Problem Solving Concepts for the Computer Pre-Programming Phase Programming Or Implementation Phase What Problem Can Be Solved By

More information

OVERVIEW OF COMPUTER SYSTEMS. A.1 Introduction. A.2 What is a Computer?

OVERVIEW OF COMPUTER SYSTEMS. A.1 Introduction. A.2 What is a Computer? 5670appa.qxd_lbI 10/2/03 4:00 PM Page 229 S U P P L E M E N T I A OVERVIEW OF COMPUTER SYSTEMS A.1 Introduction This supplement introduces computer basics. Specifically, it discusses computer hardware

More information

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

ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science ADVANCED SCHOOL OF SYSTEMS AND DATA STUDIES (ASSDAS) PROGRAM: CTech in Computer Science Program Schedule CTech Computer Science Credits CS101 Computer Science I 3 MATH100 Foundations of Mathematics and

More information

Introduction to Computing and Programming

Introduction to Computing and Programming C# Programming: From Problem Analysis to Program Design, 2nd ed. 1-1 Chapter 1 Introduction to Computing and Programming At a Glance Instructor s Manual Table of Contents Chapter Overview Chapter Objectives

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

Course 10550A: Programming in Visual Basic with Microsoft Visual Studio 2010 OVERVIEW

Course 10550A: Programming in Visual Basic with Microsoft Visual Studio 2010 OVERVIEW Course 10550A: Programming in Visual Basic with Microsoft Visual Studio 2010 OVERVIEW About this Course This course teaches you Visual Basic language syntax, program structure, and implementation by using

More information

Introduction to Python

Introduction to Python 1 Daniel Lucio March 2016 Creator of Python https://en.wikipedia.org/wiki/guido_van_rossum 2 Python Timeline Implementation Started v1.0 v1.6 v2.1 v2.3 v2.5 v3.0 v3.1 v3.2 v3.4 1980 1991 1997 2004 2010

More information

Semester Review. CSC 301, Fall 2015

Semester Review. CSC 301, Fall 2015 Semester Review CSC 301, Fall 2015 Programming Language Classes There are many different programming language classes, but four classes or paradigms stand out:! Imperative Languages! assignment and iteration!

More information

A Comparison of Programming Languages for Graphical User Interface Programming

A Comparison of Programming Languages for Graphical User Interface Programming University of Tennessee, Knoxville Trace: Tennessee Research and Creative Exchange University of Tennessee Honors Thesis Projects University of Tennessee Honors Program 4-2002 A Comparison of Programming

More information

1. A(n) structure is a logical design that controls the order in which a set of statements execute. a. function b. control c. sequence d.

1. A(n) structure is a logical design that controls the order in which a set of statements execute. a. function b. control c. sequence d. Chapter Four MULTIPLE CHOICE 1. A(n) structure is a logical design that controls the order in which a set of statements execute. a. function b. control c. sequence d. iteration 2. The decision structure

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

Ch. 10 Software Development. (Computer Programming)

Ch. 10 Software Development. (Computer Programming) Ch. 10 Software Development (Computer Programming) 1 Definitions Software or Program Instructions that tell the computer what to do Programmer Someone who writes computer programs 2 Instruction Set A vocabulary

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

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

Module 1. Introduction to Software Engineering. Version 2 CSE IIT, Kharagpur

Module 1. Introduction to Software Engineering. Version 2 CSE IIT, Kharagpur Module 1 Introduction to Software Engineering Lesson 2 Structured Programming Specific Instructional Objectives At the end of this lesson the student will be able to: Identify the important features of

More information

Aspect-Oriented Programming

Aspect-Oriented Programming Aspect-Oriented Programming An Introduction to Aspect-Oriented Programming and AspectJ Niklas Påhlsson Department of Technology University of Kalmar S 391 82 Kalmar SWEDEN Topic Report for Software Engineering

More information

C Programming Language CIS 218

C Programming Language CIS 218 C Programming Language CIS 218 Description C is a procedural languages designed to provide lowlevel access to computer system resources, provide language constructs that map efficiently to machine instructions,

More information

Chapter 1 Introduction to Computers, the Internet, and the Web. Chapter 1 Introduction to Computers, the Internet, and the Web

Chapter 1 Introduction to Computers, the Internet, and the Web. Chapter 1 Introduction to Computers, the Internet, and the Web Chapter 1 Introduction to Computers, the Internet, and the Web! " # $ % & ' ( ) * +, - - / 0 1 2 3 0 + 2 ' 1 4 5 6 7 8 9 : ; < = 9 > 9? @ A B C D < = > E F G H < B I H J K L M N O P Q R S T U V W P X O

More information

Structure of Presentation. The Role of Programming in Informatics Curricula. Concepts of Informatics 2. Concepts of Informatics 1

Structure of Presentation. The Role of Programming in Informatics Curricula. Concepts of Informatics 2. Concepts of Informatics 1 The Role of Programming in Informatics Curricula A. J. Cowling Department of Computer Science University of Sheffield Structure of Presentation Introduction The problem, and the key concepts. Dimensions

More information

This supplement introduces computer basics. Specifically, it discusses computer hardware components, programming languages, and operating systems.

This supplement introduces computer basics. Specifically, it discusses computer hardware components, programming languages, and operating systems. Computers Basics This supplement introduces computer basics. Specifically, it discusses computer hardware components, programming languages, and operating systems. J.1 What is a computer? A computer is

More information

Programming Languages. National Chiao Tung University Chun-Jen Tsai 05/4/2012

Programming Languages. National Chiao Tung University Chun-Jen Tsai 05/4/2012 Programming Languages National Chiao Tung University Chun-Jen Tsai 05/4/2012 Programming Language Programming Language (PL) is a language that can precisely describe an algorithm to a computer so that

More information

Java CPD (I) Frans Coenen Department of Computer Science

Java CPD (I) Frans Coenen Department of Computer Science Java CPD (I) Frans Coenen Department of Computer Science Content Session 1, 12:45-14:30 (First Java Programme, Inheritance, Arithmetic) Session 2, 14:45-16:45 (Input and Programme Constructs) Materials

More information

Special Topics: Programming Languages

Special Topics: Programming Languages Lecture #2 0 V22.0490.001 Special Topics: Programming Languages B. Mishra New York University. Lecture #2.5 Lecture #2 1 Slide 1 Recapitulation Computers work in machine language, which is difficult for

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

Fundamental Computer Science Concepts Sequence TCSU CSCI SEQ A

Fundamental Computer Science Concepts Sequence TCSU CSCI SEQ A Fundamental Computer Science Concepts Sequence TCSU CSCI SEQ A A. Description Introduction to the discipline of computer science; covers the material traditionally found in courses that introduce problem

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

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

The Java Series. Java Essentials I What is Java? Basic Language Constructs. Java Essentials I. What is Java?. Basic Language Constructs Slide 1

The Java Series. Java Essentials I What is Java? Basic Language Constructs. Java Essentials I. What is Java?. Basic Language Constructs Slide 1 The Java Series Java Essentials I What is Java? Basic Language Constructs Slide 1 What is Java? A general purpose Object Oriented programming language. Created by Sun Microsystems. It s a general purpose

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

User-defined Functions (UDFs)

User-defined Functions (UDFs) User-defined Functions (UDFs) In this lecture I will be introducing the programmation language Visual Basic for Applications (VBA) and explaining one particular use of it: creating UDFs. VBA is a powerful

More information

CSE 130 Programming Language Principles & Paradigms

CSE 130 Programming Language Principles & Paradigms CSE 130 Programming Language Principles & Paradigms Thomas A. Powell tpowell@pint.com Housekeeping Syllabus review Direct class page link http://www.pint.com/classes/cse130 Updated syllabus, notes, homework

More information

CS101 Lecture 28: Programming Languages. John Magee 1 August 2013 Some material copyright Jones and Bartlett. Overview/Questions

CS101 Lecture 28: Programming Languages. John Magee 1 August 2013 Some material copyright Jones and Bartlett. Overview/Questions CS101 Lecture 28: Programming Languages John Magee 1 August 2013 Some material copyright Jones and Bartlett 1 Overview/Questions Programming in machine language code is a lot more fun than wiring up the

More information

CACHÉ: FLEXIBLE, HIGH-PERFORMANCE PERSISTENCE FOR JAVA APPLICATIONS

CACHÉ: FLEXIBLE, HIGH-PERFORMANCE PERSISTENCE FOR JAVA APPLICATIONS CACHÉ: FLEXIBLE, HIGH-PERFORMANCE PERSISTENCE FOR JAVA APPLICATIONS A technical white paper by: InterSystems Corporation Introduction Java is indisputably one of the workhorse technologies for application

More information

1. THE JAVA PROGRAMMING LANGUAGE

1. THE JAVA PROGRAMMING LANGUAGE 1. THE JAVA PROGRAMMING LANGUAGE What is Java? Java programming language is a high-level language that can be characterized by all of the following buzzwords: Compiled and Interpreted Architecture neutral

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

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