Introduction to Computational Modeling Using C and Open-Source Tools

Garrido, Jose M.


Introduction to Computational Modeling Using C and Open-Source Tools presents the fundamental principles of computational models from a computer science perspective. It explains how to implement these models using the C programming language. The software tools used in the book include the Gnu Scientific Library (GSL), which is a free software library of C functions, and the versatile, open-source GnuPlot for visualizing the data. All source files, shell scripts, and additional notes are located at jgarrido/comp_models.

The book first presents an overview of problem solving and the introductory concepts, principles, and development of computational models before covering the programming principles of the C programming language. The author then applies programming principles and basic numerical techniques, such as polynomial evaluation, regression, and other numerical methods, to implement computational models. He also discusses more advanced concepts needed for modeling dynamical systems and explains how to generate numerical solutions. The book concludes with the modeling of linear optimization problems.

Emphasizing analytical skill development and problem solving, this book helps you understand how to reason about and conceptualize the problems, generate mathematical formulations, and computationally visualize and solve the problems. It provides you with the foundation to understand more advanced scientific computing, including parallel computing using MPI, grid computing, and other techniques in high-performance computing.


José M. Garrido is professor in the Department of Computer Science at Kennesaw State University. Dr. Garrido's research focuses on object-oriented modeling and simulation, multidisciplinary computational modeling, formal specification of real-time systems, language design and processors, and modeling systems performance. He developed the Psim3, PsimJ, and PsimJ2 simulation packages for C++ and Java as well as the Object-Oriented Simulation Language (OOSimL). He received a Ph.D. from George Mason University.