Introducing computational models in the computer science curricula

This presentation describes our approach to introduce computational models early in the computing curricula. The approach involves the offering of a sequence of four courses aimed at students of computer science, information technology, mathematics, and the various science disciplines. The entry level course integrates computational modeling with programming principles and includes elementary numerical techniques for developing simple computational models. The content of the four courses is briefly discussed. A computational model is a computer implementation of the solution to a (scientific) problem for which a mathematical representation has been formulated. Developing a computational model consists of applying Computer Science concepts, principles and methods and includes formulating the mathematical representation of the given problem or system. The primary purpose of our new approach is to introduce students to computational modeling starting in their first semester. A sequence of four courses are proposed and the first course starts with basic principles of computational modeling at the level of fundamental concepts, it also introduces programming principles. Emphasis is on reasoning about problems, a general method for developing computational models, and computational thinking. To introduce the fundamentals of computational model as early as possible, the first course deals with elementary computational modeling (at the level of pre-calculus) and integrating with introduction to programming principles. We use the Matlab language and have established a pilot section that basically replaces a conventional CS1 course. The second course introduces slightly more advanced computational models using the C programming language with the GNU Scientific Library. The third course introduces discrete and continuous simulation. The fourth course explains and describes more complex algorithms and programming with C using methods of high performance computing (HPC).