Chapter 5: Algorithms
|
|
- Octavia Franklin
- 6 years ago
- Views:
Transcription
1 Chapter 5 Algorithms By: J. Brookshear Modified by: Yacoub Sabatin, BEng, MSc Chapter 5: Algorithms 5.1 The Concept of an Algorithm 5.2 Algorithm Representation 5.3 Algorithm Discovery 5.4 Iterative Structures 5.5 Recursive Structures 5.6 Efficiency and Correctness 2005 Pearson Addison-Wesley. & 2014 Yacoub Sabatin. All rights reserved 2 1
2 Algorithm: definition Before a computer can perform a task, it must be given an algorithm telling it precisely what to do. An algorithm is an ordered set of unambiguous, executable steps that defines a terminating process. Requirements of an algorithm must comply with these definition Pearson Addison-Wesley. & 2014 Yacoub Sabatin. All rights reserved 3 Algorithms: levels of abstraction Problem = motivation for algorithm Algorithm = procedure to solve the problem Often one of many possibilities Representation = description of algorithm sufficient to communicate it to the desired audience Always one of many possibilities (algebraic, oral, flowchart, electronic ckt, comp prog) Distinguish between: Algorithm: abstract, conceptual Its representation 4 2
3 Figure 5.2 Folding a bird from a square piece of paper 5 Figure 5.3 Origami primitives 2005 Pearson Addison-Wesley. & 2014 Yacoub Sabatin. All rights reserved 6 3
4 Pseudocode primitives Assignment name expression Conditional selection if condition then action Repeated execution Procedure while condition do activity procedure name (generic names) 7 Figure 5.4 The procedure Greetings in pseudocode 8 4
5 Figure 5.6 The sequential search algorithm in pseudocode 9 Problem solving steps 1. Understand the problem. 2. Get an idea how an algorithmic procedure might solve the problem. 3. Formulate the algorithm and represent it as a program. 4. Evaluate the program for accuracy and its potential as a tool for solving other problems. 10 5
6 Techniques for getting a foot in the door Work the problem backwards Solve an easier related problem Relax some of the problem constraints Solve pieces of the problem first = bottom up methodology Stepwise refinement = top-down methodology Popular technique because it produces modular programs 11 Sample problem Person A is charged with the task of determining the ages of B s three children. B tells A that the product of the children s ages is 36. A replies that another clue is required. B tells A the sum of the children s ages. A replies that another clue is needed. B tells A that the oldest child plays the piano. A tells B the ages of the three children. How old are the three children? 12 6
7 Figure Figure 5.7 Components of repetitive control 14 7
8 Figure 5.8 The while loop structure 15 Figure 5.9 The repeat loop structure 16 8
9 Figure 5.10 Sorting the list Fred, Alex, Diana, Byron, and Carol alphabetically Insertion Sort: Sort the list within itself. Take a sublist, then sort it alphabetically. Details, textbook, p Figure 5.11 The insertion sort algorithm expressed in pseudocode Insertion Sort: Sort the list within itself. Take a sublist, then sort it alphabetically. Details, textbook, p
10 Figure 5.12 Applying our strategy to search a list for the entry John 19 Figure 5.13 A first draft of the binary search technique 20 10
11 Figure 5.14 The binary search algorithm in pseudocode 21 Figure
12 Figure Figure
13 Software efficiency Measured as number of instructions executed Θ notation for efficiency classes Example: insertion sort is Θ(n 2 ) Best, worst, and average case 25 Figure 5.18 Applying the insertion sort in a worst-case situation 26 13
14 Figure 5.19 Graph of the worst-case analysis of the insertion sort algorithm 27 Figure 5.20 Graph of the worst-case analysis of the binary search algorithm 28 14
15 Software verification Proof of correctness Assertions Testing Preconditions Loop invariants 29 Example problem: Chain separating A traveler has a gold chain of seven links. He must stay at an isolated hotel for seven nights. The rent each night consists of one link from the chain. What is the fewest number of links that must be cut so that the traveler can pay the hotel one link of the chain each morning without paying for lodging in advance? 30 15
16 Figure 5.21 Separating the chain using only three cuts 31 Figure 5.22 Solving the problem with only one cut 32 16
17 Figure 5.23 The assertions associated with a typical while structure 33 Chapter 6 Programming Languages By: J. Brookshear Modified by: Yacoub Sabatin, BEng, MSc 17
18 Chapter 6: Programming Languages 6.1 Historical Perspective 6.2 Traditional Programming Concepts 6.3 Procedural Units 6.4 Language Implementation 6.5 Object Oriented Programming 6.6 Programming Concurrent Activities 6.7 Declarative Programming 35 Figure 6.1 Generations of programming languages 36 18
19 Second-generation: Assembly language A mnemonic system for representing programs Mnemonic names for op-codes Names for all registers Identifiers = descriptive names for memory locations, chosen by the programmer The machine language considered as the firstgeneration, ex. Instruction Set (similar to what s in chapter 2) 37 Assembly language characteristics One-to-one correspondence between machine instructions and assembly instructions Programmer must think like the machine Inherently machine-dependent Converted to machine language by a program called an assembler 38 19
20 Assembly language example Machine language 156C 166D CE C000 Assembly language LD R5, Price LD R6, ShippingCharge ADDI R0, R5 R6 ST R0, TotalCost HLT 39 Third generation language Uses high-level primitives Similar to our pseudo-code in Chapter 5 Machine independent (mostly) Examples: C, Basic, FORTRAN, COBOL Each primitive corresponds to a short sequence of machine language instructions Converted to machine language by a program called a compiler Some languages are interpreted i.e. require Interpreter, ex. Basic
21 Figure 6.2 The evolution of programming paradigms 41 Figure 6.3 A function for checkbook balancing constructed from simpler functions 42 21
22 Figure 6.4 The composition of a typical imperative program or program unit 43 Figure 6.5 Variable declarations in C, C++, C#, and Java 44 22
23 Figure 6.6 A two-dimensional array with two rows and nine columns 45 Figure 6.7 Declaration of heterogeneous array 46 23
24 Figure 6.8 Control structures and their representations in C, C++, C#, and Java 47 Figure 6.9 The for loop structure and its representation in C++, C#, and Java 48 24
25 Figure 6.10 The flow of control involving a procedure 49 Figure 6.11 The procedure ProjectPopulation written in the programming language C 50 25
26 Figure 6.12 Executing the procedure Demo and passing parameters by value 51 Figure 6.13 Executing the procedure Demo and passing parameters by reference 52 26
27 Figure 6.14 The function CylinderVolume written in the programming language C 53 Figure 6.21 The complete program preparation process 54 27
28 Figure 6.15 The translation process Lexical Analysis: The process of recognizing which strings of symbols represent a single entity. Analyzer reads the source symbol by symbol & identify which group of symbols are related. Parser: Views program in terms of lexical units (tokens) rather than individual symbols, to form a statement in the language. Code Generation: Machine-language constructing to implement the statements recognized by the parser. 55 Figure 6.16 A syntax diagram of our if-then-else pseudocode statement 56 28
29 Figure 6.17 Syntax diagrams describing the structure of a simple algebraic expression 57 Figure 6.18 The parse tree for the string x + y x z based on the syntax diagrams in Figure
30 Figure 6.19 Two distinct parse trees for the statement if B1 then if B2 then S1 else S2 59 Figure 6.20 An object-oriented approach to the translation process 60 30
31 Objects and Classes Object = active program unit containing both data and procedures Class = a template for all objects of the same type (blueprint) An Object is often called an instance of the class. 61 Components of an object Instance variable = variable within an object Method = function or procedure within an object Can manipulate the object s instance variables Constructor = special method to initialize a new object instance 62 31
32 Encapsulation Encapsulation = a way of restricting access to the internal components of an object Private Public 63 Additional object-oriented concepts Inheritance: allows new classes to be defined in terms of previously defined classes Polymorphism: allows method calls to be interpreted by the object that receives the call 64 32
33 Figure 6.22 The structure of a class describing a laser weapon in a computer game 65 Figure 6.23 A class with a constructor 66 33
34 Figure 6.24 Our LaserClass definition using encapsulation as it would appear in a Java or C# program 67 Programming concurrent activities Parallel or concurrent processing = simultaneous execution of multiple processes True concurrent processing requires multiple CPUs Can be simulated using time-sharing with a single CPU 68 34
35 Figure 6.25 Spawning processes 69 Interaction between processes Mutual exclusion = a method for ensuring that data can be accessed by only one process at a time Monitor = a data item augmented with the ability to control access to itself 70 35
36 Declarative programming Resolution = combining two or more statements to produce a new, logically equivalent statement Example: (P OR Q) AND (R OR Q) resolves to (P OR R) Resolvent = a new statement deduced by resolution Clause form = statement whose elementary components are connected by the Boolean operation OR Unification = assigning a value to a variable in a statement 71 Figure 6.26 Resolving the statements (P OR Q) and (R OR Q) to produce (P OR R) 72 36
37 Figure 6.27 Resolving the statements (P OR Q), (R OR Q), R, and P 73 Prolog Fact = predicatename(arguments). Example: parent(bill, mary). Rule = conclusion :- premise. :- means if Example: wise(x) :- old(x). Example: faster(x,z) :- faster(x,y), faster(y,z). All statements must be fact or rules
Chapter 6: Programming Languages
Chapter 6: Programming Languages Computer Science: An Overview Tenth Edition by J. Glenn Brookshear Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 6: Programming Languages
More informationSecond-generation: Assembly language. Figure 6.1 Generations of programming languages. Assembly Language Characteristics.
Chapter 6: Programming Languages Computer Science: An Overview Eleventh Edition by J. Glenn Brookshear Chapter 6: Programming Languages 6.1 Historical Perspective 6.2 Traditional Programming Concepts 6.3
More informationChapter 5. Algorithms Pearson Addison-Wesley. All rights reserved
Chapter 5 Algorithms 2007 Pearson Addison-Wesley. All rights reserved Chapter 5: Algorithms 5.1 The Concept of an Algorithm 5.2 Algorithm Representation 5.3 Algorithm Discovery 5.4 Iterative Structures
More information컴퓨터의기초 7 th Lecture 김현철 (2009 년여름학기 ) 컴퓨터공학부서울대학교. Copyrights 2008 Eom, Hyeonsang All Rights Reserved
컴퓨터의기초 7 th Lecture 김현철 (2009 년여름학기 ) 컴퓨터공학부서울대학교 Copyrights 2008 Eom, Hyeonsang All Rights Reserved 순서 Networking and the Internet Algorithms Q&A Networking and the Internet Network Fundamentals The Internet
More informationIntroduction to Computer Science Lecture 6: Programming Languages
Introduction to Computer Science Lecture 6: Programming Languages Tian-Li Yu Taiwan Evolutionary Intelligence Laboratory (TEIL) Department of Electrical Engineering National Taiwan University tianliyu@cc.ee.ntu.edu.tw
More informationIntroduction to Engineering Using Robotics Experiments. Dr. Yinong Chen
Introduction to Engineering Using Robotics Experiments Dr. Yinong Chen Outline Historical Perspective Programming Language Generations Programming Language Paradigms Imperative Programming Paradigm Writing
More informationChapter 3. Describing Syntax and Semantics
Chapter 3 Describing Syntax and Semantics Chapter 3 Topics Introduction The General Problem of Describing Syntax Formal Methods of Describing Syntax Attribute Grammars Describing the Meanings of Programs:
More informationAlgorithms 1 / 24. Algorithms Sequential Search
Algorithm: a well-ordered collection of unambiguous and effectively computable operations, that, when executed, produces a result in a finite amount of time. 1 / 24 Algorithm: a well-ordered collection
More informationOHIO ASSESSMENTS FOR EDUCATORS (OAE) FIELD 010: COMPUTER INFORMATION SCIENCE
OHIO ASSESSMENTS FOR EDUCATORS (OAE) FIELD 010: COMPUTER INFORMATION SCIENCE June 2013 Content Domain Range of Competencies Approximate Percentage of Assessment Score I. Computer Use in Educational Environments
More informationCIS 1.5 Course Objectives. a. Understand the concept of a program (i.e., a computer following a series of instructions)
By the end of this course, students should CIS 1.5 Course Objectives a. Understand the concept of a program (i.e., a computer following a series of instructions) b. Understand the concept of a variable
More informationMulti-Paradigm Approach for Teaching Programming
Multi-Paradigm Approach for Teaching Laxmi P Gewali* and John T Minor School of Computer Science University of Nevada, Las Vegas 4505 Maryland Parkway, Las Vegas Nevada 89154 Abstract: Selecting an appropriate
More informationChapter 3. Describing Syntax and Semantics
Chapter 3 Describing Syntax and Semantics Chapter 3 Topics Introduction The General Problem of Describing Syntax Formal Methods of Describing Syntax Attribute Grammars Describing the Meanings of Programs:
More informationChapter 3. Describing Syntax and Semantics ISBN
Chapter 3 Describing Syntax and Semantics ISBN 0-321-49362-1 Chapter 3 Topics Introduction The General Problem of Describing Syntax Formal Methods of Describing Syntax Attribute Grammars Describing the
More informationARIZONA CTE CAREER PREPARATION STANDARDS & MEASUREMENT CRITERIA SOFTWARE DEVELOPMENT,
SOFTWARE DEVELOPMENT, 15.1200.4 STANDARD 1.0 APPLY PROBLEM-SOLVING AND CRITICAL THINKING SKILLS TO INFORMATION 1.1 Describe methods of establishing priorities 1.2 Prepare a plan of work and schedule information
More informationChapter 3. Syntax - the form or structure of the expressions, statements, and program units
Syntax - the form or structure of the expressions, statements, and program units Semantics - the meaning of the expressions, statements, and program units Who must use language definitions? 1. Other language
More informationPart (04) Introduction to Programming
Part (04) Introduction to Programming Dr. Ahmed M. ElShafee 1 Dr. Ahmed ElShafee, ACU : Summer 2014, Introduction to CS 1 EVOLUTION To write a program for a computer, we must use a computer language. A
More informationA Small Interpreted Language
A Small Interpreted Language What would you need to build a small computing language based on mathematical principles? The language should be simple, Turing equivalent (i.e.: it can compute anything that
More informationChapter Twelve. Systems Design and Development
Chapter Twelve Systems Design and Development After reading this chapter, you should be able to: Describe the process of designing, programming, and debugging a computer program Explain why there are many
More informationBoca Raton Community High School AP Computer Science A - Syllabus 2009/10
Boca Raton Community High School AP Computer Science A - Syllabus 2009/10 Instructor: Ronald C. Persin Course Resources Java Software Solutions for AP Computer Science, A. J. Lewis, W. Loftus, and C. Cocking,
More informationConcepts of Programming Languages
Concepts of Programming Languages Lecture 1 - Introduction Patrick Donnelly Montana State University Spring 2014 Patrick Donnelly (Montana State University) Concepts of Programming Languages Spring 2014
More information1. true / false By a compiler we mean a program that translates to code that will run natively on some machine.
1. true / false By a compiler we mean a program that translates to code that will run natively on some machine. 2. true / false ML can be compiled. 3. true / false FORTRAN can reasonably be considered
More informationCompuScholar, Inc. Alignment to Nevada "Computer Science" Course Standards
CompuScholar, Inc. Alignment to Nevada "Computer Science" Course Standards Nevada Course Details: Course Name: Computer Science Primary Cluster: Information and Media Technologies Standards Course Code(s):
More informationChapter 1. Preliminaries
Chapter 1 Preliminaries Chapter 1 Topics Reasons for Studying Concepts of Programming Languages Programming Domains Language Evaluation Criteria Influences on Language Design Language Categories Language
More informationChapter 8: Data Abstractions
Chapter 8: Data Abstractions Computer Science: An Overview Tenth Edition by J. Glenn Brookshear Presentation files modified by Farn Wang Copyright 28 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
More informationChapter 1. Preliminaries
Chapter 1 Preliminaries Chapter 1 Topics Reasons for Studying Concepts of Programming Languages Programming Domains Language Evaluation Criteria Influences on Language Design Language Categories Language
More informationPROBLEM SOLVING AND PYTHON PROGRAMMING
ALGORITHM UNIT-1 It is defined as a sequence of instructions that describe a method for solving a problem. In other words it is a step by step procedure for solving a problem. Properties of Algorithms
More informationDefining Program Syntax. Chapter Two Modern Programming Languages, 2nd ed. 1
Defining Program Syntax Chapter Two Modern Programming Languages, 2nd ed. 1 Syntax And Semantics Programming language syntax: how programs look, their form and structure Syntax is defined using a kind
More informationChapter. Focus of the Course. Object-Oriented Software Development. program design, implementation, and testing
Introduction 1 Chapter 5 TH EDITION Lewis & Loftus java Software Solutions Foundations of Program Design 2007 Pearson Addison-Wesley. All rights reserved Focus of the Course Object-Oriented Software Development
More informationPrinciples of Programming Languages. Lecture Outline
Principles of Programming Languages CS 492 Lecture 1 Based on Notes by William Albritton 1 Lecture Outline Reasons for studying concepts of programming languages Programming domains Language evaluation
More informationProgramming Languages and Program Development
Programming Languages and Program Development 1 Programming Languages and How They Work Programming o Process used to create software programs Programmers o People who use programming languages to create
More informationCHOICE BASED CREDIT SYSTEM (With effect from )
B.Sc. Computer Science Syllabus Under the CHOICE BASED CREDIT SYSTEM (With effect from 2017-18) DEPARTMENT OF COMPUTER SCIENCE University College,TU,Nizamabad-503322 Syllabus for Computer Science (With
More informationCONTENTS. PART 1 Structured Programming 1. 1 Getting started 3. 2 Basic programming elements 17
List of Programs xxv List of Figures xxix List of Tables xxxiii Preface to second version xxxv PART 1 Structured Programming 1 1 Getting started 3 1.1 Programming 3 1.2 Editing source code 5 Source code
More informationObject-oriented Compiler Construction
1 Object-oriented Compiler Construction Extended Abstract Axel-Tobias Schreiner, Bernd Kühl University of Osnabrück, Germany {axel,bekuehl}@uos.de, http://www.inf.uos.de/talks/hc2 A compiler takes a program
More informationChapter 8: Data Abstractions
Chapter 8: Data Abstractions Computer Science: An Overview Eleventh Edition by J. Glenn Brookshear Copyright 2012 Pearson Education, Inc. Chapter 8: Data Abstractions 8.1 Data Structure Fundamentals 8.2
More informationChapter 3 (part 3) Describing Syntax and Semantics
Chapter 3 (part 3) Describing Syntax and Semantics Chapter 3 Topics Introduction The General Problem of Describing Syntax Formal Methods of Describing Syntax Attribute Grammars Describing the Meanings
More informationCOMPILER DESIGN LEXICAL ANALYSIS, PARSING
COMPILER DESIGN LEXICAL ANALYSIS, PARSING 1. Which of the following system program forgoes the production of object code to generate absolute machine code and load it into the Physical main storage location
More informationhttps://asd-pa.perfplusk12.com/admin/admin_curric_maps_display.aspx?m=5507&c=618&mo=18917&t=191&sy=2012&bl...
Page 1 of 13 Units: - All - Teacher: ProgIIIJavaI, CORE Course: ProgIIIJavaI Year: 2012-13 Intro to Java How is data stored by a computer system? What does a compiler do? What are the advantages of using
More information12/30/2013 S. NALINI,AP/CSE
12/30/2013 S. NALINI,AP/CSE 1 UNIT I ITERATIVE AND RECURSIVE ALGORITHMS Iterative Algorithms: Measures of Progress and Loop Invariants-Paradigm Shift: Sequence of Actions versus Sequence of Assertions-
More information1 Epic Test Review 2 Epic Test Review 3 Epic Test Review 4. Epic Test Review 5 Epic Test Review 6 Epic Test Review 7 Epic Test Review 8
Epic Test Review 1 Epic Test Review 2 Epic Test Review 3 Epic Test Review 4 Write a line of code that outputs the phase Hello World to the console without creating a new line character. System.out.print(
More informationIntroduction to Computers and Programming Languages. CS 180 Sunil Prabhakar Department of Computer Science Purdue University
Introduction to Computers and Programming Languages CS 180 Sunil Prabhakar Department of Computer Science Purdue University 1 Objectives This week we will study: The notion of hardware and software Programming
More informationProgramming Languages Third Edition
Programming Languages Third Edition Chapter 12 Formal Semantics Objectives Become familiar with a sample small language for the purpose of semantic specification Understand operational semantics Understand
More informationLOGIC AND DISCRETE MATHEMATICS
LOGIC AND DISCRETE MATHEMATICS A Computer Science Perspective WINFRIED KARL GRASSMANN Department of Computer Science University of Saskatchewan JEAN-PAUL TREMBLAY Department of Computer Science University
More information6.001 Notes: Section 8.1
6.001 Notes: Section 8.1 Slide 8.1.1 In this lecture we are going to introduce a new data type, specifically to deal with symbols. This may sound a bit odd, but if you step back, you may realize that everything
More informationUNIT 3
UNIT 3 Presentation Outline Sequence control with expressions Conditional Statements, Loops Exception Handling Subprogram definition and activation Simple and Recursive Subprogram Subprogram Environment
More informationPROGRAMMING LANGUAGE PARADIGMS & THE MAIN PRINCIPLES OF OBJECT-ORIENTED PROGRAMMING
10.2478/cris-2013-0011 PROGRAMMING LANGUAGE PARADIGMS & THE MAIN PRINCIPLES OF OBJECT-ORIENTED PROGRAMMING NIKOLETTA MINAROVA 77 INTRODUCTION Since the first design concept of computers came into the world,
More informationEXPERIMENTS IN COMPUTER SCIENCE
EXPERIMENTS IN COMPUTER SCIENCE A Java Laboratory Manual to Accompany Computer Science: An Overview, Eighth Edition Marian Manyo Marquette University ii Preface This manual consists of a series of laboratory
More informationProgramming Languages 2nd edition Tucker and Noonan"
Programming Languages 2nd edition Tucker and Noonan" " Chapter 1" Overview" " A good programming language is a conceptual universe for thinking about programming. " " " " " " " " " " " " "A. Perlis" "
More informationProblem Solving and Algorithms
Problem Solving and Algorithms Problem Solving We do it all the time Approaches: Less successful Grope blindly toward a solution Fail to complete a chain or reasoning Successful Begin with what is understood
More informationData Structures and Abstractions with Java
Global edition Data Structures and Abstractions with Java Fourth edition Frank M. Carrano Timothy M. Henry Data Structures and Abstractions with Java TM Fourth Edition Global Edition Frank M. Carrano University
More informationA language is a subset of the set of all strings over some alphabet. string: a sequence of symbols alphabet: a set of symbols
The current topic:! Introduction! Object-oriented programming: Python! Functional programming: Scheme! Python GUI programming (Tkinter)! Types and values! Logic programming: Prolog! Introduction! Rules,
More informationOrganization of Programming Languages (CSE452) Why are there so many programming languages? What makes a language successful?
Organization of Programming Languages (CSE452) Instructor: Dr. B. Cheng Fall 2004 1 Why are there so many programming languages? Evolution -- we've learned better ways of doing things over time Socio-economic
More informationSt. MARTIN S ENGINEERING COLLEGE Dhulapally, Secunderabad
St. MARTIN S ENGINEERING COLLEGE Dhulapally, Secunderabad-00 014 Subject: PPL Class : CSE III 1 P a g e DEPARTMENT COMPUTER SCIENCE AND ENGINEERING S No QUESTION Blooms Course taxonomy level Outcomes UNIT-I
More informationAP Computer Science AB
AP Computer Science AB Dr. Tyler Krebs Voice Mail: 431-8938 Classroom: B128 Office: TV Studio Characteristics We Value in This Classroom: 1. Respect. (Show respect for everyone and everything.) 2. Integrity.
More informationCSE 12 Abstract Syntax Trees
CSE 12 Abstract Syntax Trees Compilers and Interpreters Parse Trees and Abstract Syntax Trees (AST's) Creating and Evaluating AST's The Table ADT and Symbol Tables 16 Using Algorithms and Data Structures
More informationSemantics. There is no single widely acceptable notation or formalism for describing semantics Operational Semantics
There is no single widely acceptable notation or formalism for describing semantics Operational Describe the meaning of a program by executing its statements on a machine, either simulated or actual. The
More informationCS101 Introduction to Programming Languages and Compilers
CS101 Introduction to Programming Languages and Compilers In this handout we ll examine different types of programming languages and take a brief look at compilers. We ll only hit the major highlights
More informationJava 2. Course Outcome Summary. Western Technical College. Course Information. Course History. Course Competencies
Western Technical College 10152155 Java 2 Course Outcome Summary Course Information Description Career Cluster Instructional Level Total Credits 4.00 Total Hours 90.00 The goal as programmers, is to create
More informationADMINISTRATIVE MANAGEMENT COLLEGE
First Semester ADMINISTRATIVE MANAGEMENT COLLEGE BACHELOR OF COMPUTER APPLICATION COURSE OUTCOME (CO) Problem solving techniques Using C CO 1: Understand the basic concepts of programming, software and
More informationAppendix A: Objectives and Courseware Locations
Appendix A A-1 Appendix A: Objectives and Courseware Locations The course and this appendix are designed to help students prepare for the digital certificate exam. Students can use this appendix as a study
More informationTopics in Object-Oriented Design Patterns
Software design Topics in Object-Oriented Design Patterns Material mainly from the book Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides; slides originally by Spiros Mancoridis;
More informationAbsolute C++ Walter Savitch
Absolute C++ sixth edition Walter Savitch Global edition This page intentionally left blank Absolute C++, Global Edition Cover Title Page Copyright Page Preface Acknowledgments Brief Contents Contents
More information8/27/17. CS-3304 Introduction. What will you learn? Semester Outline. Websites INTRODUCTION TO PROGRAMMING LANGUAGES
CS-3304 Introduction In Text: Chapter 1 & 2 COURSE DESCRIPTION 2 What will you learn? Survey of programming paradigms, including representative languages Language definition and description methods Overview
More informationChapter 3: CONTEXT-FREE GRAMMARS AND PARSING Part 1
Chapter 3: CONTEXT-FREE GRAMMARS AND PARSING Part 1 1. Introduction Parsing is the task of Syntax Analysis Determining the syntax, or structure, of a program. The syntax is defined by the grammar rules
More informationWhy are there so many programming languages? Why do we have programming languages? What is a language for? What makes a language successful?
Chapter 1 :: Introduction Introduction Programming Language Pragmatics Michael L. Scott Why are there so many programming languages? evolution -- we've learned better ways of doing things over time socio-economic
More informationWeek 1 Introduction to Programming
CME111 Programming Languages I Week 1 Introduction to Programming Assist. Prof. Dr. Caner ÖZCAN Introduction Course Web Site: www.canerozcan.net Office Hours: Tuesday 13:00-15:00 Wednesday 15:30-17:00
More informationProgram Abstractions, Language Paradigms. CS152. Chris Pollett. Aug. 27, 2008.
Program Abstractions, Language Paradigms. CS152. Chris Pollett. Aug. 27, 2008. Outline. Abstractions for telling a computer how to do things. Computational Paradigms. Language Definition, Translation.
More informationCGS 2405 Advanced Programming with C++ Course Justification
Course Justification This course is the second C++ computer programming course in the Computer Science Associate in Arts degree program. This course is required for an Associate in Arts Computer Science
More informationCSCC24 Functional Programming Scheme Part 2
CSCC24 Functional Programming Scheme Part 2 Carolyn MacLeod 1 winter 2012 1 Based on slides from Anya Tafliovich, and with many thanks to Gerald Penn and Prabhakar Ragde. 1 The Spirit of Lisp-like Languages
More information2.2 Syntax Definition
42 CHAPTER 2. A SIMPLE SYNTAX-DIRECTED TRANSLATOR sequence of "three-address" instructions; a more complete example appears in Fig. 2.2. This form of intermediate code takes its name from instructions
More informationChapter 3: Syntax and Semantics. Syntax and Semantics. Syntax Definitions. Matt Evett Dept. Computer Science Eastern Michigan University 1999
Chapter 3: Syntax and Semantics Matt Evett Dept. Computer Science Eastern Michigan University 1999 Syntax and Semantics Syntax - the form or structure of the expressions, statements, and program units
More informationIntroduction to Programming Using Java (98-388)
Introduction to Programming Using Java (98-388) Understand Java fundamentals Describe the use of main in a Java application Signature of main, why it is static; how to consume an instance of your own class;
More informationJOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2002 Vol. 1, No. 2, July-August 2002 The Theory of Classification Part 2: The Scratch-Built
More informationProgramming. In Ada JOHN BARNES TT ADDISON-WESLEY
Programming In Ada 2005 JOHN BARNES... TT ADDISON-WESLEY An imprint of Pearson Education Harlow, England London New York Boston San Francisco Toronto Sydney Tokyo Singapore Hong Kong Seoul Taipei New Delhi
More informationWeiss Chapter 1 terminology (parenthesized numbers are page numbers)
Weiss Chapter 1 terminology (parenthesized numbers are page numbers) assignment operators In Java, used to alter the value of a variable. These operators include =, +=, -=, *=, and /=. (9) autoincrement
More informationChapter 1 Preliminaries
Chapter 1 Preliminaries Chapter 1 Topics Reasons for Studying Concepts of Programming Languages Programming Domains Language Evaluation Criteria Influences on Language Design Language Categories Language
More information«Computer Science» Requirements for applicants by Innopolis University
«Computer Science» Requirements for applicants by Innopolis University Contents Architecture and Organization... 2 Digital Logic and Digital Systems... 2 Machine Level Representation of Data... 2 Assembly
More informationJAVA CONCEPTS Early Objects
INTERNATIONAL STUDENT VERSION JAVA CONCEPTS Early Objects Seventh Edition CAY HORSTMANN San Jose State University Wiley CONTENTS PREFACE v chapter i INTRODUCTION 1 1.1 Computer Programs 2 1.2 The Anatomy
More informationChapter 3. Describing Syntax and Semantics ISBN
Chapter 3 Describing Syntax and Semantics ISBN 0-321-49362-1 Chapter 3 Topics Describing the Meanings of Programs: Dynamic Semantics Copyright 2015 Pearson. All rights reserved. 2 Semantics There is no
More informationDepartment Curriculum and Assessment Outline
Department: Computing Year Group: 7 Teaching, learning and assessment during the course: (Weeks, half terms) Think like a computer scientist Shapes, patterns, algorithms and animation Understand the web.
More informationINFS 214: Introduction to Computing
INFS 214: Introduction to Computing Session 11 Principles of Programming Lecturer: Dr. Ebenezer Ankrah, Dept. of Information Studies Contact Information: eankrah@ug.edu.gh College of Education School of
More informationCom S 541. Programming Languages I
Programming Languages I Lecturer: TA: Markus Lumpe Department of Computer Science 113 Atanasoff Hall http://www.cs.iastate.edu/~lumpe/coms541.html TR 12:40-2, W 5 Pramod Bhanu Rama Rao Office hours: TR
More informationClass Structure. Prerequisites
Class Structure Procedural abstraction and recursion 6.037 - Structure and Interpretation of Computer Programs Mike Phillips, Benjamin Barenblat, Leon Shen, Ben Vandiver, Alex Vandiver, Arthur Migdal Massachusetts
More informationIntroduction to Computers and C++ Programming p. 1 Computer Systems p. 2 Hardware p. 2 Software p. 7 High-Level Languages p. 8 Compilers p.
Introduction to Computers and C++ Programming p. 1 Computer Systems p. 2 Hardware p. 2 Software p. 7 High-Level Languages p. 8 Compilers p. 9 Self-Test Exercises p. 11 History Note p. 12 Programming and
More informationCIS 120. Introduction to Programming
CIS 120 Introduction to Programming Approved: May 6, 2011 EFFECTIVE DATE: Fall 2011 COURSE PACKAGE FORM Contact Person (s) Matt Butcher, Andra Goldberg, Dave White, Steve Sorden Date of proposal to Curriculum
More informationJava SE 8 Programming
Oracle University Contact Us: Local: 1800 103 4775 Intl: +91 80 67863102 Java SE 8 Programming Duration: 5 Days What you will learn This Java SE 8 Programming training covers the core language features
More informationAP Computer Science A Syllabus
AP Computer Science A Syllabus Course Overview The focus of this class is structured logic with an emphasis on developing simple, elegant algorithms and thinking in an object-oriented manner. The Java
More informationWhat are the characteristics of Object Oriented programming language?
What are the various elements of OOP? Following are the various elements of OOP:- Class:- A class is a collection of data and the various operations that can be performed on that data. Object- This is
More informationComputer Fundamentals: Pradeep K. Sinha & Priti Sinha
Computer Fundamentals Pradeep K. Sinha Priti Sinha Chapter 12 Computer Languages Slide 1/64 Learning Objectives In this chapter you will learn about: Computer languages or programming languages Three broad
More informationBuilding Java Programs
Building Java Programs A Back to Basics Approach Stuart Reges I Marty Stepp University ofwashington Preface 3 Chapter 1 Introduction to Java Programming 25 1.1 Basic Computing Concepts 26 Why Programming?
More informationLecture 6 Introduction to Objects and Classes
Lecture 6 Introduction to Objects and Classes Outline Basic concepts Recap Computer programs Programming languages Programming paradigms Object oriented paradigm-objects and classes in Java Constructors
More informationENGINEERING PROBLEM SOLVING WITH C++
ENGINEERING PROBLEM SOLVING WITH C++ Second Edition Delores M. Etter Electrical Engineering Department United States Naval Academy Jeanine A. Ingber Training Consultant Sandia National Laboratories Upper
More informationVariable A variable is a value that can change during the execution of a program.
Declare and use variables and constants Variable A variable is a value that can change during the execution of a program. Constant A constant is a value that is set when the program initializes and does
More informationProgrammiersprachen (Programming Languages)
2016-05-13 Preface Programmiersprachen (Programming Languages) coordinates: lecturer: web: usable for: requirements: No. 185.208, VU, 3 ECTS Franz Puntigam http://www.complang.tuwien.ac.at/franz/ps.html
More informationJava SE 8 Programming
Oracle University Contact Us: +52 1 55 8525 3225 Java SE 8 Programming Duration: 5 Days What you will learn This Java SE 8 Programming training covers the core language features and Application Programming
More informationAP Computer Science A Course Syllabus
AP Computer Science A Course Syllabus Textbook: Litvin, Maria and Litvin, Gary. Java Methods: Object-Oriented Programming and Data Structures. Skylight Publishing, 2011 http://www.skylit.com Course Description:
More informationObjectives. Problem Solving. Introduction. An overview of object-oriented concepts. Programming and programming languages An introduction to Java
Introduction Objectives An overview of object-oriented concepts. Programming and programming languages An introduction to Java 1-2 Problem Solving The purpose of writing a program is to solve a problem
More informationF1 A Java program. Ch 1 in PPIJ. Introduction to the course. The computer and its workings The algorithm concept
F1 A Java program Ch 1 in PPIJ Introduction to the course The computer and its workings The algorithm concept The structure of a Java program Classes and methods Variables Program statements Comments Naming
More informationWhat is a compiler? var a var b mov 3 a mov 4 r1 cmpi a r1 jge l_e mov 2 b jmp l_d l_e: mov 3 b l_d: ;done
What is a compiler? What is a compiler? Traditionally: Program that analyzes and translates from a high level language (e.g., C++) to low-level assembly language that can be executed by hardware int a,
More informationThe Object Oriented Paradigm
The Object Oriented Paradigm Joseph Spring 7COM1023 Programming Paradigms 1 Discussion The OO Paradigm Procedural Abstraction Abstract Data Types Constructors, Methods, Accessors and Mutators Coupling
More informationComputer Programming II C++ (830)
DESCRIPTION This is an advanced course in computer programming/software engineering and applications. It reviews and builds on the concepts introduced in CP I. It introduces students to dynamic data structures,
More information