Skip to content Skip to navigation Skip to collection information

OpenStax_CNX

You are here: Home » Content » Programming Fundamentals - A Modular Structured Approach using C++ » Preface

Navigation

Table of Contents

Lenses

What is a lens?

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

This content is ...

Endorsed by Endorsed (What does "Endorsed by" mean?)

This content has been endorsed by the organizations listed. Click each link for a list of all content endorsed by the organization.
  • CCQ display tagshide tags

    This collection is included in aLens by: Community College of Qatar

    Comments:

    "Used in the Computer Programming Fundamentals I course."

    Click the "CCQ" link to see all content they endorse.

    Click the tag icon tag icon to display tags associated with this content.

Affiliated with (What does "Affiliated with" mean?)

This content is either by members of the organizations listed or about topics related to the organizations listed. Click each link to see a list of all content affiliated with the organization.
  • OrangeGrove display tagshide tags

    This collection is included inLens: Florida Orange Grove Textbooks
    By: Florida Orange Grove

    Click the "OrangeGrove" link to see all content affiliated with them.

    Click the tag icon tag icon to display tags associated with this content.

  • Houston Community College display tagshide tags

    This collection is included in aLens by: Houston Community College

    Comments:

    "COSC1436 Programming Funaamentals I"

    Click the "Houston Community College" link to see all content affiliated with them.

    Click the tag icon tag icon to display tags associated with this content.

  • Featured Content display tagshide tags

    This collection is included inLens: Connexions Featured Content
    By: Connexions

    Comments:

    "Programming Fundamentals - A Modular Structured Approach Using C++ is a new course written by Kenneth Leroy Busbee, a faculty member at Houston Community College. This text introduces students to […]"

    Click the "Featured Content" link to see all content affiliated with them.

    Click the tag icon tag icon to display tags associated with this content.

Also in these lenses

  • Busbee's Compter Science display tagshide tags

    This collection is included inLens: Busbee's Computer Science Lens
    By: Kenneth Leroy Busbee

    Comments:

    "Texas Common Course Numbering: COSC1336 or COSC1436"

    Click the "Busbee's Compter Science" link to see all content selected in this lens.

    Click the tag icon tag icon to display tags associated with this content.

  • Lens for Engineering

    This module and collection are included inLens: Lens for Engineering
    By: Sidney Burrus

    Click the "Lens for Engineering" link to see all content selected in this lens.

  • eScience, eResearch and Computational Problem Solving

    This collection is included inLens: eScience, eResearch and Computational Problem Solving
    By: Jan E. Odegard

    Click the "eScience, eResearch and Computational Problem Solving" link to see all content selected in this lens.

Recently Viewed

This feature requires Javascript to be enabled.

Tags

(What is a tag?)

These tags come from the endorsement, affiliation, and other lenses that include this content.
 

Preface

Module by: Kenneth Leroy Busbee. E-mail the author

Summary: This module introduces the Connexions online textbook/collection "Programming Fundamentals - A Modular Structured Approach using C++" by Kenneth Leroy Busbee.

About this Textbook/Collection

Programming Fundamentals – A Modular Structured Approach using C++

Programming Fundamentals - A Modular Structured Approach using C++ is written by Kenneth Leroy Busbee, a faculty member at Houston Community College in Houston, Texas. The materials used in this textbook/collection were developed by the author and others as independent modules for publication within the Connexions environment. Programming fundamentals are often divided into three college courses: Modular/Structured, Object Oriented and Data Structures. This textbook/collection covers the first of those three courses.

On January 10, 2013 Version 1.22 was created with the modules that make up the collection "fixed" to the their current versions. This will allow Version 1.22 to remain static with the modules as of that date.

The collection is going to be revised with a different organization of chapters along with updated modules to handle C++, Java and C# programming languages. The next version of the collection will have significant changes.

Connexions Learning Modules

The learning modules of this textbook/collection were written as standalone modules. Students using a collection of modules as a textbook will usually view it contents by reading the modules sequentially as presented by the author of the collection.

However, the majority of readers of these modules will find them as a result of an Internet search. The Connexions Project allows the author of a module to create web links to other Connexions modules and Internet locations. These links are shown when viewing materials on-line and are categorized into three types: Example, Prerequisite and Supplemental. The importance of each link is numbered from 1 to 3 by the author. When viewing the module each links shows a three part box with yellow or white rectangles. All three yellow means it is a strongly related link. As the yellow decreases the importance decreases.

Students using this collection for a college course should note that all of the Prerequisite links within the modules will be modules that student should have already read and most of the Supplemental links will be modules that the student will read shortly. Thus, students should use Prerequisite links for review as needed and not be overly concerned about viewing all of the Supplemental links at the first reading of this textbook/collection.

Conceptual Approach

The learning modules of this textbook/collection were, for the most part, written without consideration of a specific programming language. In many cases the C++ language is discussed as part of the explanation of the concept. Often the examples used for C++ are exactly the same for the Java programming language. However, some modules were written specifically for the C++ programming language. This could not be avoided as the C++ language is used in conjunction with this textbook/collection by the author in teaching college courses.

Bloodshed Dev-C++ 5 Compiler/IDE

This open source compiler/IDE (Integrated Development Environment) was used to develop the demonstration source code files provided within the modules of this textbook/collection. The compiler/IDE is presented to the student in the second module of Chapter 1, with instructions for downloading, installing and using the compiler/IDE. A more complete explanation of the IDE along with demonstration source code listings with errors is presented in first module of Chapter 5. All of the source code files provided in this textbook/collection contain only ANSI standard C++ code and should work on any standard C++ compiler like Microsoft Visual Studio (which includes C++), Microsoft Visual C++ Express or Borland C++ Builder.

Instructor Materials

Encrypted instructor materials are available in a module that is not part of this collection. It’s title: Instructor Materials for: Programming Fundamentals - A Modular Structured Approach using C++ is available at: http://cnx.org/content/m34529/latest/ and the encryption code is only available to educational institutional faculty that are considering adoption of this collection as a textbook.

About Connexions

Connexions Modular Content

The Connexions Project http://cnx.org is part of the Open Educational Resources (OER) movement dedicated to providing high quality learning materials free online, free in printable PDF format, and at low cost in bound volumes through print-on-demand publishing. This textbook is one of many collections available to Connexions users. Each collection is composed of a number of re-usable learning modules written in the Connexions XML markup language. Each module may also be re-used (or 're-purposed') as part of other collections and may be used outside of Connexions.

Re-use and Customization

The Creative Commons (CC) Attribution license applies to all Connexions modules. Under this license, any Connexions module may be used or modified for any purpose as long as proper attribution to the original author(s) is maintained. Connexions' authoring tools make re-use (or re-purposing) easy. Therefore, instructors anywhere are permitted to create customized versions of this textbook by editing modules, deleting unneeded modules, and adding their own supplementary modules. Connexions' authoring tools keep track of these changes and maintain the CC license's required attribution to the original authors. This process creates a new collection that can be viewed online, downloaded as a single PDF file, or ordered in any quantity by instructors and students as a low-cost printed textbook.

Read the book online, print the PDF, or buy a copy of the book.

To browse this textbook online, visit the collection home page. You will then have three options.

  1. You may view the collection modules on-line by clicking on the "Start >>" link, which takes you to the first module in the collection. You can then navigate to the next module using "NEXT >>" and through the subsequent modules by using the "<< PREVIOUS | NEXT >>" button that is towards the upper right to move forward and backward in the collection. You can jump to any module in the collection by clicking on that module's title in the "TABLE OF CONTENTS" box on the left side of the window. If these contents are hidden, make them visible by clicking on the small triangle to the right of the "TABLE OF CONTENTS". Chapters also have a small triangle to show or hide contents.
  2. You may obtain a PDF of the entire textbook to print or view offline by clicking on the "Download PDF" link in the "Content Actions" box.
  3. You may order a bound copy of the collection (for a reasonable printing and shipping fee) by clicking on the "Order printed copy" button.

Connexions PDF Conversion Problems

Buying a copy of the textbook/collection is basically sending the PDF file to a printing service that has a contract with the Connexions project. There are several known printing problems and the Connexions Project is aware of them and seeking a solution. In the mean time, be aware that quirks exist for printed PDF materials. A description of the known problems are:

  1. When it converts an "Example" the PDF displays the first line of an example properly but indents the remaining lines of the example. This problem occurs for the printing of a book (because it prints a PDF) and downloading either a module or a textbook/collection as a PDF.
  2. Chapter numbering has been added to the on-line Table of Contents. This will make it easier for students to quickly get to the chapter reading materials. However this creates a "double" chapter numbering within the textbook/collection’s PDF and custom printing formats.
  3. Within C++ there are three operators that do not convert properly to PDF format.
Table 1
decrement -- which is two minus signs
insertion << which is two less than signs
extraction >> which is two greater than signs

Rating Connexion Modules

A rating feature was added during 2009 for Connexions modules. It will not be useful until more people rate modules within the Connexions repository. If a module is rated by several people, it can be used as a measure of quality. Thus, your participation in rating modules is welcomed and helps others determine the quality of the educational materials being viewed.

In order to rate modules you must have a Connexions account. Three (3) modules have been added to the preface series of modules for this collection. They explain why and how to create a Connexions account and how to rate a Connexions module.

Collection Navigation

Content actions

Download:

Collection as:

PDF | More downloads ...

Module as:

PDF | More downloads ...

Add:

Collection to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks

Module to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks