Computer Science Toolbox

Computer Science is a discipline in which a small set of tools is applied in novel ways to solve problems. The problems we solve vary in complexity from the simplest "Hello world" application through complex software and hardware systems controlling traffic flow in a city, sustaining life in a hospital's emergency unit, even toasting our bread! :-)

Acquiring proficiency with these tools is a key requirement for the developing computer scientist. You will see these tools, and the underlying concepts with which we combine them, again and again in your courses. The purpose of this virtual toolbox is to help you keep track of the tools you build during your years here, so that you can reuse (Hey, that's one of the concepts!) them, and to help you see and better understand the underlying concepts that enable us to build complex, beautiful, useful systems.

Data/Processing Models:    This is a collection of models and algorithms arranged by data representation. These can be used as a starting point for problem solving.

Tools:    This is a repository of tools. They can be used as the building blocks for solving more complex problems.

Threads:    This is a portfolio of examples of the recurring concepts seen in my courses.