Viva Group has been honoured with the Best Publisher Award 2022 by the Delhi State Booksellers & Publishers' Association.

C++ An Active Learning Approach

C++ An Active Learning Approach

C++ An Active Learning Approach

  • By: Randal Albert, Todd Breedlove

₹355.50 ₹395.00 Save: ₹39.50 (10%)

Go to cart

ISBN: 9789380108353

Bind: Paperback

Year: 2010

Pages: 672

Size: 7.25 x 9 Inch

Publisher: Jones & Bartlett Learning

Published in India by: Jones & Bartlett India

Exclusive Distributors: Viva Books

Sales Territory: India, Nepal, Pakistan, Bangladesh, Sri Lanka, Bhutan

Description:

C++: An Active Learning Approach provides a hands-on introduction to the C++ language through active learning exercises and numerous programming projects. C++ is taught with an emphasis on procedural programming, beginning with an introduction to object-oriented programming. Ideal for the introductory programming course, this text includes the latest C++ upgrades without losing sight of the C underpinnings still required for all computing fields.

With over 30 years of combined teaching experience, the authors understand the potential pitfalls students face and thus aim to keep the language simple, straightforward, and conversational. The topics are covered in depth, yet as succinctly as possible. The text provides challenging exercise designed to teach students how to effectively debug a computer program. Team Programming Exercises urge students to read existing code, adhere to code specifications, and write from existing design documents. Examples are provided electronically  allowing students to easily run code found in the text.

Key features include:

  • Provides a unique hands-on approach to learning key material.
  • Many chapters include C language constructs that correspond to the topics presented in C++ throughout the chapter.
  • The writing style seeks to actively engage readers in a ?learn by doing? fashion and makes extensive use of various aspects associated with using the debugger to help solidify concepts.
  • Practical exercises are provided for students to complete as they work through a specific topic area.
  • A rich pedagogy offers numerous teaching and learning tools:
  • Learn by Doing? Exercise: Focused exercises for the topic just covered in a specific section.
  • Team programming Exercises: Exercises that help prepare students for working in a team programming environment.
  • C The Differences: The C syntax corresponding to the C++ topics covered in the chapter.
  • Problem Solving Applied: Presents methods used in the design process.
  • Debugging Exercises: Exercises that actively engage the student in effective debugging techniques.

Target Audience:

Students taking their first programming course. Ideal for introductory programming course within curricula such as Computer Science, Software Engineering, Information Technology, and Management Information Systems, or it can be used by individuals on their own.

 

Contents: 

Chapter 1: Introduction to Computers and Programming • Overview of Computers and Programming • Historical Developments • Computer Hardware: Input and Output (I/O) Devices; Random-Access Memory (RAM); Central Processing Unit (CPU); Storage Devices; Motherboard • Computer Software: Application Software; System Software • 15 Embedded Systems • Programming Paradigms • Programming Languages : The C Programming Language; The C++ Programming Language • Data Hierarchy • Numbering Systems • Counting; Converting from a Base to Base 10; Converting from Base 10 to a Different Base • Summary • Answers to Selected Chapter Exercises

Chapter 2: Program Design and Development • Procedural Programming • Problem-solving Overview: Development Process • Algorithm Representation • Flowchart • Pseudo code • Algorithm Development • Value of Algorithm Development;  Stepwise Refinement • Compilation Process • Editor; Preprocessor; Language Translator;  Linker • Program Development in Microsoft Visual Studio • Using an Integrated Development Environment (IDE) • Running the Program • Errors: Syntax Error;  Linker Error;  Run-Time Error;  Logic Error • Desk Checking • Using Visual Studio (VS) :  Getting Started • Debugging • Problem Solving Applied • Summary • Debugging Exercise • Programming Exercises • Team Programming Exercise • Answer to Chapter Exercises

Chapter 3: Getting Started with C++ • C++ Basics • White space • Comments • The main Function • The #include Preprocessor Directive: Namespaces • Problem Solving Applied • C—The Differences • Summary • Debugging Exercise • Programming Exercises • Team Programming Exercise • Answer to Chapter Exercises

Chapter 4: Literals, Variables, and Constants • Literals • Character Escape Sequences • Variable Declarations: Variable's Initial Value; Initialization; Data Types;  The Size of Operator;  Numeric Literal Suffixes;  Naming Rules • ASCII Characters • Constants • Const Versus # define • Bringing It All Together • Variable Declarations Pseudocode • Problem Solving Applied • C—The Differences • Summary • Debugging Exercise • Programming Exercises • Team Programming Exercise • Answer to Chapter Exercises

Chapter 5: Input and Output Streams • Input and Output Streams: Namespaces and I/O Streams; The  count Statement;  The cin Statement • The end1 Manipulator: The end1 Manipulator Versus ?\n? • Input and Output Buffers • Formatting the Output Stream: The .width Member Function and setw Manipulator;  The . precision Member Function and setprecision Manipulator;  The . setf Member Function;  The . flush Member Function and flush Manipulator • Debugging: Step Into, Step Over, and Step Out;  Run to Cursor;  Breakpoints;  Watches;  Importance of Debugging • Problem Solving Applied • C—The Differences: The printf Function;  Formatting the printf Statement;  Flushing the Output Buffer;  The scanf Function; The getch Function • Summary • Debugging Exercise • Programming Exercise • Team Programming Exercises • Answer to Chapter Exercises

Chapter  6: Mathematical Operations • Mathematical Expressions • Assignment Operator (=) • Standard Arithmetic Operators (+,-,*, /,%) • Increment and Decrement Operators (++, - -)  Compound Assignment Operators  (+=,-=,*=, /=, %= ) • Accumulators Versus Counters • Order of Precedence • Mathematical Functions: The pow Function; The sqrt Function; The a b s Function • Type Casting • Problem Solving Applied • C—The Differences • Summary • Debugging Exercise • Programming Exercise • Team Programming Exercise • Answer to Chapter Exercises

Chapter 7: Conditional Statements • Conditional Expressions: Relational Operators; Logical Operators • The if Statement: The else Statement; The else if Statement • Variable Scope • The switch Statement • Conditional Operator • Problem Solving Applied • C—The Differences • Summary • Debugging Exercise • Programming Exercises • Team Programming Exercise • Answers to Chapter Exercises.

Chapter 8: Repetition Statements • General Repetition Concepts • The while Loop • The do-while Loop • The for Loop: Nested for Loops • Breakpoints and Loops • Problem Solving Applied • C—The Differences • Summary • Debugging Exercise • Programming Exercises • Team Programming Exercise • Answer to Chapter Exercises

Chapter 9: Functions • What Are Functions? :  Advantages and Disadvantages of Functions • What about main? • Function Components : Function Declaration;  Function Definition;  Function Call • Return • Passing Parameters:  Formal and Actual Parameters;  Scope;  Passing by Value • Passing by Reference • Default Arguments • Putting It All Together • Debugging—Call Stack • More Predefined Functions: Character Case;  The ?is? Functions • Structure Charts • Problem Solving Applied • C—The Differences • Summary • Debugging Exercises • Programming Exercises • Team Programming Exercise • Answer to Chapter Exercise

Chapter 10: Arrays and cStrings • What Are Arrays?: Advantages and Disadvantages of Arrays • Declaring Arrays • Using Arrays • Initialization • Array Manipulation • Passing Arrays to Functions • Special Case: cStrings:  cString Initialization;  I/O with cStrings;  cStrings and the ?address of • Operator • cStrings Functions:  Copying;  Appending;  Comparing;  Finding the Length;  Change the Case;  Reversing;  Converting cStrings to Numbers;  Converting  Numbers to cStrings;  Summary of cString Functions • cString Function Standards • Multidimensional Arrays :  Declaration; Initialization; Multidimensional Array I/O; Passing Multidimensional Arrays • Parallel Arrays • Problem Solving Applied • C—The Differences • Summary • Debugging Exercise • Programming Exercises • Team Programming Exercise • Answer to Chapter Exercises

Chapter 11: File I/O and Data Manipulation • Data Files • File Streams • Opening Files • Checking for Successful Opening • Closing Files • Writing to Files • Reading from Files • Searching • Sorting • Problem Solving Applied • C—The Differences:  File Pointer; Opening Files; Checking for a; Successful Open; Closing Files; Writing to a File; Reading from a File • Summary • Debugging Exercise • Programming Exercises • Team Programming Exercise • Answer to Chapter Exercises

Chapter 12: Pointers and Dynamic Memory Allocation • Definition • Declaration • Advanced Pointer Declarations • Indirection Operator • Passing by Pointer • Pointer Arithmetic • Pointers Applied • More cString Functions : The strtok Function;  The strstr Function; The strchr Function; The memset Function • Dynamic Memory Allocation:  The new Operator;  The delete Operator • Passing Pointers by Reference • Pointers and Strings • Ragged Arrays • Dynamic Two-Dimensional Arrays • Testing for Memory Leaks • Function Pointers:  Declaration; Retrieving a Function's Address;  Indirectly Calling a Function; Uses of Function Pointers • Problem Solving Applied • C—The Differences: Dynamic Memory Allocation; Dynamic Memory Deallocation; Memory Leak Detection • Summary • Debugging Exercise • Programming Exercises • Team Programming Exercise • Answer to Chapter Exercises

Chapter 13: User-Defined Types • The typedef Statement • Enumerated Data Types • Structures :   Nested Structures; Structure Variables; Accessing The  Data Members; Structure Variable Manipulation; Shallow Copy Versus Deep Copy • Unions • Problem Solving  Applied • C—The Differences • Summary • Debugging Exercise • Programming Exercise • Team Programming Exercise • Answer to Chapter Exercises

Chapter 14: Introduction to Object - Oriented Programming • History of Oriented Programming • Key Concepts of Object-Oriented Programming: Encapsulation;  Interface Versus Implementation; Inheritance; Polymorphism • Advantages and Disadvantages: Models Real Life;  Self-Contained;  Code Reuse; OOP Overhead • String Class • Instantiation and Initialization;  Reading and Writing Strings;  Other String Features:  UML Introduction • UML Overview;  Class Diagrams • Problem Solving Applied • C—The Differences • Summary • Answers to Chapter Exercises

Chapter 15: Introduction to Classes • Classes: Definition Syntax; Access Specifiers; Data Members; Member Functions; Setters and Getters • Instantiation • Manager Functions:  Constructor; Destructor • Implementation Hiding • # include ?header. h? • Conditional Compilation: # ifndef; # pragma once • Base Member Initialization • Function Overloading • Name Mangling • Passing By Const-ref • Const Methods • Problem Solving Applied • C—The Differences • Summary • Debugging Exercise • Programming Exercises • Team Programming Exercise • Answer to Chapter Exercises

Chapter 16: Miscellaneous Topics • Storage Classes: Static; Extern • Command-Line Arguments • Conditional Compilation • Macros: Advantages and Disadvantages • Bitwise Operations • Bitwise Operators • Bit Fields; Masking • Recursion • Summary • Programming Exercises • Answers to Chapter Exercises

Chapter 17: Binary and Random Access Files • Text Files Versus Binary Files: Advantages and Disadvantages of Binary Files • Opening and Closing Binary Files • Binary File  I/O • Sequential Files Versus Random Access Files:  Determining Current FPM Location;  Moving the FPM • C—The Differences : File Modes; Binary File I/O with C;  Random Access Functions •  Summary • Programming Exercise • Answer to Chapter Exercises

Chapter 18: Introduction to Linked Lists •  Data Structures • Linked Lists: List Implementation Options; Node Structure; Head Pointer; Creating A New Node • Prepending a Node • Appending a Node • Inserting a Node into an Ordered List •  Traversing the List •  Deleting Nodes:  Deleting All Nodes: Deleting Specific Node from an Ordered List • Arrays Versus Linked Lists • Problem Solving Applied • C—The Differences • Summary • Debugging Exercise • Programming Exercises • Team Programming Exercise • Answer to Chapter Exercises

 

About the Authors: 

Todd W. Breedlove - Oregon Institute of Technology

Todd Breedlove received a B.S. in Software Engineering Technology from Oregon Institute of Technology, a M.S. in Mathematical and Computer Science from Southern Oregon University. Todd is currently an Associate Professor in the Software Engineering Technology program at Oregon Institute of Technology. In the over thirteen years of teaching, he has taught a variety of classes that include C++, Object Oriented Programming, Data Structures, Database, and ASP.NET.

Randal L. Albert - Oregon Institute of Technology

Randy Albert has taught both graduate and undergraduate courses at a number of different universities and technical schools for over 25 years. Currently he is a Professor in the Computer Systems Engineering Technology Department at Oregon Institute of Technology. He has an undergraduate degree from the University of Wisconsin-Eau Claire and Masters Degrees from Southern Oregon University and Utah State University. He has taught a wide array of courses including COBOL, Computer Science I and II, C++, C#, Database, Object Oriented Programming, Multimedia, Visual Basic, Windows Programming, Software Engineering, and Human Computer Interaction.

10%

Programming in R with Applicat..

By: Priyanka P. Shinde, Varsha P. ..

ISBN : 9789395654296

₹ 535.50 ₹ 595.00

10%

Writing Fast Programs with CD

By: John Riley

ISBN : 9789386385901

₹ 895.50 ₹ 995.00

10%

Discrete Structures, Logic, an..

By: James L. Hein

ISBN : 9789384323264

₹ 895.50 ₹ 995.00

10%

Analysis of Algorithms, 2/e

By: Jeffery J. McConnell

ISBN : 9789384323189

₹ 805.50 ₹ 895.00

10%

An Introduction to Formal Lang..

By: Peter Linz

ISBN : 9789384323219

₹ 715.50 ₹ 795.00

10%

Foundations of Algorithms, 5/e

By: Richard E Neapolitan

ISBN : 9789384323110

₹ 805.50 ₹ 895.00