| |
Hands-On C Programming
Frequently Asked Questions
What is this course about?This course is a thorough, fast-paced introduction to the Standard C programming language and its proper use. The course begins with basics (variables, functions, data types) and proceeds through more advanced topics (pointers, structures, dynamic memory allocation). By the end of the course, you'll have a firm grasp not only of C syntax but also of how to apply C in real programming projects.What is C?C is firmly entrenched as one of the most widely used languages for UNIX, Linux and Windows-based software development, and is also widely
used in other areas, from embedded systems to supercomputer applications.
What background do I need? This course assumes that participants are professional programmers with at least one year of experience
in a compiled, procedural language such as Pascal, FORTRAN, COBOL, PL/1, Ada or Modula-2. Prior experience with C is not assumed.
Who will benefit from this course?This course is valuable for software engineers and application and system programmers who need to get up to speed quickly in the C language.What C compiler do you use?Depending on the hardware available at the course site, we may use any one of a number of different compilers, including Visual C/C++ under Windows, Sun C/C++ under Solaris, or GNU C under UNIX or Linux. Since we avoid any non-standard extensions to C, the course is identical for all Standard C compilers (except for non-compiler-related details such as how to copy and rename files, etc.). We have presented this course at customer sites using Microsoft C compilers, DEC VMS C compilers, and several others.My company has the XYZ C compiler running on an ABC system. Does this course cover XYZ C?One of the greatest benefits of C is its portability: different C compilers differ from one another much less than do, say, different Pascal or FORTRAN compilers. After the course, you will be able to do effective C programming using whatever compiler and system your company happens to have. Some compilers add non-standard extensions to the language, but the fundamentals are always the same.This course covers Standard C, supported by most Windows, Linux and UNIX compilers. How much time is spent on each topic? | Content | Hours | | Introduction to the development environment | 1.0 | | The building blocks of C programs | 3.0 | | Base types, pointers and arrays | 4.5 | | Control flow and functions | 3.5 | | Arrays and pointers revisited | 2.0 | | Structures and graphs | 4.5 | | Program organisations | 1.5 | | Hardware and operating systems | 1.5 | | Tools and libraries | 2.0 | | The C family | 0.5 | Times, including the workshops, are estimates; exact times may vary according to the needs of each class.How many hands-on exercises are there?There are more than 12 hands-on workshops intermingled throughout the course and, depending on class requirements, times for various topics will vary.Does this course cover graphics programming? Database programming? Device drivers? User interfaces?This course is a general introduction to the Standard C language. It does mention how some techniques can be applied to special situations, but the course doesn't concentrate on any specific area of application or system programming. Programmers experienced in a specific area of programming will immediately recognise how to use C to do what they need, after we've presented the general concepts and techniques.How does this course relate to other Learning Tree courses? The C language can be put to good use in a staggering number of fields. Other Learning Tree courses that may be of interest are: 397, C++ Best Practices and Design Patterns: Hands-On covers the professional usage of C++ as it applies to design patterns, use of the ANSI/ISO Standard Library, and use of a modern professional toolset, including an object database.471, Java Programming: A Comprehensive Hands-On Introduction provides a solid introduction to programming in Java.322, Systems Analysis and Design: A Comprehensive Hands-On Introduction provides an overview of methods and tools for analysis and design of software systems. UML is used as the standard modelling notation to describe data, process and object models in the course. 312, Software Quality Assurance: Delivering Consistent Quality offers experience in building quality into your basic processes so as to achieve faster development of better software for less money.419, C# Programming: Hands-On offers complete coverage of C#, explaining the core and more advanced parts of the language itself. You also gain a fundamental experience on how C# is used as part of the .NET Framework, including implementation and deployment of .NET components and the use of C# in mixed language situations. |
|
|