CIS Logo SVC Logo

   Computing & Information Science


Outlook Blackboard Facebook          Search CIS Site       Tutorials

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). Most of the examples have been tested with Microsoft's Visual C++ .NET 2008 compiler under Windows. Many have also been tested with the g++ compiler under Linux and would also work with other compilers. Some examples, however, are specific to Microsoft Windows and a few are specific to Linux.

These tutorial pages and examples are in the process of being revised. Currently, the revision has been completed only on the Introductory Topics section. One of the main changes is to add some graphics/game programming types of examples using the Dark GDK. There are many interesting things that can be done with this type of program!

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. An Introduction to Dark GDK
    5. Decisions, Decisions: Making Choices in C++
    6. Complex C++ Functions
      With parameters and/or return values.
    7. Repetition in C++
    8. A Matter of Style: The Art of Programming
    9. Programming Patterns
    10. Arithmetic and Formatting of Output in C++
    11. Basics of Arrays
    12. Using Objects
    13. Introduction to Windows Forms Applications
    14. Basics of Data Streams
    15. Simple Graphics
      Optional topic
    16. Useful Tables: Precedence Chart, Data Types, and Library Functions
    17. Dark GDK Capstone Programs
    18. 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
    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
    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 with contributions by Br. Isidore Minerd
Last updated: August 31, 2009