Game Programming,Simulation, Modeling

These courses are scheduled on demand.


Computer Game Programming, Simulation and Modeling

Computer Game programming is probably one of the most demanding programming disciplines known. In fact it contains a range of sub-disciplines including computational geometry, simulation and modeling of physical systems, artificial intelligence programming, computer graphics, numerical analysis, multi-tasking and scheduling, operational analysis etc.

These same skills are also applicable to simulation and modeling applications used for purposes such as simulation for training and decision support purposes and simulation of various scenariios for planning purposes.

There are also overlaps with data mining and data discovery applications, development of adaptive systems, design testing and validation of distribued and ad hoc networking systems, logistics systems, risk analysis etc.

FTT has developed a range of modules covering various aspects of the above topics. These modules are available in variants of C, C++. C# and Java

Custom Courses

To meet more specific training needs, FTT can provide customised applied programming courses that can include further modules / topics such as, for example, natural language processing, code generating tools and techniques, hierarchical state machines and statecharts, programming entities with "emotional characteristics"

These courses can be presented either at your own premises or at our facilities in Carshalton. Custom training can be cost-effective for groups as small as four. Please call us to discuss your requirements.

Click on the links below for HTML versions of the full course outllines
Crs Title Days Outline
CGP101 Matrix Theory, Representation and Computation for Programmers 3 HTML
CGP102 Principles of 2D and 3D Computational Geometry 3 HTML
CGP103 Differential Equations for Computer Programmers 3 HTML
CGP104 Statistics, Bayesian Networks and Probability for Computer Programmers 3 HTML
CGP105 Queuing Theory, Stochastic and Markov Modeling for Programmers 3 HTML
CGP201 Understanding and Working with Physics Engines 5 HTML
CGP202 Principles of Artificial Intelligence Programming 5 HTML
CGP203 Computer Animation Programming 5 HTML
CGP204 UML and Object Oriented Analysis and Design for Computer Game Programming 5 HTML
CGP301 An introduction to Computer Game Programming using C++ and SDL/OpenGL 5 HTML
CGP303 An introduction to Computer Game Programming using C++ and DirectX 5 HTML
CGP305 An introduction to Computer Game Programming using C# and XNA 5 HTML
CGP401 C++ Programming for Computer Games 5 HTML
CGP501 Basic and Hierarchical Finite State Machines and Statecharts - Implementation and Application 3 Contact Us
CGP502 Rule Based Programming - Principles, Implementation, Frameworks and Uses 3 Contact Us
CGP503 Simulation and Modeling with Petri Nets 3 Contact Us
CGP504 Neural Networks - Theory, Implementation and Uses 3 Contact Us
CGP505 Genetic Algorithms - Theory, Implementation and Uses 3 Contact Us
CGP506 Fuzzy Logic - Theory, Implementation and Applications 3 Contact Us
CGP507 Graphs - Theory, Algorithm Implementation and Applications 3 Contact Us

There are five main course areas:

  • Maths and Geometry (Courses CGP101 to CGP105)
  • Computer Game Development Skills (Courses CGP201 to CGP204)
  • Computer Graphics (Courses CGP301 to CGP306)
  • Programming - Algorithms and Data Structures(Course CGP401 - which has C++, C#, Java , Python and Lisp variants)
  • Specialist modules (Courses CGP501 to CGP507)

The Maths and Geometry Modules are targetted at developers whose knowledge may be a "little rusty". These topics may have been studied as part of an undergraduate or postgraduate course but then not used in any applications. It may be that some of these topics may have been "optional" modules that were not selected for study. The aim of these modules is to get developers up to speed, without unnecessary formalism and with the emphasis being on understanding the concepts, being able to apply them, and being able to read the "heavyweight proofs and theory" when really necessary.

The Computer Game Development modules - which cover Physics, AI, Animation as well as Analysis and Design are technical topics that need to be mastered as necessary to bring "creative ideas" to fruition. These modules are "broad brush" in nature ... but if needed can be extended (tailored) to cover particular topics in greater detail.

The Computer Graphics modules cover the various graphically oriented game development frameworks. They come in an intensive introduction version and a more advanced version for those who already know the basics. The OpenGL courses can be run on Microsoft Windows, Linux or MAC OSX platforms. The DirectX courses are run on PCs running Microsoft Windows. The XNA courses can be run on either PCs alone, or a mixture of PCs and game stations.

The programming language modules are, essentially, programming language oriented and cover data structures and algorithms that all advanced programmers should know about. Very often, university courses ( with some notable exceptions ) only "scratch the surface" of this subject. Alternatively computer game programmers who have followed more of a "self teaching" path have found this subject area "dry and intimidating". Hopefully these modules will prove "inspirational".

The specialised modules are there to be used, where necessary, to gain a fast track understanding of advanced and specialised topics in a more effective way than reading advanced technical papers and specialised technical books.