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

Size: px
Start display at page:

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

Transcription

1 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 Welcome And Thank You!... xxxvii Target Audience... xxxvii Approach(es)... xxxvii Pedagogy I Mean, How This Book s Arranged... xxxviii Learning Objectives...xxxviii Introduction...xxxviii Content...xxxviii Quick Reviews...xxxviii Summary... xxxix Skill-Building Exercises... xxxix Suggested Projects... xxxix Self-Test Questions... xxxix References... xxxix Notes... xxxix Typographical Formats... xxxix This Is An Example Of A First Level Subheading... xxxix This Is An Example Of A Second Level Subheading... xxxix Source Code Formatting...xl SupportSite Website...xl Problem Reporting...xl About The Author...xl Acknowledgments...xl Part I: The C# Student Survival Guide 1 An Approach to the Art of Programing Introduction... 4 The Difficulties You Will Encounter Learning C#... 4 Required Skills... 4 The Planets Will Come Into Alignment...5 How This Chapter Will Help You...5 Personality Traits Found In Great Programmers...5 Creative...5 C# For Artists 2015 Rick Miller and Pulp Free Press All Rights Reserved i

2 Tenacious...5 Resilient...6 Methodical...6 Meticulous...6 Honest...6 Proactive...6 Humble...6 Be a Generalist and a Just-in-Time Specialist...6 Project Management...7 Three Software Development Roles...7 Analyst...7 Architect...7 Programmer...8 A Project-Approach Strategy...8 You Have Been Handed A Project Now What?...8 Strategy Areas of Concern...8 Think Abstractly...10 The Strategy In A Nutshell...10 Applicability To The Real World The Art Of Programming Don t Start At The Computer Inspiration Strikes At The Weirdest Time Own Your Own Computer You Either Have Time and No Money, or Money and No Time The Family Computer Is Not Going To Cut It! Set The Mood Location, Location, Location Concept Of The Flow The Stages of Flow...13 Be Extreme...13 The Programming Cycle...14 The Programming Cycle Summarized...14 A Helpful Trick: Stubbing...15 Fix The First Compiler Error First...15 Managing Project Complexity...15 Conceptual Complexity...15 Managing Conceptual Complexity The Unified Modeling Language (UML) Physical Complexity Managing Physical Complexity The Relationship Between Physical and Conceptual Complexity Maximize Cohesion Minimize Coupling The Engineer s Notebook Summary...18 Skill-Building Exercises...19 Suggested Projects...19 Self-Test Questions...19 References...20 Notes Small Victories: Creating C# Projects Introduction Creating Projects With Microsoft C#.NET Command-Line Tools ii 2015 Rick Miller and Pulp Free Press All Rights Reserved C# For Artists

3 Downloading And Installing The.NET Framework...23 Downloading And Installing Notepad Configuring Your Development Environment Environment Variables Creating A Project Folder Setting Folder Options Creating A Shortcut To The Command Console And Setting Its Properties Testing The Configuration...31 Creating The Source File...31 Compiling The Source File...32 Executing The Application...33 Quick Review Creating Projects With Microsoft Visual C# Express Download and Install Visual C# Express...36 Quick Tour Of Visual C# Express...36 Select Project Type...36 Saving The Project...38 Build The Project...38 Locating The Project Executable File Execute The Project...41 Where To Go For More Information About Visual C# Express...41 DreamSpark...42 Quick Review...42 Summary Skill-Building Exercises Suggested Projects Self-Test Questions References...44 Notes Project Walkthrough Introduction The Project-Approach Strategy Summarized Development Cycle Project Specification Analyzing The Project Specification...49 Application Requirements Strategy Area...50 Problem-Domain Strategy Area...50 Language-Features Strategy Area...53 Design Strategy Area...55 Development Cycle: First Iteration Plan (First Iteration)...56 Code (First Iteration)...57 Test (First Iteration)...57 Integrate/Test (First Iteration)...57 Development Cycle: Second Iteration Plan (Second Iteration)...58 Code (Second Iteration)...58 Test (Second Iteration)...59 Integrate/Test (Second Iteration)...59 Development Cycle: Third Iteration Plan (Third Iteration)...60 Code (Third Iteration) C# For Artists 2015 Rick Miller and Pulp Free Press All Rights Reserved iii

4 Integrate/Test (Third Iteration)...63 A Bug In The Program...63 Development Cycle: Fourth Iteration Plan (Fourth Iteration)...65 Implementing State Transition Diagrams Implementing The PrintFloor() Method...67 Code (Fourth Iteration)...67 Putting It All Together Test (Fourth Iteration) Integrate/Test (Fourth Iteration) Development Cycle: Fifth Iteration Plan (Fifth Iteration) Code (Fifth Iteration)...73 Test (Fifth Iteration)...75 Putting It All Together...75 Integrate/Test (Fifth Iteration) Final Considerations Complete RobotRat.cs Source Code Listing...80 An Alternative Main() Method Implementation Summary Skill-Building Exercises Suggested Projects Self-Test Questions References Notes Computers, Programs, And Algorithms Introduction What Is A Computer? Computer vs. Computer System Computer System Processor Three Aspects of Processor Architecture...95 Feature Set Feature Set Implementation Feature Set Accessibility Memory Organization Memory Basics Memory Hierarchy Bits, Bytes, Words Alignment and Addressability What Is A Program? Two Views of a Program The Human Perspective The Computer Perspective The Processing Cycle Fetch Decode Execute Store Why A Program Crashes Algorithms Good vs. Bad Algorithms iv 2015 Rick Miller and Pulp Free Press All Rights Reserved C# For Artists

5 Don t Reinvent The Wheel! Virtual Machines And The Common Language Infrastructure Virtual Machines The Common Language Infrastructure (CLI) Four Parts Of The Common Language Infrastructure The Cross Platform Promise Summary Skill-Building Exercises Suggested Projects Self-Test Questions References Notes Navigating.NET Framework Documentation Introduction MSDN: The Definitive Source For API Information Discovering Information About Classes General Overview Page Class Member Documentation Getting Information On Other Class Members Quick Review Namespaces Used Heavily In This Book Navigating An Inheritance Hierarchy Quick Review Beware Obsolete APIs Summary Skill-Building Exercises Suggested Projects Self-Test Questions References Notes Part II: Language Fundamentals 6 Simple C# Programs Introduction What Is A C# Program? A Simple Console Application Definition Of Terms: Application, Assembly, Module, and Entry Point Structure Of A Simple Application Purpose Of The Main() Method Main() Method Signatures Quick Review Identifiers And Reserved Keywords Identifier Naming Rules Quick Review Types Value Type Variables vs. Reference Type Variables C# For Artists 2015 Rick Miller and Pulp Free Press All Rights Reserved v

6 Value Type Variables Reference Type Variables Maybe Some Pictures Will Help Mapping Predefined Types To System Structures Quick Review Statements, Expressions, and Operators Statement Types Operators And Their Use Operator Precedence and Associativity Forcing Operator Precedence and Associativity Order With Parentheses Operators and Operands Operator Usage Examples Primary Expression Operators Unary Expression Operators Multiplicative Expression Operators Additive Expression Operators Shift Expression Operators Relational, Type-Testing, and Equality Expression Operators Logical AND, OR, and XOR Expression Operators Conditional AND and OR Expression Operators Conditional (Ternary) Expression Operator Assignment Expression Operators Quick Review Summary Skill-Building Exercises Suggested Projects Self-Test Questions References Notes Controlling The Flow Of Program Execution Introduction Selection Statements If Statement Handling Program Error Conditions Executing Code Blocks In If Statements Executing Consecutive If Statements If/Else Statement Chained If/Else Statements Switch Statement Implicit Case Fall-Through Nested Switch Statement Quick Review Iteration Statements While Statement Personality Of The While Statement Do/While Statement Personality Of The Do/While Statement For Statement How The For Statement Is Related To The While Statement Personality Of The For Statement Nesting Iteration Statements Mixing Selection And Iteration Statements: A Powerful Combination Quick Review vi 2015 Rick Miller and Pulp Free Press All Rights Reserved C# For Artists

7 Break, Continue, And Goto Break Statement Continue Statement Goto Statement Quick Review Selection And Iteration Statement Selection Table Summary Skill-Building Exercises Suggested Projects Self-Test Questions References Notes Arrays Introduction What Is An Array? Specifying Array Types Quick Review Functionality Provided By C# Array Types Array-Type Inheritance Hierarchy Special Properties Of C# Arrays Quick Review Creating And Using Single-Dimensional Arrays Arrays Of Value Types How Value-Type Array Objects Are Arranged In Memory Finding An Array s Type, Rank, And Total Number of Elements Creating Single-Dimensional Arrays Using Array Literal Values Differences Between Arrays Of Value Types And Arrays Of Reference Types Single-dimensional Arrays In Action Message Array Calculating Averages Histogram: Letter Frequency Counter Quick Review Creating And Using Multidimensional Arrays Rectangular Arrays Initializing Rectangular Arrays With Array Literals Ragged Arrays Multidimensional Arrays In Action Weighted Grade Tool Quick Review The Main() Method s String Array Purpose And Use Of The Main() Method s String Array Manipulating Arrays With The System.Array Class Numeric Formatting Summary Skill-Building Exercises Suggested Projects Self-Test Questions References Notes C# For Artists 2015 Rick Miller and Pulp Free Press All Rights Reserved vii

8 9 Toward Problem Abstraction: Creating New Data Types Introduction Abstraction: Amplify The Essential, Eliminate The Irrelevant Abstraction Is The Art Of Programming Where Problem Abstraction Fits Into The Development Cycle Creating Your Own Data Types Case-Study Project: Write A People Manager Program Quick Review The UML Class Diagram Quick Review Overview Of The Class Construct Eleven Categories Of Class Members Fields Constants The Difference Between const and readonly; Compile-Time vs. Runtime Constants Properties Methods Instance Constructors Static Constructors Events Operators Indexers Nested Type Declarations Finalizers Access Modifiers Public Private Protected Internal Protected Internal The Concepts Of Horizontal Access, Interface, and Encapsulation Quick Review Methods Method Naming: Use Action Words That Indicate The Method s Purpose Maximize Method Cohesion Structure Of A Method Definition Method Modifiers (optional) Return Type Or Void (optional) Method Name (mandatory) Parameter List (optional) Method Body (optional for abstract or external methods) Method Definition Examples Method Signatures Overloading Methods Constructor Methods Quick Review Building And Testing The Person Class Start By Creating The Source File And Class Definition Shell Defining Person Instance Fields Defining Person Properties And Constructor Method Adding Properties Adding A Constructor Method Testing The Person Class: A Miniature Test Plan Use The PeopleManagerApplication Class As A Test Driver Adding Features To The Person Class: Calculating Age viii 2015 Rick Miller and Pulp Free Press All Rights Reserved C# For Artists

9 Adding Features To The Person Class: Convenience Properties Adding Features To The Person Class: Finishing Touches Quick Review Building and Testing The PeopleManager Class Defining The PeopleManager Class Shell Defining PeopleManager Fields Defining PeopleManager Constructor Methods Defining Additional PeopleManager Methods Testing The PeopleManager Class Adding Features To The PeopleManager Class Quick Review More About Methods Value Parameters And Reference Parameters Value Parameters: The Default Parameter Passing Mode Reference Parameters: Using The ref Parameter Modifier The out Parameter Modifier Parameter Arrays: Using The params Modifier Local Variable Scoping Anywhere An Object Of <type> Is Required, A Method That Returns <type> Can Be Used Quick Review Structures vs. Classes Value Semantics vs. Reference Semantics Ten Authorized Members vs. Eleven Default Variable Field Values Behavior During Assignment this Behaves Differently Inheritance Not Allowed Boxing And Unboxing When To Use Structures Summary Skill-Building Exercises Suggested Projects Self-Test Questions References Notes Compositional Design Introduction Managing Conceptual And Physical Complexity Compiling Multiple Source Files Simultaneously With csc Quick Review Dependency vs. Association Aggregation Simple vs. Composite Aggregation The Relationship Between Aggregation And Object Lifetime Quick Review Expressing Aggregation In A UML Class Diagram Simple Aggregation Expressed In UML Composite Aggregation Expressed In UML Aggregation Example Code Simple Aggregation Example Composite Aggregation Example C# For Artists 2015 Rick Miller and Pulp Free Press All Rights Reserved ix

10 Quick Review Sequence Diagrams Message Passing Magic Draw Quick Review The Engine Simulation: An Extended Example The Purpose Of The Engine Class Engine Class Attributes And Methods Engine Simulation Sequence Diagrams Running The Engine Simulation Program Quick Review Complete Engine Simulation Code Listing Summary Skill-Building Exercises Suggested Projects Self-Test Questions References Notes Inheritance and Interfaces Introduction Three Purposes Of Inheritance Implementing The is a Relationship The Relationship Between The Terms Type, Interface, and Class Meaning Of The Term Interface Meaning Of The Term Class Quick Review Expressing Generalization And Specialization In The UML A Simple Inheritance Example The UML Diagram BaseClass Source Code DerivedClass Source Code DriverApplication Program Quick Review Another Inheritance Example: Person - Student The Person - Student UML Class Diagram Person - Student Source Code Casting Use Casting Sparingly Quick Review Overriding Base Class Methods Quick Review Abstract Methods and Abstract Base Classes The Primary Purpose Of An Abstract Base Class Expressing Abstract Base Classes In UML Abstract Class Example Quick Review Interfaces The Purpose Of Interfaces Authorized Interface Members The Differences Between An Interface And An Abstract Class Expressing Interfaces In UML x 2015 Rick Miller and Pulp Free Press All Rights Reserved C# For Artists

11 Expressing Realization In A UML Class Diagram An Interface Example Quick Review Controlling Horizontal And Vertical Access Quick Review Sealed Classes And Methods Quick Review Polymorphic Behavior Quick Review Inheritance Example: Employee Inheritance Example: Engine Simulation Engine Simulation UML Diagram Simulation Operational Description Compiling The Engine Simulation Code Complete Engine Simulation Code Listing Summary Skill-Building Exercises Suggested Projects Self-Test Questions References Notes Part III: GUI Programming & Custom Events 12 Windows Forms Programming Introduction The Form Class Form Class Inheritance Hierarchy A Simple Form Program Quick Review Application Messages, Message Pump, Events, And Event Loop Message Categories Messages In Action: Trapping Messages With IMessageFilter Final Thoughts On Messages Quick Review Screen And Window (Client) Coordinate System Quick Review Manipulating Form Properties Quick Review Adding Components To Windows: Button, TextBox, And Label Quick Review Registering Event Handlers With GUI Components Delegates And Events Quick Review Handling GUI Component Events In Separate Objects Quick Review Layout Managers FlowLayoutPanel TableLayoutPanel C# For Artists 2015 Rick Miller and Pulp Free Press All Rights Reserved xi

12 Quick Review Menus Quick Review A Little More About TextBoxes Quick Review The Rhythm Of Coding GUIs Summary Skill-Building Exercises Suggested Projects Self-Test Questions References Notes Custom Events Introduction C# Event Processing Model: An Overview Quick Review Custom Events Example: Minute Tick Custom Events Example: Automated Water Tank System Naming Conventions Final Thoughts On Extending The EventArgs Class Summary Skill-Building Exercises Suggested Projects Self-Test Questions References Notes Part IV: Intermediate Concepts 14 Collections Introduction Case Study: Building A Dynamic Array Evaluating DynamicArray The ArrayList Class To The Rescue A Quick Peek At Generics Quick Review Data Structure Performance Characteristics Array Performance Characteristics Linked List Performance Characteristics Hash Table Performance Characteristics Chained Hash Table vs. Open-Address Hash Table Red-Black Tree Performance Characteristics Stacks And Queues Quick Review Navigating The.NET Collections API System.Collections System.Collections.Generic xii 2015 Rick Miller and Pulp Free Press All Rights Reserved C# For Artists

13 System.Collections.ObjectModel System.Collections.Specialized Mapping Non-Generic To Generic Collections Quick Review Using Non-Generic Collection Classes - Pre.NET Objects In Objects Out: Casting Extending ArrayList To Create A Strongly-Typed Collection Using Generic Collection Classes.NET 2.0 and Beyond List<T>: Look Ma, No More Casting! Implementing KeyedCollection<TKey, TItem> Quick Review Special Operations On Collections Sorting A List Implementing System.IComparable<T> Extending Comparer<T> Converting A Collection Into An Array Quick Review Summary Skill-Building Exercises Suggested Projects Self-Test Questions References Notes Exceptions: Writing Fault-Tolerant Software Introduction What Is An Exception NET CLR Exception Handling Mechanism Unhandled Exceptions The Exception Information Table Quick Review Exception Class Hierarchy Application vs. Runtime Exceptions Runtime Exception Listing Determining What Exceptions A.NET Framework Method Throws Quick Review Exception Class Properties Quick Review Creating Exception Handlers: Using Try/Catch/Finally Blocks Using A Try/Catch Block First Line of Defense: Use Defensive Coding Using Multiple Catch Blocks Using A Finally Block Quick Review Creating Custom Exceptions Extending The Exception Class Manually Throwing An Exception With The throw Keyword Translating Low-Level Exceptions Into High-Level Exceptions Quick Review Documenting Exceptions Summary Skill-Building Exercises C# For Artists 2015 Rick Miller and Pulp Free Press All Rights Reserved xiii

14 Suggested Projects Self-Test Questions References Notes Multithreaded Programming Introduction Multithreading Overview: The Tale Of Two Vacations Single-Threaded Vacation Multithreaded Vacation The Relationship Between A Process And Its Threads Vacation Gone Bad Quick Review Creating Managed Threads With The Thread Class Single-Threaded Vacation Example Multithreaded Vacation Example Thread States Creating And Starting Managed Threads ThreadStart Delegate ParameterizedThreadStart Delegate: Passing Arguments To Threads Blocking A Thread With Thread.Sleep() Blocking A Thread With Thread.Join() Foreground vs. Background Threads Quick Review Creating Threads With The BackgroundWorker Class Quick Review Thread Pools Quick Review Asynchronous Method Calls Obtaining Results From An Asynchronous Method Call Providing A CallBack Method To BeginInvoke() Quick Review When To Employ The Various Thread Types Summary Skill-Building Exercises Suggested Projects Self-Test Questions References Notes File I/O Introduction Manipulating Directories And Files Files, Directories, And Paths Manipulating Directories And Files Verbatim String Literals Quick Review Serializing Objects To Disk Serializable Attribute Serializing Objects With BinaryFormatter Serializing Objects With XmlSerializer xiv 2015 Rick Miller and Pulp Free Press All Rights Reserved C# For Artists

15 Quick Review Working With Text Files Some Issues You Must Consider Saving Dog Data To A Text File Quick Review Working With Binary Data Quick Review Random Access File I/O Towards An Approach To The Adapter Project Start Small And Take Baby Steps Other Project Considerations Locking A Record For Updates And Deletes Monitor.Enter()/Monitor.Exit() vs. The lock Keyword Translating Low-Level Exceptions Into Higher-Level Exception Abstractions Where To Go From Here Complete DataFile Adapter Project Source Code Listing Quick Review Working With Log Files Quick Review Using FileDialogs Quick Review Summary Skill-Building Exercises Suggested Projects Self-Test Questions References Notes Part V: Network & Database Programming 18 Network Programming Fundamentals Introduction What Is A Computer Network? Purpose Of A Network The Role Of Network Protocols Homogeneous Vs. Heterogeneous Networks The Unifying Network Protocols: TCP/IP What s So Special About The Internet? Quick Review Servers & Clients Server Hardware And Software Client Hardware And Software Quick Review Application Distribution Physical Distribution On One Computer Running Multiple Clients On The Same Computer Addressing The Local Machine Physical Distribution Across Multiple Computers Quick Review Multilayered Applications C# For Artists 2015 Rick Miller and Pulp Free Press All Rights Reserved xv

16 Logical Application Layers Physical Tier Distribution Quick Review Internet Networking Protocols: Nuts & Bolts The Internet Protocols: TCP, UDP, And IP The Application Layer Transport layer Network Layer Data Link And Physical Layers Putting It All Together What You Need To Know Quick Review Summary Skill-Building Exercises Suggested Projects Self-Test Questions References Notes Networked Client -Server Applications Introduction Building Client-Server Applications With.NET Remoting The Three Required Components of A.NET Remoting Application A Simple.NET Remoting Application SingleCall vs. Singleton Accessing A Remote Object Via An Interface Using Configuration Files Passing Objects Between Client And Server Quick Review Client-Server Applications With TcpListener And TcpClient TCP/IP Client-Server Overview A Simple Client-Server Application Building A Multithreaded Server Listening On Multiple IP Addresses Sending Objects Between Client And Server Quick Review Summary Skill-Building Exercises Suggested Projects Self-Test Questions References Notes Database Access & Multilayered Applications Introduction What You Are Going To Build Preliminaries Installing SQL Server Express Edition Installing Microsoft SQL Server Management Studio Express Installing Microsoft Enterprise Library A Simple Test Application xvi 2015 Rick Miller and Pulp Free Press All Rights Reserved C# For Artists

17 Introduction To Relational Databases And SQL Terminology Structured Query Language (SQL) Data Definition Language (DDL) Creating The EmployeeTraining Database Creating A Database With A Script Creating Tables SQL Server Database Types Data Manipulation Language (DML) Using The Insert Command Using The Select Command Using The Update Command Using The Delete Command Quick Review Complex SQL Queries Creating A Related Table With A Foreign Key Inserting Test Data Into The tbl_employee_training Table Selecting Data From Multiple Tables Join Operations Testing The Cascade Delete Constraint Quick Review The Server Application Project Folder Organization Using Microsoft Build To Manage And Build the Project First Iteration Coding The EmployeeVO And EmployeeDAO Application Configuration File Creating Test Application Second Iteration Testing The Code - Second Iteration Reality Check Third Iteration The Client Application Third Iteration (continued) Fourth Iteration Fifth Iteration Sixth Iteration Compiling And Running The Modified EmployeeTrainingClient Project Where To Go From Here Summary Skill-Building Exercises Suggested Projects Self-Test Questions References Notes Part VI: Advanced Topics 21 Operator Overloading Introduction C# For Artists 2015 Rick Miller and Pulp Free Press All Rights Reserved xvii

18 Operator Overloading Overloadable Operators Quick Review Overloading Unary Operators , - Operators ! Operator true, false Operators , -- Operators Quick Review Overloading Binary Operators , - Operators *, / Operators &, Operators Quick Review Overloading Comparison Operators ==,!=, <, >, <=, >= Operators Quick Review Implicit And Explicit Cast Operators Implicit vs. Explicit Cast Overloaded Cast Operators Example Quick Review The Assignment Operators: Things You Get For Free Quick Review Summary Skill-Building Exercises Suggested Projects Self-Test Questions References Notes Well-Behaved Objects Introduction Object Behavior Defined Fundamental Behavior Copy/Assignment Behavior Equality Behavior Comparison/Ordering Behavior Seven Object Usage Scenarios Fundamental Behavior Object Creation Constructors Default Constructor Private Constructors Overloaded Constructors Member Accessibility Horizontal Member Access Vertical Member Access Overriding Object.ToString() Static vs. Instance Members Serialization Custom Serialization Example Quick Review Copy/Assignment Behavior Value Object vs. Reference Object Assignment xviii 2015 Rick Miller and Pulp Free Press All Rights Reserved C# For Artists

19 Rule Of Thumb Favor The Class Construct For Complex Types Shallow Copy vs. Deep Copy Copy Constructors System.ICloneable vs. Object.MemberwiseClone() Quick Review Equality Behavior Reference Equality vs. Value Equality Rules For Overriding The Object.Equals() Method Overriding The Object.GetHashCode() Method Bloch s hash Code Generation Algorithm Ashmore s Hash Code Generation Algorithm Overriding Object.Equals() and Object.GetHashCode() Methods In The PersonVO Class Quick Review Comparison/Ordering Behavior Implementing System.IComparable<T> Rules For Implementing The CompareTo(T other) Method Extending The Comparer<T> Class 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 Class Declarations Viewed As Behavior Specifications Quick Review Preconditions, Postconditions, And Class Invariants Class Invariant Precondition Postcondition An Example A Note On Using The Debug.Assert() Method To Enforce Pre- and Postconditions Using Incrementer As A Base Class Changing The Preconditions Of Derived Class Methods Changing The Postconditions Of Derived Class Methods Special Cases Of Preconditions And Postconditions Method Argument Types Method Return Types Three Rules Of The Substitution Principle Signature Rule C# For Artists 2015 Rick Miller and Pulp Free Press All Rights Reserved xix

20 Methods Rule Properties Rule Quick Review The Open-Closed Principle Achieving The Open-Closed Principle An OCP Example Quick Review The Dependency Inversion Principle Characteristics Of Bad Software Architecture Characteristics Of Good Software Architecture Selecting The Right Abstractions Takes Experience Quick Review Code Contracts Downloading And Installing Code Contracts Extensions Code Contracts Example Quick Review Terms and Definitions Summary Skill-Building Exercises Suggested Projects Self-Test Questions References Notes Inheritance, Composition, Interfaces, Polymorphism Introduction Inheritance Vs. Composition: The Great Debate What s The End Game? Flexible Application Architectures Modularity And Reliability Architectural Stability Via Managed Dependencies Knowing When To Accept A Design That s Good Enough Quick Review Inheritance-Based Design Three Good Reasons To Use Inheritance As A Means To Reason About Code Behavior To Gain A Measure Of Code Reuse To Facilitate Incremental Development Forms Of Inheritance: Meyer s Inheritance Taxonomy Coad s Inheritance Criteria Person - Employee Example Revisited Quick Review The Role Of Interfaces Reducing Or Limiting Intermodule Dependencies Modeling Dominant, Collateral, and Dynamic Roles Dominant Roles Collateral Roles Dynamic Roles Quick Review Applied Polymorphism Quick Review Composition-Based Design As A Force Multiplier Two Types Of Aggregation xx 2015 Rick Miller and Pulp Free Press All Rights Reserved C# For Artists

21 Polymorphic Containment An Extended Example Quick Review Summary Skill-Building Exercises Suggested Projects Self-Test Questions References Notes Helpful Design Patterns Introduction Software Design Patterns And How They Came To Be What Exactly Is A Software Design Pattern? Origins Pattern Specification Applying Software Design Patterns Quick Review The Singleton Pattern Quick Review The Factory Pattern The Dynamic Factory Advantages Of The Dynamic Factory Pattern Quick Review The Model-View-Controller Pattern Quick Review The Command Pattern Quick Review A Comprehensive Pattern-Based Example Complete Code Listing Com.PulpFreePress.Exceptions Com.PulpFreePress.Common Com.PulpFreePress.Utils Com.PulpFreePress.Commands Com.PulpFreePress.Model Com.PulpFreePress.View Com.PulpFreePress.Controller MSBuild Project File Running The Application Summary Skill-Building Exercises Suggested Projects Self-Test Questions References Notes Appendix A: Helpful Checklists And Tables Project-Approach Strategy Check-off List Development Cycle Final Project Review Checklist xxi 2015 Rick Miller and Pulp Free Press All Rights Reserved C# For Artists

22 Appendix B: ASCII Table ASCII Table Appendix C: Identifier Naming: Writing Self-Commenting Code Identifier Naming: Writing Self-Commenting Code Benefits of Self-Commenting Code Coding Convention Type Names (Classes, Structures, Delegates, Enumerations) Constant Names Variable Names Method Names Property Names xxii 2015 Rick Miller and Pulp Free Press All Rights Reserved C# For Artists

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

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

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

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

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

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

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

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

Detailed Contents Welcome And Thank You!...xlvii Target Audience...xlvii Approach...xlvii Arrangement...xlviii 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

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

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

"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

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

Learning C# 3.0. Jesse Liberty and Brian MacDonald O'REILLY. Beijing Cambridge Farnham Köln Sebastopol Taipei Tokyo

Learning C# 3.0. Jesse Liberty and Brian MacDonald O'REILLY. Beijing Cambridge Farnham Köln Sebastopol Taipei Tokyo Learning C# 3.0 Jesse Liberty and Brian MacDonald O'REILLY Beijing Cambridge Farnham Köln Sebastopol Taipei Tokyo Table of Contents Preface xv 1. C# and.net Programming 1 Installing C# Express 2 C# 3.0

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

COPYRIGHTED MATERIAL. Contents. Part I: C# Fundamentals 1. Chapter 1: The.NET Framework 3. Chapter 2: Getting Started with Visual Studio

COPYRIGHTED MATERIAL. Contents. Part I: C# Fundamentals 1. Chapter 1: The.NET Framework 3. Chapter 2: Getting Started with Visual Studio Introduction XXV Part I: C# Fundamentals 1 Chapter 1: The.NET Framework 3 What s the.net Framework? 3 Common Language Runtime 3.NET Framework Class Library 4 Assemblies and the Microsoft Intermediate Language

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

Introduce C# as Object Oriented programming language. Explain, tokens,

Introduce C# as Object Oriented programming language. Explain, tokens, Module 2 98 Assignment 1 Introduce C# as Object Oriented programming language. Explain, tokens, lexicals and control flow constructs. 99 The C# Family Tree C Platform Independence C++ Object Orientation

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

Murach s Beginning Java with Eclipse

Murach s Beginning Java with Eclipse Murach s Beginning Java with Eclipse Introduction xv Section 1 Get started right Chapter 1 An introduction to Java programming 3 Chapter 2 How to start writing Java code 33 Chapter 3 How to use classes

More information

Course Description. Learn To: : Intro to JAVA SE7 and Programming using JAVA SE7. Course Outline ::

Course Description. Learn To: : Intro to JAVA SE7 and Programming using JAVA SE7. Course Outline :: Module Title Duration : Intro to JAVA SE7 and Programming using JAVA SE7 : 9 days Course Description The Java SE 7 Fundamentals course was designed to enable students with little or no programming experience

More information

Detailed Contents. Java For Artists 2006 Rick Miller All Rights Reserved vii

Detailed Contents. Java For Artists 2006 Rick Miller All Rights Reserved vii Preface Welcome And Thank You!... xlv Target Audience... xlv Approach(es)... xlv Organization...xlvi Part I: The Java Student Survival Guide... xlvi Chapter 1 - An Approach To The Art Of Programming...

More information

Week. Lecture Topic day (including assignment/test) 1 st 1 st Introduction to Module 1 st. Practical

Week. Lecture Topic day (including assignment/test) 1 st 1 st Introduction to Module 1 st. Practical Name of faculty: Gaurav Gambhir Discipline: Computer Science Semester: 6 th Subject: CSE 304 N - Essentials of Information Technology Lesson Plan Duration: 15 Weeks (from January, 2018 to April, 2018)

More information

Contents. iii Copyright 1998 Sun Microsystems, Inc. All Rights Reserved. Enterprise Services August 1998, Revision B

Contents. iii Copyright 1998 Sun Microsystems, Inc. All Rights Reserved. Enterprise Services August 1998, Revision B Contents About the Course...xv Course Overview... xvi Course Map... xvii Module-by-Module Overview... xviii Course Objectives... xxii Skills Gained by Module... xxiii Guidelines for Module Pacing... xxiv

More information

Index. Symbols!= operator 153 overloading 148 #endregion directive 444 #region directive 444.NET remoting infrastructure 396 == operator 153

Index. Symbols!= operator 153 overloading 148 #endregion directive 444 #region directive 444.NET remoting infrastructure 396 == operator 153 Symbols!= operator 153 overloading 148 #endregion directive 444 #region directive 444.NET remoting infrastructure 396 == operator 153 overloading 148 [ Serializable ] 357 [ XmlElement ] 357 A alter statement

More information

MCSA Universal Windows Platform. A Success Guide to Prepare- Programming in C# edusum.com

MCSA Universal Windows Platform. A Success Guide to Prepare- Programming in C# edusum.com 70-483 MCSA Universal Windows Platform A Success Guide to Prepare- Programming in C# edusum.com Table of Contents Introduction to 70-483 Exam on Programming in C#... 2 Microsoft 70-483 Certification Details:...

More information

"Charting the Course to Your Success!" MOC D Querying Microsoft SQL Server Course Summary

Charting the Course to Your Success! MOC D Querying Microsoft SQL Server Course Summary Course Summary Description This 5-day instructor led course provides students with the technical skills required to write basic Transact-SQL queries for Microsoft SQL Server 2014. This course is the foundation

More information

Index < 125 << 124 <= 125 = 119 == 125 > 125 >= 125 ~ 122

Index < 125 << 124 <= 125 = 119 == 125 > 125 >= 125 ~ 122 Symbols! 122-122 -- 122!= 125 #define DEBUG directive 645 #endregion directive 541 #region directive 541 % 123 * 123 + 122 ++ 122 += operator 304.NET Framework downloading 21 installing 20 21.NET Remoting

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

C# Programming in the.net Framework

C# Programming in the.net Framework 50150B - Version: 2.1 04 May 2018 C# Programming in the.net Framework C# Programming in the.net Framework 50150B - Version: 2.1 6 days Course Description: This six-day instructor-led course provides students

More information

1 OBJECT-ORIENTED PROGRAMMING 1

1 OBJECT-ORIENTED PROGRAMMING 1 PREFACE xvii 1 OBJECT-ORIENTED PROGRAMMING 1 1.1 Object-Oriented and Procedural Programming 2 Top-Down Design and Procedural Programming, 3 Problems with Top-Down Design, 3 Classes and Objects, 4 Fields

More information

Oracle 10g: Java Programming

Oracle 10g: Java Programming Oracle 10g: Java Programming Volume 1 Student Guide D17249GC12 Edition 1.2 July 2005 D19367 Author Kate Heap Technical Contributors and Reviewers Ken Cooper Brian Fry Jeff Gallus Glenn Maslen Gayathri

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

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

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

"Charting the Course... MOC Programming in C# with Microsoft Visual Studio Course Summary

Charting the Course... MOC Programming in C# with Microsoft Visual Studio Course Summary Course Summary NOTE - The course delivery has been updated to Visual Studio 2013 and.net Framework 4.5! Description The course focuses on C# program structure, language syntax, and implementation details

More information

Fundamentals of the Java Programming Language

Fundamentals of the Java Programming Language Fundamentals of the Java Programming Language Student Guide SL-110 REV E D61798GC10 Edition 1.0 2009 D62399 Copyright 2006, 2009, Oracle and/or its affiliates. All rights reserved. Disclaimer This document

More information

Fast Track to Core Java 8 Programming for OO Developers (TT2101-J8) Day(s): 3. Course Code: GK1965. Overview

Fast Track to Core Java 8 Programming for OO Developers (TT2101-J8) Day(s): 3. Course Code: GK1965. Overview Fast Track to Core Java 8 Programming for OO Developers (TT2101-J8) Day(s): 3 Course Code: GK1965 Overview Java 8 Essentials for OO Developers is a three-day, fast-paced, quick start to Java 8 training

More information

= operator 354 < 148 << 147 <= 148 = 140 == 148 > 148 >= 148 ~ 145

= operator 354 < 148 << 147 <= 148 = 140 == 148 > 148 >= 148 ~ 145 Symbols - 145 -- 145 ; 141! 145!= 148.NET Framework downloading 23 installing 23.NET Remoting Singleton mode 548.NET remoting 546 560 configuration files 553 network communication handled by 549 passing

More information

"Charting the Course... MOC C: Querying Data with Transact-SQL. Course Summary

Charting the Course... MOC C: Querying Data with Transact-SQL. Course Summary Course Summary Description This course is designed to introduce students to Transact-SQL. It is designed in such a way that the first three days can be taught as a course to students requiring the knowledge

More information

Introduction. Assessment Test. Part I The Programmer s Exam 1

Introduction. Assessment Test. Part I The Programmer s Exam 1 4276FM.fm Page ix Thursday, October 2, 2003 11:22 AM at a Glance Introduction Assessment Test xix xxv Part I The Programmer s Exam 1 Chapter 1 Language Fundamentals 3 Chapter 2 Operators and Assignments

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

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

foreword to the first edition preface xxi acknowledgments xxiii about this book xxv about the cover illustration

foreword to the first edition preface xxi acknowledgments xxiii about this book xxv about the cover illustration contents foreword to the first edition preface xxi acknowledgments xxiii about this book xxv about the cover illustration xix xxxii PART 1 GETTING STARTED WITH ORM...1 1 2 Understanding object/relational

More information

DOT NET Syllabus (6 Months)

DOT NET Syllabus (6 Months) DOT NET Syllabus (6 Months) THE COMMON LANGUAGE RUNTIME (C.L.R.) CLR Architecture and Services The.Net Intermediate Language (IL) Just- In- Time Compilation and CLS Disassembling.Net Application to IL

More information

Java for Programmers Course (equivalent to SL 275) 36 Contact Hours

Java for Programmers Course (equivalent to SL 275) 36 Contact Hours Java for Programmers Course (equivalent to SL 275) 36 Contact Hours Course Overview This course teaches programmers the skills necessary to create Java programming system applications and satisfies the

More information

Table of Contents. Preface... xxi

Table of Contents. Preface... xxi Table of Contents Preface... xxi Chapter 1: Introduction to Python... 1 Python... 2 Features of Python... 3 Execution of a Python Program... 7 Viewing the Byte Code... 9 Flavors of Python... 10 Python

More information

Programming in Scala Second Edition

Programming in Scala Second Edition Programming in Scala Second Edition Martin Odersky, Lex Spoon, Bill Venners artima ARTIMA PRESS WALNUT CREEK, CALIFORNIA Contents Contents List of Figures List of Tables List of Listings Foreword Foreword

More information

C#: framework overview and in-the-small features

C#: framework overview and in-the-small features Chair of Software Engineering Carlo A. Furia, Marco Piccioni, Bertrand Meyer C#: framework overview and in-the-small features Chair of Software Engineering Carlo A. Furia, Marco Piccioni, Bertrand Meyer

More information

Course Hours

Course Hours Programming the.net Framework 4.0/4.5 with C# 5.0 Course 70240 40 Hours Microsoft's.NET Framework presents developers with unprecedented opportunities. From 'geoscalable' web applications to desktop and

More information

E Oracle 10g Java Bootcamp I v1

E Oracle 10g Java Bootcamp I v1 E Oracle 10g Java Bootcamp I v1 Student Guide Volume 1 D22059GC10 Edition 1.0 October 2005 D22281 Authors Jeff Gallus Glenn Stokol Editor Gayathri Rajagopal Technical Contributors and Reviewers Kenneth

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

PROGRAMMING IN VISUAL BASIC WITH MICROSOFT VISUAL STUDIO Course: 10550A; Duration: 5 Days; Instructor-led

PROGRAMMING IN VISUAL BASIC WITH MICROSOFT VISUAL STUDIO Course: 10550A; Duration: 5 Days; Instructor-led CENTER OF KNOWLEDGE, PATH TO SUCCESS Website: PROGRAMMING IN VISUAL BASIC WITH MICROSOFT VISUAL STUDIO 2010 Course: 10550A; Duration: 5 Days; Instructor-led WHAT YOU WILL LEARN This course teaches you

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

"Charting the Course... MOC A Developing Microsoft SQL Server 2012 Databases. Course Summary

Charting the Course... MOC A Developing Microsoft SQL Server 2012 Databases. Course Summary Course Summary Description This 5-day instructor-led course introduces SQL Server 2012 and describes logical table design, indexing and query plans. It also focuses on the creation of database objects

More information

Java Programming. Price $ (inc GST)

Java Programming. Price $ (inc GST) 1800 ULEARN (853 276) www.ddls.com.au Java Programming Length 5 days Price $4235.00 (inc GST) Overview Intensive and hands-on, the course emphasizes becoming productive quickly as a Java application developer.

More information

OracleAS 10g R3: Java Programming

OracleAS 10g R3: Java Programming OracleAS 10g R3: Java Programming Volume I Student Guide D18382GC20 Edition 2.0 April 2007 D50171 Authors Patrice Daux Kate Heap Technical Contributors and Reviewers Ken Cooper C Fuller Vasily Strelnikov

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

Chapters and Appendix F are PDF documents posted online at the book s Companion Website (located at

Chapters and Appendix F are PDF documents posted online at the book s Companion Website (located at Contents Chapters 16 27 and Appendix F are PDF documents posted online at the book s Companion Website (located at www.pearsonhighered.com/deitel/). Preface Before You Begin xix xxix 1 Introduction to

More information

Developing Microsoft.NET Applications for Windows (Visual Basic.NET)

Developing Microsoft.NET Applications for Windows (Visual Basic.NET) Developing Microsoft.NET Applications for Windows (Visual Basic.NET) Course Number: 2555 Length: 1 Day(s) Certification Exam This course will help you prepare for the following Microsoft Certified Professional

More information

Programming in Visual Basic with Microsoft Visual Studio 2010

Programming in Visual Basic with Microsoft Visual Studio 2010 Programming in Visual Basic with Microsoft Visual Studio 2010 Course 10550; 5 Days, Instructor-led Course Description This course teaches you Visual Basic language syntax, program structure, and implementation

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

Prerequisites: The student should have programming experience in a high-level language. ITCourseware, LLC Page 1. Object-Oriented Programming in C#

Prerequisites: The student should have programming experience in a high-level language. ITCourseware, LLC Page 1. Object-Oriented Programming in C# Microsoft s.net is a revolutionary advance in programming technology that greatly simplifies application development and is a good match for the emerging paradigm of Web-based services, as opposed to proprietary

More information

The C# Programming Language. Overview

The C# Programming Language. Overview The C# Programming Language Overview Microsoft's.NET Framework presents developers with unprecedented opportunities. From web applications to desktop and mobile platform applications - all can be built

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

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

Dot Net Online Training

Dot Net Online Training chakraitsolutions.com http://chakraitsolutions.com/dotnet-online-training/ Dot Net Online Training DOT NET Online Training CHAKRA IT SOLUTIONS TO LEARN ABOUT OUR UNIQUE TRAINING PROCESS: Title : Dot Net

More information

Software Development & Education Center. Java Platform, Standard Edition 7 (JSE 7)

Software Development & Education Center. Java Platform, Standard Edition 7 (JSE 7) Software Development & Education Center Java Platform, Standard Edition 7 (JSE 7) Detailed Curriculum Getting Started What Is the Java Technology? Primary Goals of the Java Technology The Java Virtual

More information

Beginning ASP.NET. 4.5 in C# Matthew MacDonald

Beginning ASP.NET. 4.5 in C# Matthew MacDonald Beginning ASP.NET 4.5 in C# Matthew MacDonald Contents About the Author About the Technical Reviewers Acknowledgments Introduction xxvii xxix xxxi xxxiii UPart 1: Introducing.NET. 1 & Chapter 1: The Big

More information

Introduction to Programming Microsoft.NET Applications with Visual Studio 2008 (C#)

Introduction to Programming Microsoft.NET Applications with Visual Studio 2008 (C#) Introduction to Programming Microsoft.NET Applications with Visual Studio 2008 (C#) Course Number: 6367A Course Length: 3 Days Course Overview This three-day course will enable students to start designing

More information

Learning to Program in Visual Basic 2005 Table of Contents

Learning to Program in Visual Basic 2005 Table of Contents Table of Contents INTRODUCTION...INTRO-1 Prerequisites...INTRO-2 Installing the Practice Files...INTRO-3 Software Requirements...INTRO-3 Installation...INTRO-3 Demonstration Applications...INTRO-3 About

More information

INTRODUCTION TO.NET. Domain of.net D.N.A. Architecture One Tier Two Tier Three Tier N-Tier THE COMMON LANGUAGE RUNTIME (C.L.R.)

INTRODUCTION TO.NET. Domain of.net D.N.A. Architecture One Tier Two Tier Three Tier N-Tier THE COMMON LANGUAGE RUNTIME (C.L.R.) INTRODUCTION TO.NET Domain of.net D.N.A. Architecture One Tier Two Tier Three Tier N-Tier THE COMMON LANGUAGE RUNTIME (C.L.R.) CLR Architecture and Services The.Net Intermediate Language (IL) Just- In-

More information

DOT NET COURSE BROCHURE

DOT NET COURSE BROCHURE Page 1 1Pointer Technology Chacko Towers,Anna nagar Main Road, Anna Nager(Annai Insititute 2nd Floor) Pondicherry-05 Mobile :+91-9600444787,9487662326 Website : http://www.1pointer.com/ Email : info@1pointer.com/onepointertechnology@gmail.com

More information

This page intentionally left blank

This page intentionally left blank This page intentionally left blank arting Out with Java: From Control Structures through Objects International Edition - PDF - PDF - PDF Cover Contents Preface Chapter 1 Introduction to Computers and Java

More information

Objects First with Java

Objects First with Java ^ Objects First with Java A Practical Introduction using BlueJ David J. Barnes and Michael Kolling Second edition PEARSON Prentice Hall Harlow, England London New York Boston San Francisco Toronto Sydney

More information

Chapter 5 Object-Oriented Programming

Chapter 5 Object-Oriented Programming Chapter 5 Object-Oriented Programming Develop code that implements tight encapsulation, loose coupling, and high cohesion Develop code that demonstrates the use of polymorphism Develop code that declares

More information

Java SE 7 Programming

Java SE 7 Programming Oracle University Contact Us: Local: 1800 103 4775 Intl: +91 80 4108 4709 Java SE 7 Programming Duration: 5 Days What you will learn This is the second of two courses that cover the Java Standard Edition

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

C#.Net. Course Contents. Course contents VT BizTalk. No exam, but laborations

C#.Net. Course Contents. Course contents VT BizTalk. No exam, but laborations , 1 C#.Net VT 2009 Course Contents C# 6 hp approx. BizTalk 1,5 hp approx. No exam, but laborations Course contents Architecture Visual Studio Syntax Classes Forms Class Libraries Inheritance Other C# essentials

More information

C# Syllabus. MS.NET Framework Introduction

C# Syllabus. MS.NET Framework Introduction C# Syllabus MS.NET Framework Introduction The.NET Framework - an Overview Framework Components Framework Versions Types of Applications which can be developed using MS.NET MS.NET Base Class Library MS.NET

More information

"Charting the Course to Your Success!" MOC B Programming in C# Course Summary

Charting the Course to Your Success! MOC B Programming in C# Course Summary Course Summary Description This training course teaches developers the programming skills that are required for developers to create Windows applications using the C# language. During their five days in

More information

Page 1

Page 1 Java 1. Core java a. Core Java Programming Introduction of Java Introduction to Java; features of Java Comparison with C and C++ Download and install JDK/JRE (Environment variables set up) The JDK Directory

More information

CO Java SE 8: Fundamentals

CO Java SE 8: Fundamentals CO-83527 Java SE 8: Fundamentals Summary Duration 5 Days Audience Application Developer, Developer, Project Manager, Systems Administrator, Technical Administrator, Technical Consultant and Web Administrator

More information

Contents. Illustrations. 1 Introduction to Computers, the Internet, the Web and C# 1

Contents. Illustrations. 1 Introduction to Computers, the Internet, the Web and C# 1 csphtp1toc.fm Page viii Friday, December 14, 2001 1:49 PM Illustrations Preface viii xix xxxviii 1 Introduction to Computers, the Internet, the Web and C# 1 1.1 Introduction 2 1.2 What Is a Computer? 3

More information

Building Java Programs

Building Java Programs Building Java Programs A Back to Basics Approach Stuart Reges I Marty Stepp University ofwashington Preface 3 Chapter 1 Introduction to Java Programming 25 1.1 Basic Computing Concepts 26 Why Programming?

More information

Contents Chapter 1 Introduction to Programming and the Java Language

Contents Chapter 1 Introduction to Programming and the Java Language Chapter 1 Introduction to Programming and the Java Language 1.1 Basic Computer Concepts 5 1.1.1 Hardware 5 1.1.2 Operating Systems 8 1.1.3 Application Software 9 1.1.4 Computer Networks and the Internet

More information

OVERVIEW ENVIRONMENT PROGRAM STRUCTURE BASIC SYNTAX DATA TYPES TYPE CONVERSION

OVERVIEW ENVIRONMENT PROGRAM STRUCTURE BASIC SYNTAX DATA TYPES TYPE CONVERSION Program: C#.Net (Basic with advance) Duration: 50hrs. C#.Net OVERVIEW Strong Programming Features of C# ENVIRONMENT The.Net Framework Integrated Development Environment (IDE) for C# PROGRAM STRUCTURE Creating

More information

Welcome to Starting Out with Programming Logic and Design, Third Edition.

Welcome to Starting Out with Programming Logic and Design, Third Edition. Welcome to Starting Out with Programming Logic and Design, Third Edition. This book uses a language-independent approach to teach programming concepts and problem-solving skills, without assuming any previous

More information

A Web-Based Introduction

A Web-Based Introduction A Web-Based Introduction to Programming Essential Algorithms, Syntax, and Control Structures Using PHP, HTML, and MySQL Third Edition Mike O'Kane Carolina Academic Press Durham, North Carolina Contents

More information

Software Engineering

Software Engineering Software Engineering CSC 331/631 - Spring 2018 Object-Oriented Design Principles Paul Pauca April 10 Design Principles DP1. Identify aspects of the application that vary and separate them from what stays

More information

Java 8 Programming for OO Experienced Developers

Java 8 Programming for OO Experienced Developers www.peaklearningllc.com Java 8 Programming for OO Experienced Developers (5 Days) This course is geared for developers who have prior working knowledge of object-oriented programming languages such as

More information

Object-Oriented Programming

Object-Oriented Programming Object-Oriented Programming 1. What is object-oriented programming (OOP)? OOP is a technique to develop logical modules, such as classes that contain properties, methods, fields, and events. An object

More information

Hierarchical inheritance: Contains one base class and multiple derived classes of the same base class.

Hierarchical inheritance: Contains one base class and multiple derived classes of the same base class. 1. What is C#? C# (pronounced "C sharp") is a simple, modern, object oriented, and type safe programming language. It will immediately be familiar to C and C++ programmers. C# combines the high productivity

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

Java Programming Training for Experienced Programmers (5 Days)

Java Programming Training for Experienced Programmers (5 Days) www.peaklearningllc.com Java Programming Training for Experienced Programmers (5 Days) This Java training course is intended for students with experience in a procedural or objectoriented language. It

More information

CHAPTER 1: INTRODUCTION TO THE IDE 3

CHAPTER 1: INTRODUCTION TO THE IDE 3 INTRODUCTION xxvii PART I: IDE CHAPTER 1: INTRODUCTION TO THE IDE 3 Introducing the IDE 3 Different IDE Appearances 4 IDE Configurations 5 Projects and Solutions 6 Starting the IDE 6 Creating a Project

More information

C++ for System Developers with Design Pattern

C++ for System Developers with Design Pattern C++ for System Developers with Design Pattern Introduction: This course introduces the C++ language for use on real time and embedded applications. The first part of the course focuses on the language

More information

11 Inheritance and Interfaces

11 Inheritance and Interfaces 11 Inheritance and Interfaces Chapter 11 Pentax 67 / SMC Takumar 55/.8 / Kodak Tri-X Professional Fairview Park Inheritance and Interfaces Learning Objectives State the three essential purposes of inheritance

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

Core Java Contents. Duration: 25 Hours (1 Month)

Core Java Contents. Duration: 25 Hours (1 Month) Duration: 25 Hours (1 Month) Core Java Contents Java Introduction Java Versions Java Features Downloading and Installing Java Setup Java Environment Developing a Java Application at command prompt Java

More information

Java SE7 Fundamentals

Java SE7 Fundamentals Java SE7 Fundamentals Introducing the Java Technology Relating Java with other languages Showing how to download, install, and configure the Java environment on a Windows system. Describing the various

More information