Charles Dierbach. Wiley

Size: px
Start display at page:

Download "Charles Dierbach. Wiley"

Transcription

1 Charles Dierbach Wiley

2 Contents Preface Acknowledgments About the Author XXI xxv xxvii Introduction 1 MOTIVATION 2 FUNDAMENTALS What Is Computer Science? The Essence of Computational Problem Solving Limits of Computational Problem Solving 5 Self-Test Questions Computer Algorithms What, Is an Algorithm? Algorithms and Computers: Self-Test Questions Computer Hardware 9 A Perfect Match Digital Computing: It's All about Switches The Binary Number System Fundamental Hardware Components Operating Systems Bridging Software and Hardware Limits of Integrated Circuits Technology: Moore's Law 12 Self-Test Questions Computer Software What Is Computer Software? Syntax, Semantics, and Program Translation Procedural vs. Object-Oriented Programming 17 Self-Test Questions 17 COMPUTATIONAL PROBLEM SOLVING The Process of Computational Problem Solving Problem Analysis Program Design Program Implementation Program Testing 21

3 x Contents 1.6 The Python Programming Language About Python The IDLE Python Development Environment The Python Standard Library A Bit of Python Learning How to Use IDLE A First Program Calculating the Drake Equation The Problem Problem Analysis Program Design Program Implementation Program Testing 32 Chapter Summary 33 Chapter Exercises 34 Python Programming Exercises 36 Program Modification Problems 37 Program Development Problems 37 Data and Expressions 38 MOTIVATION 39 FUNDAMENTAL CONCEPTS Literals What Is a Literal? Numeric Literals String Literals Control Characters String Formatting Implicit and Explicit Line Joining Let's Apply It "Hello World Unicode Encoding" 48 Self-Test Questions Variables and Identifiers What Is a Variable? Variable Assignment and Keyboard Input What Is an Identifier? Keywords and Other Predefined Identifiers in Python Let's Apply It "Restaurant Tab Calculation" 55 Self-Test Questions Operators What Is an Operator? Arithmetic Operators Let's Apply It "Your Place in the Universe" 59 Self-Test Questions Expressions and Data Types What Is an Expression? Operator Precedence Operator Associativity 63

4 Contents xi What Is a Data Type? Mixed-Type Expressions Let's Apply It "Temperature Conversion Program" 65 Self-Test Questions 66 COMPUTATIONAL PROBLEM SOLVING Age in Seconds Program The Problem Problem Analysis Program Design Program Implementation and Testing 69 Chapter Summary 74 Chapter Exercises 74 Python Programming Exercises 76 Program Modification Problems 76 Program Development Problems 77 Control Structures 79 MOTIVATION 80 FUNDAMENTAL CONCEPTS What Is a Control Structure? Boolean Expressions (Conditions) Relational Operators Membership Operators Boolean Operators Operator Precedence and Boolean Expressions Short-Circuit (Lazy) Evaluation Logically Equivalent Boolean Expressions 87 Self-Test Questions Selection Control If Statement Indentation in Python Multi-Way Selection Let's Apply It Number of Days in Month Program 94 Self-Test Questions Iterative Control While Statement Input Error Checking Infinite loops Definite vs. Indefinite Loops Boolean Flags and Indefinite Loops Let's Apply It Coin Change Exercise Program 101 Self-Test Questions 104 COMPUTATIONAL PROBLEM SOLVING Calendar Month Program The Problem 104

5 3.5.2 Problem Analysis Program Design Program Implementation and Testing 107 Chapter Summary 117 Chapter Exercises 118 Python Programming Exercises 120 Program Modification Problems 121 Program Development Problems 123 Lists 125 MOTIVATION 126 FUNDAMENTAL CONCEPTS List Structures What Is a List? Common List Operations List Traversal 128 Self-Test Questions Lists (Sequences) in Python Python List Type Tuples Sequences Nested Lists Let's Apply It A Chinese Zodiac Program 135 Self-Test Questions Iterating Over Lists (Sequences) in Python For Loops The Built-in range Function Iterating Over List Elements vs. List Index Values While Loops and Lists (Sequences) Let's Apply It Password Encryption/Decryption Program 141 Self-Test Questions More on Python Lists Assigning and Copying Lists List Comprehensions 146 COMPUTATIONAL PROBLEM SOLVING Calendar Year Program The Problem Problem Analysis Program Design Program Implementation and Testing 149 Chapter Summary 161 Chapter Exercises 162 Python Programming Exercises 164 Program Modification Problems 164 Program Development Problems 165

6 Contents xiii Functions 168 MOTIVATION 169 FUNDAMENTAL CONCEPTS Program Routines What Is a Function Routine? Defining Functions Let's Apply It Temperature Conversion Program (Function Version) 173 Self-Test Questions More on Functions Calling Value-Returning Functions Calling Non-Value-Returning Functions Parameter Passing Keyword Arguments in Python Default Arguments in Python Variable Scope Let's Apply It GPA Calculation Program 186 Self-Test Questions 189 COMPUTATIONAL PROBLEM SOLVING Credit Card Calculation Program The Problem Problem Analysis Program Design Program Implementation and Testing 191 Chapter Summary 202 Chapter Exercises 202 Python Programming Exercises 203 Program Modification Problems 204 Program Development Problems 204 Objects and Their Use 206 MOTIVATION 207 FUNDAMENTAL CONCEPTS Software Objects What Is an Object? Object References 209 Self-Test Questions Turtle Graphics Creating a Turtle Graphics The "Default" Turtle 218 Window Fundamental Turtle Attributes and Behavior Additional Turtle Attributes Creating Multiple Turtles 225

7 xiv Contents Let's Apply It Bouncing Balls Program 226 Self-Test Questions 229 COMPUTATIONAL PROBLEM SOLVING Horse Race Simulation Program The Problem Problem Analysis Program Design Program Implementation and Testing 231 Chapter Summary 243 Chapter Exercises 243 Python Programming Exercises 244 Program Modification Problems 245 Program Development Problems 246 j^j Modular Design 247 MOTIVATION 248 FUNDAMENTAL CONCEPTS Modules What Is a Module? Module Specification 249 Self-Test Questions Top-Down Design Developing a Modular Design of the Calendar Year Program Specification of the Calendar Year Program Self-Test Questions 255 Modules Python Modules What Is a Python Module? Modules and Namespaces Importing Modules Module Loading and Execution Local, Global, and Built-in Namespaces in Python A Programmer-Defined Stack Module Let's Apply It A Palindrome Checker Program 267 Self-Test Questions 268 COMPUTATIONAL PROBLEM SOLVING Calendar Year Program (function version) The Problem Problem Analysis Program Design Program Implementation and Testing 269 Chapter Summary 284 Chapter Exercises 284 Python Programming Exercises 286 Program Modification Problems 287 Program Development Problems 287

8 Text Files 289 MOTIVATION 290 FUNDAMENTAL CONCEPTS What Is a Text File? Using Text Files Opening Text Files Reading Text Files Writing Text Files 294 Self-Test Questions String Processing String Traversal String-Applicable Sequence Operations String Methods Let's Apply It Sparse Text Program 300 Self-Test Questions Exception Handling What Is an Exception? The Propagation of Raised Exceptions Catching and Handling Exceptions Exception Handling and User Input Exception Handling and File Processing Let's Apply It Word Frequency Count Program 310 Self-Test Questions 314 COMPUTATIONAL PROBLEM SOLVING Cigarette Use/Lung Cancer Correlation Program The Problem Problem Analysis Program Design Program Implementation and Testing Determining the Correlation Between Smoking and Lung Cancer 331 Chapter Summary 331 Chapter Exercises 332 Python Programming Exercises 333 Program Modification Problems 333 Program Development Problems 334 Dictionaries and Sets 337 MOTIVATION 338 FUNDAMENTAL CONCEPTS Dictionary Type in Python What Is a Dictionary? Let's Apply It Phone Number Spelling Program 342 Self-Test Questions 346

9 xvi Contents 9.2 Set Data Type The Set Data Type in Python Let's Apply It Kitchen Tile Visualization Program 348 Self-Test Questions 356 COMPUTATIONAL PROBLEM SOLVING A Food Co-op's Worker Scheduling The Problem Problem Analysis Program Design 358 Simulation Program Implementation and Testing Analyzing a Scheduled vs. Unscheduled Co-op Worker Approach 375 Chapter Summary 379 Chapter Exercises 379 Python Programming Exercises 380 Program Modification Problems 380 Program Development Problems 381 Object-Oriented Programming 383 MOTIVATION 384 FUNDAMENTAL CONCEPTS What Is Object-Oriented Programming? What Is a Class? Three Fundamental Features of Object-Oriented Programming Encapsulation What Is Encapsulation? Defining Classes in Python Let's Apply It A Recipe Conversion Program 394 Self-Test Questions Inheritance What Is Inheritance? Subtypes Defining Subclasses in Python Let's Apply It A Mixed Fraction Class 407 Self-Test Questions Polymorphism What Is Polymorphism? The Use of Polymorphism 414 Self-Test Questions Object-Oriented Design Using UML What Is UML? UML Class Diagrams 418 Self-Test Questions 422 COMPUTATIONAL PROBLEM SOLVING Vehicle Rental Agency Program The Problem 423

10 Contents xvii Problem Analysis Program Design Program Implementation and Testing 429 Chapter Summary 453 Chapter Exercises 454 Python Programming Exercises 455 Program Modification Problems 456 Program Development Problems 457 Recursion 460 MOTIVATION 461 FUNDAMENTAL CONCEPTS Recursive Functions What Is a Recursive Function? The Factorial Function Let's Apply It Fractals (Sierpinski Triangle) 467 Self-Test Questions Recursive Problem Solving Thinking Recursively MergeSort Recursive Algorithm Let's Apply It MergeSort Implementation 474 Self-Test Questions Iteration vs. Recursion 476 COMPUTATIONAL PROBLEM SOLVING Towers of Hanoi The Problem Problem Analysis Program Design and Implementation 481 Chapter Summary 487 Chapter Exercises 487 Python Programming Exercises 488 Program Modification Problems 489 Program Development Problems 490 Computing and Its Developments 491 CONTRIBUTIONS TO THE MODERN COMPUTER The Concept of a Programmable Computer "Father of the Modern Computer" Charles Babbage (1800s) "The First Computer Programmer" Ada Lovelace (1800s) Developments Leading to Electronic Computing The Development of Boolean Algebra (mid-1800s) The Development of the Vacuum Tube (1883) The Development of Digital Electronic Logic Gates (1903) 494

11 xviii Contents The Development of Memory Electronic Circuits (1919) The Development of Electronic Digital Logic Circuits (1937) "The Father of Information Theory" Claude Shannon (1948) 496 FIRST-GENERATION COMPUTERS (1940s-mid- 1950s) The Early Groundbreakers The Z3 The First Programmable Computer (1941) The Mark I First Computer Project in the United States ( ) The ABC The First Fully Electronic Computing Device (1942) Colossus A Special-Purpose Electronic Computer (1943) ENIAC The First Fully Electronic Programmable Computer EDVAC/ACE The First Stored Program Computers (1950) Whirlwind The First Real-Time Computer (1951) The First Commercially Available Computers The Struggles of the Eckert-Mauchly Computer Corporation (1950) The LEO Computer of the J. Lyons and Company (1951) 504 SECOND-GENERATION COMPUTERS (mid-1950s to mid-1960s) Transistorized Computers The Development of the Transistor (1947) The First Transistor Computer (1953) The Development of High-Level Programming Languages The Development of Assembly Language (early 1950s) The First High-Level Programming Languages (mid-1950s) The First "Program Bug" (1947) 508 THIRD-GENERATION COMPUTERS (mid-1960s to early 1970s) The Development of the Integrated Circuit (1958) The Catalyst for Integrated Circuit Advancements (1960s) The Development of the Microprocessor (1971) Mainframes, Minicomputers, and Supercomputers The Establishment of the Mainframe Computer (1962) The Development of the Minicomputer (1963) The Development of the UNDC Operating System (1969) The Development of Graphical User Interfaces (early 1960s) The Development of the Supercomputer (1972) 515 FOURTH-GENERATION COMPUTERS (early 1970s to the Present) The Rise of the Microprocessor The First Commercially Available Microprocessor (1971) The First Commercially Available Microcomputer Kit (1975) The Dawn of Personal Computing The Beginnings of Microsoft (1975) The Apple II (1977) IBM's Entry into the Microcomputer Market (1981) Society Embraces the Personal Computer (1983) The Development of Graphical User Interfaces (GUIs) The Development of the C+ + Programming Language 519

12 Contents xlx THE DEVELOPMENT OF COMPUTER NETWORKS The Development of Wide Area Networks Theldeaof Packet-Switched Networks (early 1960s) The First Packet-Switched Network: ARPANET (1969) The Development of Local Area Networks (LANs) The Need for Local Area Networks The Development of Ethernet (1980) The Development of the Internet and World Wide Web The Realization of the Need for "Internetworking" The Development of the TCP/IP Internetworking Protocol (1973) The Development of the World Wide Web (1990) The Development of the Java Programming Language (1995) 523 Appendix Index

Java 6 'th. Concepts INTERNATIONAL STUDENT VERSION. edition

Java 6 'th. Concepts INTERNATIONAL STUDENT VERSION. edition Java 6 'th edition Concepts INTERNATIONAL STUDENT VERSION CONTENTS PREFACE vii SPECIAL FEATURES xxviii chapter i INTRODUCTION 1 1.1 What Is Programming? 2 J.2 The Anatomy of a Computer 3 1.3 Translating

More information

Computing Concepts with Java Essentials

Computing Concepts with Java Essentials 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Computing Concepts with Java Essentials 3rd Edition Cay Horstmann

More information

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

Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science. Unit of Study / Textbook Correlation Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science updated 03/08/2012 Unit 1: JKarel 8 weeks http://www.fcps.edu/is/pos/documents/hs/compsci.htm

More information

Some programming experience in a high-level structured programming language is recommended.

Some programming experience in a high-level structured programming language is recommended. Python Programming Course Description This course is an introduction to the Python programming language. Programming techniques covered by this course include modularity, abstraction, top-down design,

More information

An Introduction to Programming and Computer Science

An Introduction to Programming and Computer Science An Introduction to Programming and Computer Science Maria Litvin Phillips Academy, Andover, Massachusetts Gary Litvin Skylight Software, Inc. Skylight Publishing Andover, Massachusetts Copyright 1998 by

More information

PROBLEM SOLVING SEVENTH EDITION WALTER SAVITCH UNIVERSITY OF CALIFORNIA, SAN DIEGO CONTRIBUTOR KENRICK MOCK UNIVERSITY OF ALASKA, ANCHORAGE PEARSON

PROBLEM SOLVING SEVENTH EDITION WALTER SAVITCH UNIVERSITY OF CALIFORNIA, SAN DIEGO CONTRIBUTOR KENRICK MOCK UNIVERSITY OF ALASKA, ANCHORAGE PEARSON PROBLEM SOLVING WITH SEVENTH EDITION WALTER SAVITCH UNIVERSITY OF CALIFORNIA, SAN DIEGO CONTRIBUTOR KENRICK MOCK UNIVERSITY OF ALASKA, ANCHORAGE PEARSON Addison Wesley Boston San Francisco New York London

More information

Java the UML Way: Integrating Object-Oriented Design and Programming

Java the UML Way: Integrating Object-Oriented Design and Programming Java the UML Way: Integrating Object-Oriented Design and Programming by Else Lervik and Vegard B. Havdal ISBN 0-470-84386-1 John Wiley & Sons, Ltd. Table of Contents Preface xi 1 Introduction 1 1.1 Preliminaries

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

Domains and Competencies

Domains and Competencies Domains and Competencies DOMAIN I TECHNOLOGY APPLICATIONS CORE Standards Assessed: Computer Science 8 12 I VII Competency 001: The computer science teacher knows technology terminology and concepts; the

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

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

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

Java Application Developer Certificate Program Competencies

Java Application Developer Certificate Program Competencies Java Application Developer Certificate Program Competencies After completing the following units, you will be able to: Basic Programming Logic Explain the steps involved in the program development cycle

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

THE OPEN UNIVERSITY OF TANZANIA

THE OPEN UNIVERSITY OF TANZANIA THE OPEN UNIVERSITY OF TANZANIA FACULTY OF SCIENCE, TECHNOLOGY AND ENVIRONMENTAL STUDIES ODM 103: INTRODUCTION TO COMPUTER PROGRAMMING LANGUAGES Said Ally i ODM 103 INTRODUCTION TO COMPUTER PROGRAMMING

More information

Oracle PL/SQL Programming

Oracle PL/SQL Programming FOURTH EDITION Oracle PL/SQL Programming Steven Feuerstein with Bill Pribvl O'REILLY' Beijing Cambridge Farnham Köln Paris Sebastopol Taipei Tokyo Table of Contents Preface xiii Part 1. Programming in

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

Formal Engineering for Industrial Software Development

Formal Engineering for Industrial Software Development Shaoying Liu Formal Engineering for Industrial Software Development Using the SOFL Method With 90 Figures and 30 Tables Springer Contents Introduction 1 1.1 Software Life Cycle... 2 1.2 The Problem 4 1.3

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

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

COMPUTER SCIENCE (5651) Test at a Glance

COMPUTER SCIENCE (5651) Test at a Glance COMPUTER SCIENCE (5651) Test at a Glance Test Name Computer Science Test Code 5651 Time Number of Questions Test Delivery 3 hours 100 selected-response questions Computer delivered Content Categories Approximate

More information

Computer Science 217

Computer Science 217 Computer Science 217 Midterm Exam Fall 2009 October 29, 2009 Name: ID: Instructions: Neatly print your name and ID number in the spaces provided above. Pick the best answer for each multiple choice question.

More information

The C Programming Language course syllabus associate level

The C Programming Language course syllabus associate level TECHNOLOGIES The C Programming Language course syllabus associate level Course description The course fully covers the basics of programming in the C programming language and demonstrates fundamental programming

More information

Computer Programming I

Computer Programming I Computer Programming I COP 2210 Syllabus Spring Semester 2012 Instructor: Greg Shaw Office: ECS 313 (Engineering and Computer Science Bldg) Office Hours: Tuesday: 2:50 4:50, 7:45 8:30 Thursday: 2:50 4:50,

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

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

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

Basic Programming and PC Skills: Basic Programming and PC Skills:

Basic Programming and PC Skills: Basic Programming and PC Skills: Texas University Interscholastic League Contest Event: Computer Science The contest challenges high school students to gain an understanding of the significance of computation as well as the details of

More information

I PUC - Computer Science. Practical s Syllabus. Contents

I PUC - Computer Science. Practical s Syllabus. Contents I PUC - Computer Science Practical s Syllabus Contents Topics 1 Overview Of a Computer 1.1 Introduction 1.2 Functional Components of a computer (Working of each unit) 1.3 Evolution Of Computers 1.4 Generations

More information

RARITAN VALLEY COMMUNITY COLLEGE ACADEMIC COURSE OUTLINE. CISY 105 Foundations of Computer Science

RARITAN VALLEY COMMUNITY COLLEGE ACADEMIC COURSE OUTLINE. CISY 105 Foundations of Computer Science I. Basic Course Information RARITAN VALLEY COMMUNITY COLLEGE ACADEMIC COURSE OUTLINE CISY 105 Foundations of Computer Science A. Course Number and Title: CISY-105, Foundations of Computer Science B. New

More information

AP Computer Science A - Syllabus Overview of AP Computer Science A Computer Facilities

AP Computer Science A - Syllabus Overview of AP Computer Science A Computer Facilities AP Computer Science A - Syllabus Overview of AP Computer Science A Computer Facilities The classroom is set up like a traditional classroom on the left side of the room. This is where I will conduct my

More information

Computer Programming I & II*

Computer Programming I & II* Computer Programming I & II* Career Cluster Information Technology Course Code 10152 Prerequisite(s) Computer Applications, Introduction to Information Technology Careers (recommended), Computer Hardware

More information

Course Title: Software Development

Course Title: Software Development Course Title: Software Development Unit: Customer Service Content Standard(s) and Depth of 1. Analyze customer software needs and system requirements to design an information technology-based project plan.

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

Texas Essential Knowledge and Skills Correlation to Video Game Design Foundations 2011 N130.0993. Video Game Design

Texas Essential Knowledge and Skills Correlation to Video Game Design Foundations 2011 N130.0993. Video Game Design Texas Essential Knowledge and Skills Correlation to Video Game Design Foundations 2011 N130.0993. Video Game Design STANDARD CORRELATING PAGES Standard (1) The student demonstrates knowledge and appropriate

More information

core. Volume I - Fundamentals Seventh Edition Sun Microsystems Press A Prentice Hall Title ULB Darmstadt

core. Volume I - Fundamentals Seventh Edition Sun Microsystems Press A Prentice Hall Title ULB Darmstadt core. 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Volume I - Fundamentals Seventh Edition CAY S. HORSTMANN GARY

More information

#820 Computer Programming 1A

#820 Computer Programming 1A Computer Programming I Levels: 10-12 Units of Credit: 1.0 CIP Code: 11.0201 Core Code: 35-02-00-00-030 Prerequisites: Secondary Math I, Keyboarding Proficiency, Computer Literacy requirement Semester 1

More information

Programming Language Pragmatics

Programming Language Pragmatics Programming Language Pragmatics THIRD EDITION Michael L. Scott Department of Computer Science University of Rochester ^ШШШШШ AMSTERDAM BOSTON HEIDELBERG LONDON, '-*i» ЩЛ< ^ ' m H NEW YORK «OXFORD «PARIS»SAN

More information

01 Introduction. The timeline

01 Introduction. The timeline 01 Introduction The pre-mechanical era The mechanical era The electromechanical era The electronic era The microelectronic era The roadmap for the next 10 years alessandro bogliolo isti information science

More information

Programming Using Python

Programming Using Python Introduction to Computation and Programming Using Python Revised and Expanded Edition John V. Guttag The MIT Press Cambridge, Massachusetts London, England CONTENTS PREFACE xiii ACKNOWLEDGMENTS xv 1 GETTING

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

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

Handout 1. Introduction to Java programming language. Java primitive types and operations. Reading keyboard Input using class Scanner.

Handout 1. Introduction to Java programming language. Java primitive types and operations. Reading keyboard Input using class Scanner. Handout 1 CS603 Object-Oriented Programming Fall 15 Page 1 of 11 Handout 1 Introduction to Java programming language. Java primitive types and operations. Reading keyboard Input using class Scanner. Java

More information

Moving from CS 61A Scheme to CS 61B Java

Moving from CS 61A Scheme to CS 61B Java Moving from CS 61A Scheme to CS 61B Java Introduction Java is an object-oriented language. This document describes some of the differences between object-oriented programming in Scheme (which we hope you

More information

Android Application Development Course Program

Android Application Development Course Program Android Application Development Course Program Part I Introduction to Programming 1. Introduction to programming. Compilers, interpreters, virtual machines. Primitive data types, variables, basic operators,

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

ML for the Working Programmer

ML for the Working Programmer ML for the Working Programmer 2nd edition Lawrence C. Paulson University of Cambridge CAMBRIDGE UNIVERSITY PRESS CONTENTS Preface to the Second Edition Preface xiii xv 1 Standard ML 1 Functional Programming

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

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

The Smalltalk Programming Language. Beatrice Åkerblom beatrice@dsv.su.se

The Smalltalk Programming Language. Beatrice Åkerblom beatrice@dsv.su.se The Smalltalk Programming Language Beatrice Åkerblom beatrice@dsv.su.se 'The best way to predict the future is to invent it' - Alan Kay. History of Smalltalk Influenced by Lisp and Simula Object-oriented

More information

Computer Science III Advanced Placement G/T [AP Computer Science A] Syllabus

Computer Science III Advanced Placement G/T [AP Computer Science A] Syllabus Computer Science III Advanced Placement G/T [AP Computer Science A] Syllabus Course Overview This course is a fast-paced advanced level course that focuses on the study of the fundamental principles associated

More information

Information and Communications Technology Courses at a Glance

Information and Communications Technology Courses at a Glance Information and Communications Technology Courses at a Glance Level 1 Courses ICT121 Introduction to Computer Systems Architecture This is an introductory course on the architecture of modern computer

More information

KITES TECHNOLOGY COURSE MODULE (C, C++, DS)

KITES TECHNOLOGY COURSE MODULE (C, C++, DS) KITES TECHNOLOGY 360 Degree Solution www.kitestechnology.com/academy.php info@kitestechnology.com technologykites@gmail.com Contact: - 8961334776 9433759247 9830639522.NET JAVA WEB DESIGN PHP SQL, PL/SQL

More information

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

Computer Science. Computer Science 207. Degrees and Certificates Awarded. A.S. Computer Science Degree Requirements. Program Student Outcomes Computer Science 207 Computer Science (See Computer Information Systems section for additional computer courses.) We are in the Computer Age. Virtually every occupation in the world today has an interface

More information

Visual Basic. murach's TRAINING & REFERENCE

Visual Basic. murach's TRAINING & REFERENCE TRAINING & REFERENCE murach's Visual Basic 2008 Anne Boehm lbm Mike Murach & Associates, Inc. H 1-800-221-5528 (559) 440-9071 Fax: (559) 440-0963 murachbooks@murach.com www.murach.com Contents Introduction

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

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

WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math Textbook Correlation WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math Following Directions Unit FIRST QUARTER AND SECOND QUARTER Logic Unit

More information

Curriculum Map. Discipline: Computer Science Course: C++

Curriculum Map. Discipline: Computer Science Course: C++ Curriculum Map Discipline: Computer Science Course: C++ August/September: How can computer programs make problem solving easier and more efficient? In what order does a computer execute the lines of code

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

FIVE ERAS IN COMPUTER DEVELOPMENT Pre-History Electronics Mini Micro Network

FIVE ERAS IN COMPUTER DEVELOPMENT Pre-History Electronics Mini Micro Network FIVE ERAS IN COMPUTER DEVELOPMENT Pre-History Electronics Mini Micro Network PRE-HISTORY ERA The abacus is believed to have been invented in 4 th century B.C. PRE-HISTORY ERA The Antikythera mechanism,

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

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

Computer Science. 232 Computer Science. Degrees and Certificates Awarded. A.S. Degree Requirements. Program Student Outcomes. Department Offices 232 Computer Science Computer Science (See Computer Information Systems section for additional computer courses.) We are in the Computer Age. Virtually every occupation in the world today has an interface

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

Computer Basics: Chapters 1 & 2

Computer Basics: Chapters 1 & 2 Computer Basics: Chapters 1 & 2 Definition of a Computer What does IPOS stand for? Input Process Output Storage Other types of Computers Name some examples of other types of computers, other than a typical

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

Connecting with Computer Science Chapter 1 Review:

Connecting with Computer Science Chapter 1 Review: Connecting with Computer Science Chapter 1 Review: Key Terms: Abacus: (6) Assembly Language: (13) A counting device with sliding beads. Used mainly for adding and subtracting. A Human-readable language

More information

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students Eastern Washington University Department of Computer Science Questionnaire for Prospective Masters in Computer Science Students I. Personal Information Name: Last First M.I. Mailing Address: Permanent

More information

Sources: On the Web: Slides will be available on:

Sources: On the Web: Slides will be available on: C programming Introduction The basics of algorithms Structure of a C code, compilation step Constant, variable type, variable scope Expression and operators: assignment, arithmetic operators, comparison,

More information

Agile Software Development

Agile Software Development Agile Software Development Principles, Patterns, and Practices Robert Cecil Martin Alan Apt Series Prentice «: : Hall Pearson Education, Inc. Upper Saddle River, New Jersey 07458 Foreword Preface About

More information

Glossary of Object Oriented Terms

Glossary of Object Oriented Terms Appendix E Glossary of Object Oriented Terms abstract class: A class primarily intended to define an instance, but can not be instantiated without additional methods. abstract data type: An abstraction

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

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

Objectif. Participant. Prérequis. Remarque. Programme. C# 3.0 Programming in the.net Framework. 1. Introduction to the.

Objectif. Participant. Prérequis. Remarque. Programme. C# 3.0 Programming in the.net Framework. 1. Introduction to the. Objectif This six-day instructor-led course provides students with the knowledge and skills to develop applications in the.net 3.5 using the C# 3.0 programming language. C# is one of the most popular programming

More information

Copyright 2012 Pearson Education, Inc. Chapter 1 INTRODUCTION TO COMPUTING AND ENGINEERING PROBLEM SOLVING

Copyright 2012 Pearson Education, Inc. Chapter 1 INTRODUCTION TO COMPUTING AND ENGINEERING PROBLEM SOLVING Chapter 1 INTRODUCTION TO COMPUTING AND ENGINEERING PROBLEM SOLVING Outline Objectives 1. Historical Perspective 2. Recent Engineering Achievements 3. Computing Systems 4. Data Representation and Storage

More information

Course Name: ADVANCE COURSE IN SOFTWARE DEVELOPMENT (Specialization:.Net Technologies)

Course Name: ADVANCE COURSE IN SOFTWARE DEVELOPMENT (Specialization:.Net Technologies) Course Name: ADVANCE COURSE IN SOFTWARE DEVELOPMENT (Specialization:.Net Technologies) Duration of Course: 6 Months Fees: Rs. 25,000/- (including Service Tax) Eligibility: B.E./B.Tech., M.Sc.(IT/ computer

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

Programming and Software Development (PSD)

Programming and Software Development (PSD) Programming and Software Development (PSD) Course Descriptions Fundamentals of Information Systems Technology This course is a survey of computer technologies. This course may include computer history,

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

Please consult the Department of Engineering about the Computer Engineering Emphasis.

Please consult the Department of Engineering about the Computer Engineering Emphasis. COMPUTER SCIENCE Computer science is a dynamically growing discipline. ABOUT THE PROGRAM The Department of Computer Science is committed to providing students with a program that includes the basic fundamentals

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

A single register, called the accumulator, stores the. operand before the operation, and stores the result. Add y # add y from memory to the acc

A single register, called the accumulator, stores the. operand before the operation, and stores the result. Add y # add y from memory to the acc Other architectures Example. Accumulator-based machines A single register, called the accumulator, stores the operand before the operation, and stores the result after the operation. Load x # into acc

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

The Clean programming language. Group 25, Jingui Li, Daren Tuzi

The Clean programming language. Group 25, Jingui Li, Daren Tuzi The Clean programming language Group 25, Jingui Li, Daren Tuzi The Clean programming language Overview The Clean programming language first appeared in 1987 and is still being further developed. It was

More information

Division of Mathematical Sciences

Division of Mathematical Sciences Division of Mathematical Sciences Chair: Mohammad Ladan, Ph.D. The Division of Mathematical Sciences at Haigazian University includes Computer Science and Mathematics. The Bachelor of Science (B.S.) degree

More information

Computer Science and Mathematics. Mathematics Curriculum Framework

Computer Science and Mathematics. Mathematics Curriculum Framework Computer Science and Mathematics Mathematics Curriculum Framework Course Title: Computer Science and Mathematics Course/Unit Credit: 1 Course Number: 439100 Secondary Math License/Math Credit 460050 Business

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

Python Programming: An Introduction to Computer Science. John M. Zelle, Ph.D.

Python Programming: An Introduction to Computer Science. John M. Zelle, Ph.D. Python Programming: An Introduction to Computer Science John M. Zelle, Ph.D. Version 1.0rc2 Fall 2002 Copyright c 2002 by John M. Zelle All rights reserved. No part of this publication may be reproduced,

More information

Minnesota Virtual Academy Online Syllabus for AP Computer Science A

Minnesota Virtual Academy Online Syllabus for AP Computer Science A Minnesota Virtual Academy Online Syllabus for AP Computer Science A Course Instructor and Communications Name: Mr. Jon Peterson Phone #: 866-215-2292 Ext. 2129 Fax #: N/A Skype name: jon.peterson84 Kmail

More information

Engineering Design. Software. Theory and Practice. Carlos E. Otero. CRC Press. Taylor & Francis Croup. Taylor St Francis Croup, an Informa business

Engineering Design. Software. Theory and Practice. Carlos E. Otero. CRC Press. Taylor & Francis Croup. Taylor St Francis Croup, an Informa business Software Engineering Design Theory and Practice Carlos E. Otero CRC Press Taylor & Francis Croup Boca Raton London New York CRC Press is an imprint of the Taylor St Francis Croup, an Informa business AN

More information

Computer Programming I

Computer Programming I Computer Programming I Levels: 10-12 Units of Credit: 1.0 CIP Code: 11.0201 Core Code: 35-02-00-00-030 Prerequisites: Secondary Math I, Keyboarding Proficiency, Computer Literacy requirement (e.g. Exploring

More information

Java Software Structures

Java Software Structures INTERNATIONAL EDITION Java Software Structures Designing and Using Data Structures FOURTH EDITION John Lewis Joseph Chase This page is intentionally left blank. Java Software Structures,International Edition

More information

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

Computer Science. Computer Science 213. Faculty and Offices. Degrees and Certificates Awarded. AS Computer Science Degree Requirements Computer Science 213 Computer Science (See Computer Information Systems section for additional computer courses.) Degrees and Certificates Awarded Associate in Science Degree, Computer Science Certificate

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

CS 106 Introduction to Computer Science I

CS 106 Introduction to Computer Science I CS 106 Introduction to Computer Science I 01 / 21 / 2014 Instructor: Michael Eckmann Today s Topics Introduction Homework assignment Review the syllabus Review the policies on academic dishonesty and improper

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

Undergraduate Major in Computer Science and Engineering

Undergraduate Major in Computer Science and Engineering University of California, Irvine 2015-2016 1 Undergraduate Major in Computer Science and Engineering On This Page: Overview Admissions Requirements for the B.S. in Computer Science and Engineering Sample

More information

Management Challenge. Managing Hardware Assets. Central Processing Unit. What is a Computer System?

Management Challenge. Managing Hardware Assets. Central Processing Unit. What is a Computer System? Management Challenge Managing Hardware Assets What computer processing and storage capability does our organization need to handle its information and business transactions? What arrangement of computers

More information