C Programming Courses
|
These courses are scheduled on demand. |
|
The C Programming Language was developed at Bell Labs. Interestingly it was influenced by a language developed at Cambridge (UK) called BCPL. BCPL led to a language
called B and B evolved into C. In many ways C is a brilliant language which marries the ability to develop structured modular code, and yet, at the same time
is very close to underlying basic micro-controller instruction sets. It is probably no accident that many currently used languages such as C++, Java and C# owe
much to C.
C is still widely used in the development of embedded systems, including operating systems. The Linux Kernel, of course, is mostly written in C (with small amounts
of assembler for architecture specific details). Complex and sophisticated object oriented code can be implemented in C, as the design and implementation of
many of the components of Linux demonstrates.
It is still important to know how to code in C, if only to use powerful C/C++ based frameworks and libraries such as
libxml2 and opencv in mixed programming language environments ( e.g. mixed Objective C and C programs in iPhone applications, and
mixed Java and C programming via NDK in Android applications). Mention should also be made of Cython - a set of C extensions for Python, and Python wrappers
around numerical analysis libraries implemented in C.
Using C and tools such as Flex and Bison (formerly Lex and Yacc) it is possible to implement a whole variety of application specific "mini languages".
These C programming courses concentrate on ANSI C programming. FTT's Linux Posix API programming courses and Embedded C programming courses address
operating system and hardware specific aspects of C programming.
Click on the links below for HTML versions of the full course outllines
| Crs | Title | Days | Outline | |
|---|---|---|---|---|
| CL101 | Introduction to C Programming | 5 | HTML | |
| CL102 | Foundations of Dynamic Data Structures and Algorithms in C | 5 | HTML | |
