Detailed Contents Welcome And Thank You!...xlvii Target Audience...xlvii Approach...xlvii Arrangement...xlviii

Size: px
Start display at page:

Download "Detailed Contents Welcome And Thank You!...xlvii Target Audience...xlvii Approach...xlvii Arrangement...xlviii"

Transcription

1 Preface Welcome And Thank You!...xlvii Target Audience...xlvii Approach...xlvii Arrangement...xlviii Part I: The C++ Student Survival Guide...xlviii Chapter 1: An Approach To The Art Of Programming...xlviii Chapter 2: Small Victories: Creating Projects With IDEs...xlviii Chapter 3: Project Walkthrough: An Extended Example...xlviii Chapter 4: Computers, Programs, and Algorithms...xlviii Part II: C++ Language Fundamentals...xlix Chapter 5: Simple Programs...xlix Chapter 6: Controlling The Flow Of Program Execution...xlix Chapter 7: Pointers And References...xlix Chapter 8: Arrays...xlix Chapter 9: Functions...xlix Chapter 10: Toward Problem Abstraction: Creating New Data Types...xlix Chapter 11: Dissecting Classes...l Chapter 12: Compositional Design...l Chapter 13: Extending Class Functionality Through Inheritance...l Part III: Implementing Polymorphic Behavior...l Chapter 14: Ad Hoc Polymorphism: Operator Overloading...l Chapter 15: Static Polymorphism: Templates...l Chapter 16: Dynamic Polymorphism: Object-Oriented Programming...li Part IV: Intermediate Concepts...li Chapter 17: Well-Behaved Objects: The Orthodox Canonical Class Form...li Chapter 18: Mixed Language Programming...li Chapter 19: Three Design Principles...li Chapter 20: Using A UML Modeling Tool...li How To Read C++ For Artists...lii Pedagogy...liii Chapter Layout...liii Learning Objectives...liii Introduction...liii Content...liii Quick Reviews...liii Summary...liii Skill-Building Exercises...liii Suggested Projects...liii Self-Test Questions...liii References...liii Notes...liii CD-ROM...liv SupportSite Website...liv Problem Reporting...liv Acknowledgements...lv Part I: The C++ Student Survival Guide 1 An Approach To The Art Of Programming Introduction...4 C++ For Artists 2003 Rick Miller All Rights Reserved vii

2 The Difficulties You Will Encounter Learning C Required Skills...4 The Planets Will Come Into Alignment...4 How This Chapter Will Help You...5 Project Management...5 Three Software Development Roles...5 Analyst...5 Architect...5 Programmer...6 A Project Approach Strategy...6 You Have Been Handed A Project Now What?...6 Strategy Areas of Concern...6 Think Abstractly...7 The Strategy In A Nutshell...7 Applicability To The Real World...7 The Art of Programming...8 Don t Start At The Computer...8 Inspiration Strikes At The Weirdest Time...8 Own Your Own Computer...8 You Either Have Time and No Money, or Money and No Time...8 The Family Computer Is Not Going To Cut It!...9 Set The Mood...9 Location, Location, Location...9 Concept Of The Flow...9 The Stages of Flow...9 Be Extreme...10 The Programming Cycle...10 The Programming Cycle Summarized...11 A Helpful Trick: Stubbing...11 Fix The First Compiler Error First...11 Managing Project Complexity...11 Split Even Simple Projects Into Multiple Source Code Files...12 Separating a Class s Interface from its Implementation...12 Benefits of Separating Interface from Implementation...12 Helpful Preprocessor Directives...13 The Final Word on Preprocessor Directive Behavior...14 Project File Format...14 Header File...14 Implementation File...15 Main File...15 Commenting...16 C-Style Comments...16 C++-style Comments...17 Write Self-Commenting Code: Give Identifiers Meaningful Names...17 Adopt A Convention And Stick With It...19 Restrict The Number of Global Variables...19 Minimize Coupling, Maximize Cohesion...19 Textbooks, Reference Books, and Quick Reference Guides...19 Summary...20 Skill Building Exercises...20 Suggested Projects...21 Self Test Questions...22 References...22 Notes Small Victories: Creating Projects With IDE s Introduction...26 The Program Creation Process...26 Integrated Development Environments...27 Metrowerks CodeWarrior...28 Microsoft Visual C Intermission...35 Tenon Intersystems MachTen CodeBuilder...36 viii 2003 Rick Miller All Rights Reserved C++ For Artists

3 Attention Linux Users...36 Organizing Project Files...37 Creating Source Files...37 Creating makefile...37 Summary...39 Skill Building Exercises...39 Suggested Projects...40 Self Test Questions...40 References...40 Notes Project Walkthrough: An Extended Example Introduction...44 The Project Approach Strategy...44 The Development Cycle...45 The Project Specification...46 Analyzing The Project Specification...47 Requirements...47 Problem Domain...48 Language Features...50 Design (First Iteration)...51 Implementation (First Iteration)...53 Testing (First Iteration)...55 Integration (First Iteration)...55 Design (Second Iteration)...56 Function Stubbing...56 Other Considerations...56 Implementation (Second Iteration)...57 Testing (Second Iteration)...59 Integration (Second Iteration)...60 Design (Third Iteration)...60 Implementation (Third Iteration)...60 Testing (Third Iteration)...62 Integration (Third Iteration)...64 Design (Fourth Iteration)...64 Implementation (Fourth Iteration)...66 Testing (Fourth Iteration)...68 Integration (Fourth Iteration)...68 Design (Fifth Iteration)...68 Implementation (Fifth Iteration)...70 Testing (Fifth Iteration)...70 Integration (Fifth Iteration)...71 Wrapping Up The Project...72 Complete Robot Rat Source Code Listing...72 Summary...76 Skill Building Exercises...76 Suggested Projects...76 Self Test Questions...76 References...77 Notes Computers, Programs, & Algorithms Introduction...80 What Is A Computer?...80 Computer vs. Computer System...80 C++ For Artists 2003 Rick Miller All Rights Reserved ix

4 Computer System...80 Processor...82 Three Aspects of Computer Architecture...83 Feature Set...83 Feature Set Implementation...83 Feature Set Accessibility...83 What Is A Program?...83 Two Views of a Program...84 Concept of Observable Behavior...84 The C++ Program Transformation Process...85 Phase Phase Phase Phase Phase Phase Phase Phase Phase The Processing Cycle...87 Fetch...88 Decode...88 Execute...88 Store...88 Memory Organization...88 Memory Basics...88 Memory Hierarchy...89 Bits, Bytes, Words...89 Alignment and Addressability...90 Algorithms...91 Good vs. Bad Algorithms...92 Don t Reinvent The Wheel!...94 Summary...94 Skill Building Exercises...94 Suggested Projects...94 Self Test Questions...95 References...95 Notes...95 Part II: C++ Language Fundamentals 5 Simple Programs Introduction A Minimal C++ Program Disassembly is a Great Learning Tool Another C++ Program Parts of the Program Comments Preprocessor Directive Libraries Using Directive main() function Constants Variables Statements and Expressions Keywords Fundamental Types Determining Your Data Type Ranges Determining Data Type Size with the sizeof Operator x 2003 Rick Miller All Rights Reserved C++ For Artists

5 Literals Integer Literals Decimal Octal Hexadecimal A Word of Caution Character Literals Single Character Literals Multiple Character Literals Escape Sequences Floating Point Literals String Literals Boolean Literals Expressions Operators Operator Precedence Use Parentheses Multiplicative Operators Multiplication Operator Division Operator Modulus Operator Additive Operators Addition Operator Subtraction Operator Shift Operators Left Shift Operator Right Shift Operator Relational Operators Less Than Operator Greater Than Operator Less Than or Equal To Operator Greater Than or Equal To Operator Equality Operators Equal To Operator Not Equal To Operator Bitwise AND Operator - & Bitwise Exclusive OR Operator - ^ Bitwise Inclusive OR Operator Logical AND Operator - && Logical OR Operator Conditional Operator -? : Assignment Operators lvalue vs. rvalue Compound Assignment Operators Comma Operator -, Increment and Decrement Operators (++, --) Identifiers Identifier Naming Conventions Hungarian Notation Constants Variables Declaring Scope Local Scope Function Scope File Scope Multifile Variable Usage Sharing File Scope Variables Across Multiple Files Limiting File Scope Variable Visibility to One File The main() Function The Purpose of the main() Function Two Forms of main() Exiting main() Calling Functions Upon Exiting main() C++ For Artists 2003 Rick Miller All Rights Reserved xi

6 Simple Input and Output cin Trapping Bad Input cout Learning More About cout and cin Summary Skill Building Exercises Suggested Projects Self Test Questions References Notes Controlling The Flow of Program Execution Introduction Statements, Null Statements, and Compound Statements Statements Null Statements Compound Statements Selection Statements if Statement if Statements and Compound Statements if-else Statement Nesting if-else Statements switch Statement Iteration Statements while Statement Controlling while Statements with Sentinel Values Nesting while Statements Doing Something Forever Exiting While Loops with the break Statement do Statement Nesting do Statements for Statement Nesting for Statements break Doing Something Forever with a for Statement continue Avoiding break and continue Writing Elegant Code Labeled Statements goto Statement Advice on Using Goto Control Statement Usage Guide Summary Skill Building Exercises Suggested Projects Self Test Questions References Notes Pointers and References Introduction But First, A Short Story What is an object? What is a memory address? How do you determine an object s memory address? xii 2003 Rick Miller All Rights Reserved C++ For Artists

7 What is a pointer? How do you declare a pointer? How do you access the object a pointer points to? How do you dynamically create and delete objects? The new Operator A Neat Trick: Calling Object Constructors What s the difference between a pointer and a reference? How do you declare and use references? Summary Skill Building Exercises Suggested Projects Self Test References Notes Arrays Introduction What Is An Array? Locating Array Elements Declaring & Defining Statically Allocated Arrays Single-Dimensional Arrays Accessing Array Elements Subscript Method Pointer Arithmetic Method Beware the Uninitialized Array! Combining Array Definition with Array Declaration Arrays of Pointers Multi-Dimensional Arrays Arrays of Two Dimensions Arrays of Three or More Dimensions Automatic Initialization of Multi-Dimensional Arrays Declaring and Defining Dynamic Arrays Dynamically Allocated Single Dimensional Arrays Dynamically Allocated Multi-Dimensional Arrays Strings Summary Skill Building Exercises Suggested Projects Self Test Questions References Notes Functions Introduction What is a Function? Interface vs. Implementation Put Function Interface Declarations in Header Files #ifndef...#define...#endif Put Function Definitions in Implementation Files Characteristics of a Well-Written Function Declaring and Defining Functions Naming Functions Function Declaration Function Definition Function Calling C++ For Artists 2003 Rick Miller All Rights Reserved xiii

8 A Complete Example Quick Review Local Function Variable Scoping Declaring Local Variables Hiding Global Variables with Local Variables Using Scoping Blocks in Functions Static Function Variables Scope of Function Parameters Quick Review Passing Arguments to Functions Function Calling Responsibilities of the Calling Function Responsibilities of the Called Function Passing Arguments by Value Another Example Passing Arguments by Reference Continuing The Story Passing Pointers Passing References Passing Arrays to Functions Passing Multi-Dimensional Arrays To Functions Another Example Using Function Return Values Returning Objects The return Keyword: Mantra on Proper Usage Another Example Returning Pointers How Not To Return a Pointer From A Function: Avoiding the Dangling Reference Returning References Quick Review Function Overloading Calling Functions Recursively Another Example Function Pointers Declaring Function Pointers Assigning The Address of a Function to a Function Pointer Calling the Function via the Function Pointer Arrays of Function Pointers Implementing Callback Functions with Function Pointers Creating A Function Library Steps to Creating a Library Create Empty Project Add Implementation File Set Library Target Settings Name Library and Set Project Type Build the Project Use the Library Summary Skill Building Exercises Suggested Projects EISCS MKI Language Set Sample Program Basic Operation of the EISCS MKI Memory Instruction Decoding Additional EISCS Specifications Self Test Questions References Notes xiv 2003 Rick Miller All Rights Reserved C++ For Artists

9 10 Towards Problem Abstraction: Creating New Data Types Introduction Toward Data Abstraction: typedef Creating Type Synonyms Creating Enumerated Data Types With enum Enums and Switch Statements Changing an Enum s Default State Values Enum State Name Conflicts The Utility of name spaces Quick Summary Structures: C-Style Accessing Structural Elements Accessing Structural Data Members Via the Dot. Operator Accessing Structural Elements Via the Shorthand Member Access -> Operator Quick Summary Structures: C++-Style Person Structure Redesign Public Interface Functions and the Public Access Specifier Private Data Members and the Private Access Specifier The Deep Secret: The this Pointer Quick Summary Classes: A Gentle Introduction Quick Summary The Differences Between Structures & Classes Quick Summary Object-Oriented Thinking Object Speak: A New Vocabulary Summary Skill Building Exercises Suggested Projects Self Test Questions References Notes Dissecting Classes Introduction The Class Construct Parts Of A Class Declaration A Minimum Class Declaration Place Class Declarations In Separate Header Files The UML Class Diagram The Concepts of State and Behavior Object State Object Behavior Class Member Functions Class Member Function Access to Class Attributes Obtaining Access to Class Attributes From a Member Function Obtaining Access to Instance Attributes from a Member Function Special Member Functions Constructor TestClass Example Copy Constructor TestClass Example Extended Copy Assignment Operator TestClass Example Extended Destructor TestClass Example Extended Behavior of Default Special Functions Quick Summary C++ For Artists 2003 Rick Miller All Rights Reserved xv

10 Accessor and Mutator Functions Accessor Functions Mutator Functions Quick Summary Using Access Specifiers To Control Horizontal Member Access The Concept of Horizontal Access Data Encapsulation Access Specifiers The Public Access Specifier The Protected Access Specifier The Private Access Specifier Overloading Class Member Functions Function Signatures Why would you want to overload member functions? Separating A Class s Interface From Its Implementation Manage Physical Complexity Allow the Creation of Code Libraries A Complete Example: Class Person Summary Skill Building Exercises Suggested Projects Self Test Questions References Notes Compositional Design Introduction Managing Physical Complexity Aggregation Simple vs. Composite Aggregation The Relationship Between Aggregation and Object Lifetime Aggregation Example Code Composite Aggregation Example Another Composite Aggregation Example Simple Aggregation Example Extending the Class Diagram Sequence Diagrams Quick Summary The Aircraft Engine Simulation: An Extended Aggregation Example The Purpose of the Engine Class An Engine and its Parts The Engine Class The Entire Aircraft Engine Simulation Project aircraftutils.h fuelpump.h oilpump.h temperaturesensor.h oxygensensor.h compressor.h engine.h fuelpump.cpp oilpump.cpp temperaturesensor.cpp oxygensensor.cpp compressor.cpp engine.cpp main.cpp xvi 2003 Rick Miller All Rights Reserved C++ For Artists

11 Summary Skill Building Exercises Suggested Projects Self Test Questions References Notes Extending Class Functionality Through Inheritance Introduction Purpose And Use Of Inheritance Expressing Inheritance With A UML Class Diagram Implementing BaseClass and DerivedClassOne Quick Review Access Specifiers And Vertical Access Public Inheritance Protected Inheritance Private Inheritance Quick Review Calling Base Class Constructors Quick Review Function Name Hiding: This Is Not Function Overriding! Function Hiding vs. Function Overloading Quick Review What Then Is Function Overriding? Creating Virtual Functions: The Virtual Keyword Purpose of Virtual Functions Declaring and Using Virtual Functions Virtual Destructors Quick Review Pure Virtual Functions Declaring Pure Virtual Functions Abstract Classes Fleet Simulation Source Code ciws.h five_inch.h torpedo.h gasturbine.h nuke_plant.h steam_plant.h submarine.h surface_ship.h ciws.cpp five_inch.cpp gasturbine_plant.cpp nuke_plant.cpp steam_plant.cpp submarine.cpp surface_ship.cpp torpedo.cpp vessel.cpp Multiple Inheritance Virtual Base Classes: Virtual Inheritance Getting Inheritance Right: Some Points To Consider Two Different Uses of Inheritance Reasoning About Object-Oriented Application Design C++ For Artists 2003 Rick Miller All Rights Reserved xvii

12 Incremental Code Evolution Protect Yourself In Your Design Summary Skill Building Exercises Suggested Projects Self Test Questions References Notes Part III: Implementing Polymorphic Behavior 14 Ad Hoc Polymorphism: Operator Overloading Introduction Ad Hoc Polymorphism: Function Overloading The Goal Of Operator Overloading Overloadable Operators Overloading Operators Overloading IOStream Insertion and Extraction Operators: <<, >> Overloading the Assignment Operator: = Shallow Copy vs. Deep Copy Overloading Relational Operators: <, >, <=, >= Overloading Equality Operators: ==,!= Overloading Arithmetic Operators: +, -, *, /, % A Few Words About Error Checking Overloading The Subscript Operator: [] Overloading Compound Assignment Operators: +=, -=, *=, etc Overloading Increment & Decrement Operators: ++, Overloading Various Other Operators: (), +, -, <<, ->, etc The Function Operator: operator()() The Member Operator: operator->() The Comma Operator: operator,() - A.K.A. the Sequencing operator Virtual Overloaded Operators Summary Skill Building Exercises Suggested Projects Self Test Questions References Notes Static Polymorphism: Templates Introduction Definition of Template Function Templates Class Templates Structure Templates How Templates Work: An Analogy Declaring And Using Function Templates Separating Declaration From Implementation: Some Background When In Doubt Refer To Your Compiler Documentation xviii 2003 Rick Miller All Rights Reserved C++ For Artists

13 Example 15.1Continued Using Multiple Placeholders Quick Review Declaring And Using Class Templates A More Complex Class Template Example Quick Review Overview Of The Standard Template Library (STL) Containers and Container Adapters Iterators Algorithms Quick Review Using Standard Template Library Components Using vector Using list Quick Review Summary Skill Building Exercises Suggested Projects Self Test Questions References Notes Dynamic Polymorphism: Object-Oriented Programming Introduction Abstraction: Amplify The Essential Eliminate The Irrelevant Object-Oriented Programming Defined Dynamic Polymorphism Defined Language Features That Support Object-Oriented Programming An Example: Class Interface Quick Review Extended Example: Engine Components Revisited A Basis for Comparison Polymorphic Engine Component Code icomponent.h component.h component.cpp pump.h pump.cpp sensor.h sensor.cpp waterpump.h waterpump.cpp oilpump.h oilpump.cpp fuelpump.h fuelpump.cpp airflowsensor.h airflowsensor.cpp oxygensensor.h oxygensensor.cpp temperaturesensor.h temperaturesensor.cpp engine.h engine.cpp smallengine.h smallengine.cpp engineutils.h main.cpp Discussion of the Polymorphic Engine Component Code IComponent and Derived Classes What is Meant by a Pure Virtual vs. a Virtual Member Function Declaration Engine and SmallEngine Running the Polymorphic Engine Component Program A Short Story C++ For Artists 2003 Rick Miller All Rights Reserved xix

14 Taming the Complexity of the C++ Language Summary Skill Building Exercises Suggested Projects Self Test Questions References Notes Part IV: Intermediate Concepts 17 Well Behaved Objects: The Orthodox Canonical Class Form Introduction What Is A Well-Behaved Object? Object Usage Contexts Object Creation Object Copying Object Assignment Object Destruction Other Contexts By Design The Orthodox Canonical Class Form (OCCF) Four Required Functions Default Constructor Destructor Copy Constructor Copy Assignment Operator Implementing Foo Class OCCF Functions Consider Future Desired Behavior Extending Foo To Participate In Other Contexts: Overloading More Operators Quick Review Summary Skill Building Exercises Suggested Projects Self Test Questions References Notes Mixed Language Programming Introduction C++ And C How C++ Allows Overloaded Functions: Name Mangling extern Keyword Building a C Library: The square() Function Deciphering C Standard Library Files Quick Review C++ And Assembly Some Things To Think About Before Using Assembly Know Thy Implementation Dependencies Inline Assembly Language in a C++ Function Linking An Object File Created From Assembly Language Process Steps Using Inline Assembly in the Macintosh Environment Quick Review C++ and Java: The Java Native Interface (JNI) xx 2003 Rick Miller All Rights Reserved C++ For Artists

15 Steps To Create a JNI C++ Program Win32 JNI Example Step 1: Create Java Source File Step 2: Compile Java Source File Step 3: Create Header File Step 4: Create C++ Source File Step 5: Compile C++ Source File to Create Dynamic Link Library Step 6: Run Java Program Macintosh OSX JNI Example Step 1: Create Java Source File Step 2: Compile Java Source File Step 3: Create Header File Step 4: Create C++ Source File Step 5: Compile C++ Source File to Create Dynamic Link Library Step 6: Run Java Program When To Use JNI Quick Review Summary Skill Building Exercises Suggested Projects Self Test Questions References Notes Three Design Principles Introduction The Preferred Characteristics of an Object-Oriented Architecture Easy to Understand (How does this thing work?) Easy to Reason About (What are the effects of change?) Easy to Extend (Where do I add functionality?) The Liskov Substitution Principle & Design by Contract Reasoning About the Behavior of Supertypes and Subtypes Relationship Between the LSP and DbC The Common Goal of the LSP and DbC C++ Support for the LSP and DbC Designing with the LSP/DbC in Mind The Power and Danger of C Class Declarations Viewed as Behavior Specifications Preconditions, Postconditions, and Class Invariants Class Invariant Precondition Postcondition An Example Using Incrementer as a Base Class Changing the Preconditions of Derived Class Functions Adopting the Same Preconditions Weakening Preconditions Strengthening Preconditions Quick Review Changing the Postconditions of Derived Class Functions Special Cases of Preconditions and Postconditions Function Argument Types Function Return Types Function Access Rights Quick Review Three Rules of the Substitution Principle Signature Rule Methods Rule Properties Rule The Open-Closed Principle Achieving The Open-Closed Principle An OCP Example Additional OCP Conventions Relationship Between the OCP and the LSP/DbC C++ For Artists 2003 Rick Miller All Rights Reserved xxi

16 Quick Review The Dependency Inversion Principle Characteristics of Bad Software Architecture Characteristics of Good Software Architecture Selecting The Right Abstractions Takes Experience Quick Review Summary Terms and Definitions Skill Building Exercises Suggested Projects Self Test Questions References Notes Using A UML Modeling Tool Introduction The Purpose Of A UML Modeling Tool Introducing Embarcadero Technologies Describe Primary Features The Project Specification: Robot Rat Creating Use Case Diagrams Adding Documentation to Diagram Elements Programmer Perspective Use Cases Pausing to Consider Design Issues Creating Class Diagrams Creating an Overall Package Architecture Diagram Moving Beyond the Package Diagram Adding Operations and Attributes to Classes Iterating Through the Design Process Creating Sequence Diagrams Proper Use of Sequence Diagrams Adding Objects to Sequence Diagrams Adding Messages to Sequence Diagrams Generating Source Code Reverse Engineering Merging Systems Linking Diagram Objects to Diagrams Generating Web Project Reports Summary RobotRat Source Code abstractposition.h abstractmarker.h abstractcontrolledobject.h position.h marker.h remotecontrolledobject.h abstractcontrolledrodent.h robotrat.h rodentworld.h userinterface.h controller.h position.cpp marker.cpp remotecontrolledobject.cpp robotrat.cpp xxii 2003 Rick Miller All Rights Reserved C++ For Artists

17 rodentworld.cpp userinterface.cpp controller.cpp main.cpp Skill Building Exercises Suggested Projects Self Test Questions References Notes Appendices Appendix A: Project Approach Strategy Checkoff List Project Approach Strategy Checkoff List Appendix B: ASCII Table ASCII Table Appendix C: Answers To Self-Test Questions Chapter Chapter Chapter Chapter Chapter Chapter Chapter Chapter Chapter Chapter Chapter Chapter Chapter Chapter Chapter Chapter Chapter Chapter Chapter Chapter C++ For Artists 2003 Rick Miller All Rights Reserved xxiii

18 xxiv 2003 Rick Miller All Rights Reserved C++ For Artists

Learning Objectives. C++ For Artists 2003 Rick Miller All Rights Reserved xli

Learning Objectives. C++ For Artists 2003 Rick Miller All Rights Reserved xli Identify and overcome the difficulties encountered by students when learning how to program List and explain the software development roles played by students List and explain the phases of the tight spiral

More information

Index. Symbols! 114. Numerics 64 bit processor 104

Index. Symbols! 114. Numerics 64 bit processor 104 Symbols! 114-114 -- 114!= 115, 121 #define 13, 27, 207 #endif 13, 27, 207 #ifndef 13, 27, 207 #include 13, 27, 103 % 114 %= 115 & 114, 115, 122 & operator 172, 174 && 115 &= 115 ( ) 114 (type) 114 * 114

More information

Contents. Figures. Tables. Examples. Foreword. Preface. 1 Basics of Java Programming 1. xix. xxi. xxiii. xxvii. xxix

Contents. Figures. Tables. Examples. Foreword. Preface. 1 Basics of Java Programming 1. xix. xxi. xxiii. xxvii. xxix PGJC4_JSE8_OCA.book Page ix Monday, June 20, 2016 2:31 PM Contents Figures Tables Examples Foreword Preface xix xxi xxiii xxvii xxix 1 Basics of Java Programming 1 1.1 Introduction 2 1.2 Classes 2 Declaring

More information

C++ (Non for C Programmer) (BT307) 40 Hours

C++ (Non for C Programmer) (BT307) 40 Hours C++ (Non for C Programmer) (BT307) 40 Hours Overview C++ is undoubtedly one of the most widely used programming language for implementing object-oriented systems. The C++ language is based on the popular

More information

Absolute C++ Walter Savitch

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

CHAPTER 1 Introduction to Computers and Programming CHAPTER 2 Introduction to C++ ( Hexadecimal 0xF4 and Octal literals 031) cout Object

CHAPTER 1 Introduction to Computers and Programming CHAPTER 2 Introduction to C++ ( Hexadecimal 0xF4 and Octal literals 031) cout Object CHAPTER 1 Introduction to Computers and Programming 1 1.1 Why Program? 1 1.2 Computer Systems: Hardware and Software 2 1.3 Programs and Programming Languages 8 1.4 What is a Program Made of? 14 1.5 Input,

More information

Preface... (vii) CHAPTER 1 INTRODUCTION TO COMPUTERS

Preface... (vii) CHAPTER 1 INTRODUCTION TO COMPUTERS Contents Preface... (vii) CHAPTER 1 INTRODUCTION TO COMPUTERS 1.1. INTRODUCTION TO COMPUTERS... 1 1.2. HISTORY OF C & C++... 3 1.3. DESIGN, DEVELOPMENT AND EXECUTION OF A PROGRAM... 3 1.4 TESTING OF PROGRAMS...

More information

CONTENTS. PART 1 Structured Programming 1. 1 Getting started 3. 2 Basic programming elements 17

CONTENTS. 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 information

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.

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

Problem Solving with C++

Problem Solving with C++ GLOBAL EDITION Problem Solving with C++ NINTH EDITION Walter Savitch Kendrick Mock Ninth Edition PROBLEM SOLVING with C++ Problem Solving with C++, Global Edition Cover Title Copyright Contents Chapter

More information

Practical C++ Programming

Practical C++ Programming SECOND EDITION Practical C++ Programming Steve Oualline O'REILLY' Beijing Cambridge Farnham Koln Paris Sebastopol Taipei Tokyo Preface xv Part I. The Basics 1. What Is C++? 3 A Brief History of C++ 3 C++

More information

C-LANGUAGE CURRICULAM

C-LANGUAGE CURRICULAM C-LANGUAGE CURRICULAM Duration: 2 Months. 1. Introducing C 1.1 History of C Origin Standardization C-Based Languages 1.2 Strengths and Weaknesses Of C Strengths Weaknesses Effective Use of C 2. C Fundamentals

More information

Computer Programming C++ (wg) CCOs

Computer Programming C++ (wg) CCOs Computer Programming C++ (wg) CCOs I. The student will analyze the different systems, and languages of the computer. (SM 1.4, 3.1, 3.4, 3.6) II. The student will write, compile, link and run a simple C++

More information

Index. Index. More information. block statements 66 y 107 Boolean 107 break 55, 68 built-in types 107

Index. Index. More information. block statements 66 y 107 Boolean 107 break 55, 68 built-in types 107 A abbreviations 17 abstract class 105 abstract data types 105 abstract method 105 abstract types 105 abstraction 92, 105 access level 37 package 114 private 115 protected 115 public 115 accessors 24, 105

More information

Weiss Chapter 1 terminology (parenthesized numbers are page numbers)

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

Short Notes of CS201

Short Notes of CS201 #includes: Short Notes of CS201 The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with < and > if the file is a system

More information

Contents. Preface. Introduction. Introduction to C Programming

Contents. Preface. Introduction. Introduction to C Programming c11fptoc.fm Page vii Saturday, March 23, 2013 4:15 PM Preface xv 1 Introduction 1 1.1 1.2 1.3 1.4 1.5 Introduction The C Programming Language C Standard Library C++ and Other C-Based Languages Typical

More information

CS201 - Introduction to Programming Glossary By

CS201 - Introduction to Programming Glossary By CS201 - Introduction to Programming Glossary By #include : The #include directive instructs the preprocessor to read and include a file into a source code file. The file name is typically enclosed with

More information

Table of Contents Preface Bare Necessities... 17

Table of Contents Preface Bare Necessities... 17 Table of Contents Preface... 13 What this book is about?... 13 Who is this book for?... 14 What to read next?... 14 Personages... 14 Style conventions... 15 More information... 15 Bare Necessities... 17

More information

SOME ASSEMBLY REQUIRED

SOME ASSEMBLY REQUIRED SOME ASSEMBLY REQUIRED Assembly Language Programming with the AVR Microcontroller TIMOTHY S. MARGUSH CRC Press Taylor & Francis Group CRC Press is an imprint of the Taylor & Francis Croup an Informa business

More information

Welcome to Teach Yourself Acknowledgments Fundamental C++ Programming p. 2 An Introduction to C++ p. 4 A Brief History of C++ p.

Welcome to Teach Yourself Acknowledgments Fundamental C++ Programming p. 2 An Introduction to C++ p. 4 A Brief History of C++ p. Welcome to Teach Yourself p. viii Acknowledgments p. xv Fundamental C++ Programming p. 2 An Introduction to C++ p. 4 A Brief History of C++ p. 6 Standard C++: A Programming Language and a Library p. 8

More information

C# Programming: From Problem Analysis to Program Design. Fourth Edition

C# Programming: From Problem Analysis to Program Design. Fourth Edition C# Programming: From Problem Analysis to Program Design Fourth Edition Preface xxi INTRODUCTION TO COMPUTING AND PROGRAMMING 1 History of Computers 2 System and Application Software 4 System Software 4

More information

Programming Fundamentals - A Modular Structured Approach using C++ By: Kenneth Leroy Busbee

Programming Fundamentals - A Modular Structured Approach using C++ By: Kenneth Leroy Busbee 1 0 1 0 Foundation Topics 1 0 Chapter 1 - Introduction to Programming 1 1 Systems Development Life Cycle N/A N/A N/A N/A N/A N/A 1-8 12-13 1 2 Bloodshed Dev-C++ 5 Compiler/IDE N/A N/A N/A N/A N/A N/A N/A

More information

Introduction to Programming Using Java (98-388)

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

Review of the C Programming Language

Review of the C Programming Language Review of the C Programming Language Prof. James L. Frankel Harvard University Version of 11:55 AM 22-Apr-2018 Copyright 2018, 2016, 2015 James L. Frankel. All rights reserved. Reference Manual for the

More information

Object-Oriented Programming in C# (VS 2015)

Object-Oriented Programming in C# (VS 2015) Object-Oriented Programming in C# (VS 2015) This thorough and comprehensive 5-day course is a practical introduction to programming in C#, utilizing the services provided by.net. This course emphasizes

More information

https://asd-pa.perfplusk12.com/admin/admin_curric_maps_display.aspx?m=5507&c=618&mo=18917&t=191&sy=2012&bl...

https://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 information

Contents. 1 Introduction to Computers, the Internet and the World Wide Web 1. 2 Introduction to C Programming 26

Contents. 1 Introduction to Computers, the Internet and the World Wide Web 1. 2 Introduction to C Programming 26 Preface xix 1 Introduction to Computers, the Internet and the World Wide Web 1 1.1 Introduction 2 1.2 What Is a Computer? 4 1.3 Computer Organization 4 1.4 Evolution of Operating Systems 5 1.5 Personal,

More information

Detailed Contents Welcome And Thank You!... vii Target Audience... vii Approach(es)... vii Pedagogy I Mean, How This Book s Arranged...

Detailed Contents Welcome And Thank You!... vii Target Audience... vii Approach(es)... vii Pedagogy I Mean, How This Book s Arranged... Preface Welcome And Thank You!... vii Target Audience... vii Approach(es)... vii Pedagogy I Mean, How This Book s Arranged... viii Learning Objectives... viii Introduction... viii Content... viii Quick

More information

Object-Oriented Programming in C# (VS 2012)

Object-Oriented Programming in C# (VS 2012) Object-Oriented Programming in C# (VS 2012) This thorough and comprehensive course is a practical introduction to programming in C#, utilizing the services provided by.net. This course emphasizes the C#

More information

Review of the C Programming Language for Principles of Operating Systems

Review of the C Programming Language for Principles of Operating Systems Review of the C Programming Language for Principles of Operating Systems Prof. James L. Frankel Harvard University Version of 7:26 PM 4-Sep-2018 Copyright 2018, 2016, 2015 James L. Frankel. All rights

More information

Java Fundamentals p. 1 The Origins of Java p. 2 How Java Relates to C and C++ p. 3 How Java Relates to C# p. 4 Java's Contribution to the Internet p.

Java Fundamentals p. 1 The Origins of Java p. 2 How Java Relates to C and C++ p. 3 How Java Relates to C# p. 4 Java's Contribution to the Internet p. Preface p. xix Java Fundamentals p. 1 The Origins of Java p. 2 How Java Relates to C and C++ p. 3 How Java Relates to C# p. 4 Java's Contribution to the Internet p. 5 Java Applets and Applications p. 5

More information

KLiC C++ Programming. (KLiC Certificate in C++ Programming)

KLiC C++ Programming. (KLiC Certificate in C++ Programming) KLiC C++ Programming (KLiC Certificate in C++ Programming) Turbo C Skills: Pre-requisite Knowledge and Skills, Inspire with C Programming, Checklist for Installation, The Programming Languages, The main

More information

Computer Science 306 Study Guide

Computer Science 306 Study Guide Computer Science 306 Study Guide C++ for Programmers Computer Science 306 Study Guide (Print Version) Copyright and Credits - Unit 0 - Introduction to C++ for Programmers Section 1 - The programming environment

More information

QUIZ. How could we disable the automatic creation of copyconstructors

QUIZ. How could we disable the automatic creation of copyconstructors QUIZ How could we disable the automatic creation of copyconstructors pre-c++11? What syntax feature did C++11 introduce to make the disabling clearer and more permanent? Give a code example. Ch. 14: Inheritance

More information

Course Text. Course Description. Course Objectives. StraighterLine Introduction to Programming in C++

Course Text. Course Description. Course Objectives. StraighterLine Introduction to Programming in C++ Introduction to Programming in C++ Course Text Programming in C++, Zyante, Fall 2013 edition. Course book provided along with the course. Course Description This course introduces programming in C++ and

More information

Interview Questions of C++

Interview Questions of C++ Interview Questions of C++ Q-1 What is the full form of OOPS? Ans: Object Oriented Programming System. Q-2 What is a class? Ans: Class is a blue print which reflects the entities attributes and actions.

More information

QUIZ. How could we disable the automatic creation of copyconstructors

QUIZ. How could we disable the automatic creation of copyconstructors QUIZ How could we disable the automatic creation of copyconstructors pre-c++11? What syntax feature did C++11 introduce to make the disabling clearer and more permanent? Give a code example. QUIZ How

More information

Contents. 2 Introduction to C++ Programming,

Contents. 2 Introduction to C++ Programming, cppfp2_toc.fm Page vii Thursday, February 14, 2013 9:33 AM Chapter 24 and Appendices F K are PDF documents posted online at www.informit.com/title/9780133439854 Preface xix 1 Introduction 1 1.1 Introduction

More information

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR 603203 DEPARTMENT OF COMPUTER SCIENCE & APPLICATIONS QUESTION BANK (2017-2018) Course / Branch : M.Sc CST Semester / Year : EVEN / II Subject Name

More information

Introduction to Programming using C++

Introduction to Programming using C++ Introduction to Programming using C++ Lecture One: Getting Started Carl Gwilliam gwilliam@hep.ph.liv.ac.uk http://hep.ph.liv.ac.uk/~gwilliam/cppcourse Course Prerequisites What you should already know

More information

Detailed Contents. Part I: The C# Student Survival Guide

Detailed Contents. Part I: The C# Student Survival Guide Preface To The Second Edition Welcome To The Second Edition... xxxv Improvements To This Edition... xxxv Where To Send Comments And Suggestions... xxxvi Acknowledgments... xxxvi Preface To The First Edition

More information

About Codefrux While the current trends around the world are based on the internet, mobile and its applications, we try to make the most out of it. As for us, we are a well established IT professionals

More information

About Codefrux While the current trends around the world are based on the internet, mobile and its applications, we try to make the most out of it. As for us, we are a well established IT professionals

More information

Microsoft Visual C# Step by Step. John Sharp

Microsoft Visual C# Step by Step. John Sharp Microsoft Visual C# 2013 Step by Step John Sharp Introduction xix PART I INTRODUCING MICROSOFT VISUAL C# AND MICROSOFT VISUAL STUDIO 2013 Chapter 1 Welcome to C# 3 Beginning programming with the Visual

More information

Microsoft. Microsoft Visual C# Step by Step. John Sharp

Microsoft. Microsoft Visual C# Step by Step. John Sharp Microsoft Microsoft Visual C#- 2010 Step by Step John Sharp Table of Contents Acknowledgments Introduction xvii xix Part I Introducing Microsoft Visual C# and Microsoft Visual Studio 2010 1 Welcome to

More information

Writing an ANSI C Program Getting Ready to Program A First Program Variables, Expressions, and Assignments Initialization The Use of #define and

Writing an ANSI C Program Getting Ready to Program A First Program Variables, Expressions, and Assignments Initialization The Use of #define and Writing an ANSI C Program Getting Ready to Program A First Program Variables, Expressions, and Assignments Initialization The Use of #define and #include The Use of printf() and scanf() The Use of printf()

More information

OBJECT ORIENTED PROGRAMMING

OBJECT ORIENTED PROGRAMMING OBJECT ORIENTED PROGRAMMING LAB 1 REVIEW THE STRUCTURE OF A C/C++ PROGRAM. TESTING PROGRAMMING SKILLS. COMPARISON BETWEEN PROCEDURAL PROGRAMMING AND OBJECT ORIENTED PROGRAMMING Course basics The Object

More information

C Programming. Course Outline. C Programming. Code: MBD101. Duration: 10 Hours. Prerequisites:

C Programming. Course Outline. C Programming. Code: MBD101. Duration: 10 Hours. Prerequisites: C Programming Code: MBD101 Duration: 10 Hours Prerequisites: You are a computer science Professional/ graduate student You can execute Linux/UNIX commands You know how to use a text-editing tool You should

More information

Curriculum Map Grade(s): Subject: AP Computer Science

Curriculum Map Grade(s): Subject: AP Computer Science Curriculum Map Grade(s): 11-12 Subject: AP Computer Science (Semester 1 - Weeks 1-18) Unit / Weeks Content Skills Assessments Standards Lesson 1 - Background Chapter 1 of Textbook (Weeks 1-3) - 1.1 History

More information

The Design Process. General Development Issues. C/C++ and OO Rules of Thumb. Home

The Design Process. General Development Issues. C/C++ and OO Rules of Thumb. Home A l l e n I. H o l u b & A s s o c i a t e s Home C/C++ and OO Rules of Thumb The following list is essentially the table of contents for my book Enough Rope to Shoot Yourself in the Foot (McGraw-Hill,

More information

https://asd-pa.perfplusk12.com/admin/admin_curric_maps_display.asp...

https://asd-pa.perfplusk12.com/admin/admin_curric_maps_display.asp... 1 of 8 8/27/2014 2:15 PM Units: Teacher: ProgIIIAPCompSci, CORE Course: ProgIIIAPCompSci Year: 2012-13 Computer Systems This unit provides an introduction to the field of computer science, and covers the

More information

"Charting the Course... Agile Database Design Techniques Course Summary

Charting the Course... Agile Database Design Techniques Course Summary Course Summary Description This course provides students with the skills necessary to design databases using Agile design techniques. It is based on the Scott Ambler book Agile Database Techniques: Effective

More information

Cpt S 122 Data Structures. Introduction to C++ Part II

Cpt S 122 Data Structures. Introduction to C++ Part II Cpt S 122 Data Structures Introduction to C++ Part II Nirmalya Roy School of Electrical Engineering and Computer Science Washington State University Topics Objectives Defining class with a member function

More information

[CHAPTER] 1 INTRODUCTION 1

[CHAPTER] 1 INTRODUCTION 1 FM_TOC C7817 47493 1/28/11 9:29 AM Page iii Table of Contents [CHAPTER] 1 INTRODUCTION 1 1.1 Two Fundamental Ideas of Computer Science: Algorithms and Information Processing...2 1.1.1 Algorithms...2 1.1.2

More information

6.096 Introduction to C++ January (IAP) 2009

6.096 Introduction to C++ January (IAP) 2009 MIT OpenCourseWare http://ocw.mit.edu 6.096 Introduction to C++ January (IAP) 2009 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. Welcome to 6.096 Lecture

More information

CERTIFICATE IN WEB PROGRAMMING

CERTIFICATE IN WEB PROGRAMMING COURSE DURATION: 6 MONTHS CONTENTS : CERTIFICATE IN WEB PROGRAMMING 1. PROGRAMMING IN C and C++ Language 2. HTML/CSS and JavaScript 3. PHP and MySQL 4. Project on Development of Web Application 1. PROGRAMMING

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecturer: Raman Ramsin Lecture 15: Object-Oriented Principles 1 Open Closed Principle (OCP) Classes should be open for extension but closed for modification. OCP states that we should

More information

Borland 105, 278, 361, 1135 Bounded array Branch instruction 7 break statement 170 BTree 873 Building a project 117 Built in data types 126

Borland 105, 278, 361, 1135 Bounded array Branch instruction 7 break statement 170 BTree 873 Building a project 117 Built in data types 126 INDEX = (assignment operator) 130, 816 = 0 (as function definition) 827 == (equality test operator) 146! (logical NOT operator) 159!= (inequality test operator) 146 #define 140, 158 #include 100, 112,

More information

THINK LIKE CREATIVE PROBLEM SOLVING V. ANTON SPRAUL

THINK LIKE CREATIVE PROBLEM SOLVING V. ANTON SPRAUL THINK LIKE A PROGRAMMERA A N I N T R O D U C T I O N T O CREATIVE PROBLEM SOLVING V. ANTON SPRAUL CODE EAT SLEEP INDEX Numbers and Symbols && operator (logical and), 48 short-circuit evaluation of, 129,

More information

Index COPYRIGHTED MATERIAL

Index COPYRIGHTED MATERIAL Index COPYRIGHTED MATERIAL Note to the Reader: Throughout this index boldfaced page numbers indicate primary discussions of a topic. Italicized page numbers indicate illustrations. A abstract classes

More information

COMP322 - Introduction to C++ Lecture 02 - Basics of C++

COMP322 - Introduction to C++ Lecture 02 - Basics of C++ COMP322 - Introduction to C++ Lecture 02 - Basics of C++ School of Computer Science 16 January 2012 C++ basics - Arithmetic operators Where possible, C++ will automatically convert among the basic types.

More information

CS201 Some Important Definitions

CS201 Some Important Definitions CS201 Some Important Definitions For Viva Preparation 1. What is a program? A program is a precise sequence of steps to solve a particular problem. 2. What is a class? We write a C++ program using data

More information

PROBLEM SOLVING WITH FORTRAN 90

PROBLEM SOLVING WITH FORTRAN 90 David R. Brooks PROBLEM SOLVING WITH FORTRAN 90 FOR SCIENTISTS AND ENGINEERS Springer Contents Preface v 1.1 Overview for Instructors v 1.1.1 The Case for Fortran 90 vi 1.1.2 Structure of the Text vii

More information

Operators. Java operators are classified into three categories:

Operators. Java operators are classified into three categories: Operators Operators are symbols that perform arithmetic and logical operations on operands and provide a meaningful result. Operands are data values (variables or constants) which are involved in operations.

More information

Beginning Perl. Third Edition. Apress. JAMES LEE with SIMON COZENS

Beginning Perl. Third Edition. Apress. JAMES LEE with SIMON COZENS Beginning Perl Third Edition JAMES LEE with SIMON COZENS Apress About the Author... About the Technical Reviewers Acknowledgements Suitrod yetion «. xvi xvii xviii «xix. Chapter 1: First Steps in Perl..

More information

Ch. 12: Operator Overloading

Ch. 12: Operator Overloading Ch. 12: Operator Overloading Operator overloading is just syntactic sugar, i.e. another way to make a function call: shift_left(42, 3); 42

More information

The Waite Group's. New. Primer Plus. Second Edition. Mitchell Waite and Stephen Prata SAMS

The Waite Group's. New. Primer Plus. Second Edition. Mitchell Waite and Stephen Prata SAMS The Waite Group's New Primer Plus Second Edition Mitchell Waite and Stephen Prata SAMS PUBLISHING A Division of Prentice Hall Computer Publishing 11711 North College, Carmel, Indiana 46032 USA Contents

More information

Paytm Programming Sample paper: 1) A copy constructor is called. a. when an object is returned by value

Paytm Programming Sample paper: 1) A copy constructor is called. a. when an object is returned by value Paytm Programming Sample paper: 1) A copy constructor is called a. when an object is returned by value b. when an object is passed by value as an argument c. when compiler generates a temporary object

More information

Fast Introduction to Object Oriented Programming and C++

Fast Introduction to Object Oriented Programming and C++ Fast Introduction to Object Oriented Programming and C++ Daniel G. Aliaga Note: a compilation of slides from Jacques de Wet, Ohio State University, Chad Willwerth, and Daniel Aliaga. Outline Programming

More information

Introduction to C++ with content from

Introduction to C++ with content from Introduction to C++ with content from www.cplusplus.com 2 Introduction C++ widely-used general-purpose programming language procedural and object-oriented support strong support created by Bjarne Stroustrup

More information

Chapter 4 Defining Classes I

Chapter 4 Defining Classes I Chapter 4 Defining Classes I This chapter introduces the idea that students can create their own classes and therefore their own objects. Introduced is the idea of methods and instance variables as the

More information

SRE VIDYASAAGAR HIGHER SECONDARY SCHOOL. TWO MARKS

SRE VIDYASAAGAR HIGHER SECONDARY SCHOOL. TWO MARKS SRE VIDYASAAGAR HIGHER SECONDARY SCHOOL. COMPUTER SCIENCE - STAR OFFICE TWO MARKS LESSON I 1. What is meant by text editing? 2. How to work with multiple documents in StarOffice Writer? 3. What is the

More information

ощ 'ршорвшэш! цвн-эориэу ощ 'sajbpossv # PIPG DUJ 'ssjmoossv ^ PIPG pipa w н OX ЛЮН VAV

ощ 'ршорвшэш! цвн-эориэу ощ 'sajbpossv # PIPG DUJ 'ssjmoossv ^ PIPG pipa w н OX ЛЮН VAV ощ 'ршорвшэш! цвн-эориэу ощ 'sajbpossv # PIPG DUJ 'ssjmoossv ^ PIPG pipa w н OX ЛЮН VAV Contents Preface Chapter 1 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19

More information

C Programming SYLLABUS COVERAGE SYLLABUS IN DETAILS

C Programming SYLLABUS COVERAGE SYLLABUS IN DETAILS C Programming C SYLLABUS COVERAGE Introduction to Programming Fundamentals in C Operators and Expressions Data types Input-Output Library Functions Control statements Function Storage class Pointer Pointer

More information

C Programming for Electronic Engineers

C Programming for Electronic Engineers C Programming for Electronic Engineers Keith Jackson BSc CEng MIEE with acknowledgement to Gavin Eamshaw MEng School of Electronic, Communication and Electrical Engineering University of Plymouth MACMILLAN

More information

JAVA CONCEPTS Early Objects

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

An Object Oriented Programming with C

An Object Oriented Programming with C An Object Oriented Programming with C By Tanmay Kasbe Dr. Ravi Singh Pippal IDEA PUBLISHING WWW.ideapublishing.in i Publishing-in-support-of, IDEA PUBLISHING Block- 9b, Transit Flats, Hudco Place Extension

More information

Tokens, Expressions and Control Structures

Tokens, Expressions and Control Structures 3 Tokens, Expressions and Control Structures Tokens Keywords Identifiers Data types User-defined types Derived types Symbolic constants Declaration of variables Initialization Reference variables Type

More information

This course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery.

This course is designed for web developers that want to learn HTML5, CSS3, JavaScript and jquery. HTML5/CSS3/JavaScript Programming Course Summary Description This class is designed for students that have experience with basic HTML concepts that wish to learn about HTML Version 5, Cascading Style Sheets

More information

Practical C Programming. Steve Oualline

Practical C Programming. Steve Oualline Practical C Programming Steve Oualline Preface Scope of This Handbook Conventions Used in This Handbook Acknowledgments xviii xix xx i xxii Chapter 1 The Basics of Program Writing 1 Text Editor 2 Compiler

More information

CS260 Intro to Java & Android 03.Java Language Basics

CS260 Intro to Java & Android 03.Java Language Basics 03.Java Language Basics http://www.tutorialspoint.com/java/index.htm CS260 - Intro to Java & Android 1 What is the distinction between fields and variables? Java has the following kinds of variables: Instance

More information

2 nd Week Lecture Notes

2 nd Week Lecture Notes 2 nd Week Lecture Notes Scope of variables All the variables that we intend to use in a program must have been declared with its type specifier in an earlier point in the code, like we did in the previous

More information

Syllabus of C++ Software for Hands-on Learning: This course offers the following modules: Module 1: Getting Started with C++ Programming

Syllabus of C++ Software for Hands-on Learning: This course offers the following modules: Module 1: Getting Started with C++ Programming Syllabus of C++ Software for Hands-on Learning: Borland C++ 4.5 Turbo C ++ V 3.0 This course offers the following modules: Module 1: Getting Started with C++ Programming Audience for this Course Job Roles

More information

Introduction to Visual Basic and Visual C++ Introduction to Java. JDK Editions. Overview. Lesson 13. Overview

Introduction to Visual Basic and Visual C++ Introduction to Java. JDK Editions. Overview. Lesson 13. Overview Introduction to Visual Basic and Visual C++ Introduction to Java Lesson 13 Overview I154-1-A A @ Peter Lo 2010 1 I154-1-A A @ Peter Lo 2010 2 Overview JDK Editions Before you can write and run the simple

More information

Chapter 2 Basic Elements of C++

Chapter 2 Basic Elements of C++ C++ Programming: From Problem Analysis to Program Design, Fifth Edition 2-1 Chapter 2 Basic Elements of C++ At a Glance Instructor s Manual Table of Contents Overview Objectives s Quick Quizzes Class Discussion

More information

ENGINEERING PROBLEM SOLVING WITH C++

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

Introduction to C++ Introduction. Structure of a C++ Program. Structure of a C++ Program. C++ widely-used general-purpose programming language

Introduction to C++ Introduction. Structure of a C++ Program. Structure of a C++ Program. C++ widely-used general-purpose programming language Introduction C++ widely-used general-purpose programming language procedural and object-oriented support strong support created by Bjarne Stroustrup starting in 1979 based on C Introduction to C++ also

More information

Appendices E through H are PDF documents posted online at the book s Companion Website (located at

Appendices E through H are PDF documents posted online at the book s Companion Website (located at chtp7_printonlytoc.fm Page vii Monday, January 23, 2012 1:30 PM Appendices E through H are PDF documents posted online at the book s Companion Website (located at www.pearsonhighered.com/deitel). Preface

More information

UNIT- 3 Introduction to C++

UNIT- 3 Introduction to C++ UNIT- 3 Introduction to C++ C++ Character Sets: Letters A-Z, a-z Digits 0-9 Special Symbols Space + - * / ^ \ ( ) [ ] =!= . $, ; : %! &? _ # = @ White Spaces Blank spaces, horizontal tab, carriage

More information

CS304 Object Oriented Programming Final Term

CS304 Object Oriented Programming Final Term 1. Which of the following is the way to extract common behaviour and attributes from the given classes and make a separate class of those common behaviours and attributes? Generalization (pg 29) Sub-typing

More information

Java Primer 1: Types, Classes and Operators

Java Primer 1: Types, Classes and Operators Java Primer 1 3/18/14 Presentation for use with the textbook Data Structures and Algorithms in Java, 6th edition, by M. T. Goodrich, R. Tamassia, and M. H. Goldwasser, Wiley, 2014 Java Primer 1: Types,

More information

C++ Modern and Lucid C++ for Professional Programmers

C++ Modern and Lucid C++ for Professional Programmers Informatik C++ Modern and Lucid C++ for Professional Programmers part 13 Prof. Peter Sommerlad Institutsleiter IFS Institute for Software Rapperswil, HS 2015 Inheritance and dynamic Polymorphism base classes,

More information

Axivion Bauhaus Suite Technical Factsheet MISRA

Axivion Bauhaus Suite Technical Factsheet MISRA MISRA Contents 1. C... 2 1. Misra C 2004... 2 2. Misra C 2012 (including Amendment 1). 10 3. Misra C 2012 Directives... 18 2. C++... 19 4. Misra C++ 2008... 19 1 / 31 1. C 1. Misra C 2004 MISRA Rule Severity

More information

Appendix. Grammar. A.1 Introduction. A.2 Keywords. There is no worse danger for a teacher than to teach words instead of things.

Appendix. Grammar. A.1 Introduction. A.2 Keywords. There is no worse danger for a teacher than to teach words instead of things. A Appendix Grammar There is no worse danger for a teacher than to teach words instead of things. Marc Block Introduction keywords lexical conventions programs expressions statements declarations declarators

More information

Chapter 3: Operators, Expressions and Type Conversion

Chapter 3: Operators, Expressions and Type Conversion 101 Chapter 3 Operators, Expressions and Type Conversion Chapter 3: Operators, Expressions and Type Conversion Objectives To use basic arithmetic operators. To use increment and decrement operators. To

More information

5/23/2015. Core Java Syllabus. VikRam ShaRma

5/23/2015. Core Java Syllabus. VikRam ShaRma 5/23/2015 Core Java Syllabus VikRam ShaRma Basic Concepts of Core Java 1 Introduction to Java 1.1 Need of java i.e. History 1.2 What is java? 1.3 Java Buzzwords 1.4 JDK JRE JVM JIT - Java Compiler 1.5

More information

CHAPTER 1: INTRODUCING C# 3

CHAPTER 1: INTRODUCING C# 3 INTRODUCTION xix PART I: THE OOP LANGUAGE CHAPTER 1: INTRODUCING C# 3 What Is the.net Framework? 4 What s in the.net Framework? 4 Writing Applications Using the.net Framework 5 What Is C#? 8 Applications

More information

I BSc(IT) [ Batch] Semester II Core: Object Oriented Programming With C plus plus - 212A Multiple Choice Questions.

I BSc(IT) [ Batch] Semester II Core: Object Oriented Programming With C plus plus - 212A Multiple Choice Questions. Dr.G.R.Damodaran College of Science (Autonomous, affiliated to the Bharathiar University, recognized by the UGC)Reaccredited at the 'A' Grade Level by the NAAC and ISO 9001:2008 Certified CRISL rated 'A'

More information

"Charting the Course... Java Programming Language. Course Summary

Charting the Course... Java Programming Language. Course Summary Course Summary Description This course emphasizes becoming productive quickly as a Java application developer. This course quickly covers the Java language syntax and then moves into the object-oriented

More information