Search


Software Design Using C++



An Online Book


These web pages attempt to provide the material needed for three complete computer science courses: what are typically called CS 1, CS 2, and a data structures course, all using C++ as the programming language. (At Saint Vincent College these courses are numbered CS 110, CS 111, and CS 221). The examples have been tested with Microsoft's Visual C++ 6.0 compiler under Windows and in most cases with both the Visual C++ .NET 2003 compiler under Windows and the g++ compiler under Linux. Most should also work with Visual C++ .NET 2005 as well as other compilers. There are some examples which are specific to the .NET environment.

The latest additions to the pages below include the three sections on Windows Forms Applications. There is one of these in each of the major divisions below. These were created and tested with Visual C++ .NET 2003, but they should also work with the 2005 version. Also new are the two sections on web search in Linux.

Table of Contents

  1. Introduction and Philosophy
  2. Introductory Topics (CS 110)
    1. Simple C++ Programs
    2. Using the Compiler and Debugger
    3. Simple C++ Functions
      No parameters or return values.
    4. Decisions, Decisions: Making Choices in C++
    5. Complex C++ Functions
      With parameters and/or return values.
    6. Repetition in C++
      Loops
    7. A Matter of Style: The Art of Programming
    8. Programming Patterns
    9. Arithmetic and Formatting of Output in C++
    10. Basics of Arrays
    11. Using Objects
    12. Introduction to Windows Forms Applications
    13. Basics of Data Streams
      Files
    14. Simple Graphics
      Optional topic
    15. Useful Tables: Precedence Chart, Data Types, and Library Functions
    16. Review of Introductory Topics
  3. Intermediate Topics (CS 111)
    1. You might want to begin with the review for the previous section to see if you are ready for this intermediate section.
    2. Software Engineering
    3. Functions and Parameters
    4. Arrays
    5. Records (Structures)
    6. Files
      Streams
    7. Web Search I (Simple Web Search in Linux)
      Optional Case Study
    8. Objects and Classes
    9. More Complex Object-Oriented Features
    10. Recursion
      Including recursive sorting algorithms.
    11. Pointers
    12. Linked Lists
    13. Stacks
    14. Queues
    15. Intermediate Windows Forms Applications
  4. Advanced Topics (CS 221)
    1. Computer Science Theory
    2. Advanced Linked Lists
    3. Binary Trees
    4. Heaps and Heapsort
    5. Hash Tables
    6. B-Trees
    7. AVL Trees
    8. C++ Exceptions
    9. External Sorting
    10. The Standard Template Library
      STL
    11. Web Search II (Web Search in Linux)
      Optional Case Study
    12. Advanced Windows Forms Applications
    13. Using AppWizard
    14. Professional Programming: Issues and Tools
    15. Graphics Programming
      Optional topic
  5. Further Information
  6. Search CIS Dept Web Pages can be used to search for specific C++ programming items.
Author: Br. David Carlson
Last updated: August 19, 2007