Training Courses |
C Programming for EngineersCourse id: 0019 SynopsisC is the programming language of choice for many PC and embedded applications, and will be the dominant language for the foreseeable future. This intensive course covers basic to advanced C concepts with a strong focus on engineering problems. Participants would, in addition, be taught structured programming for system reliability and efficient coding styles.
Course highlight
Participants will have practical experiences using the gcc compiler toolset for cross compilation. What participants say about the course The following are some verbatim statements from the participants: - The assignment and instructor personal guidance -- Jan 2010
-
Learn how to program good programming way -- Jan 2010
-
Material presented was great -- May 2013
-
Very punctual and certainly robust in terms of knowledge and problem solving -- May 2013
-
The instructor is knowledgeable, manage interact participants, manage give examples on real engineering issues compare to learning activities -- Sept 2013
What you will learnThis course concentrates on the theoretical and practical knowledge to allow participants to achieve the following learning outcomes. Upon completing the course, participants would be able to:
- Use the MISRA C guidelines for safe and reliable coding
- Know the different data types and operators, and the pitfalls associated with certain data type-operator combinations due to implicit type conversions.
- Understand and use suitable flow controls for structure programming, and the pitfalls associated with looping structures
- Use pointers and arrays, understand their relationship, and know the caveats and pitfalls of using them
- Use preprocessors directives for modularization and code reuse
- Implement finite state machines (FSM) for non-blocking, concurrent processes
Who should attendThis course is particularly suited for engineers with rudimentary C programming knowledge who would like/required to develop reliable and efficient applications in C. This course is the recommended prerequisite for the 'C Programming for Reliable Embedded Systems' course.PrerequisiteParticipants should have rudimentary programming experience and a good command of English.Course methodologyThis course is presented in a workshop style with example-led lectures interlaced with hands-on practical for maximum understanding.Course duration4 days.Course structure
- Introduction:
- History of C
- MISRA C 2004 Guidelines
- Compilation process
- Basics:
- Hello World
- Comments
- Variables
- Primary data types
- Typecasting
- Operators: arithmetic, assignment, equality, relational, increment, decrement, logical
- Arrays: access, storage, cache access
- Structured Programming:
- Flow control: loops, break, continue, conditional
- Structured programming: requirement to flowcharts, STD and ASM
- Debugging
- Modularisation:
- Functions: definition, prototype, passing arguments, storage classes, scope rules, recursion, standard library function
- Preprocessor directives: conditional compilation
- Modular programming: advantages, linking
- Compound Data Types and Pointers:
- Compound data types: structure, union, bitfield
- Pointers: referencing and dereferencing, storage, void, parameter passing, const qualifier
- Characters and strings: storage, functions
- Dynamic memory allocation
- Inputs and Outputs:
- Streams
- Standard I/O: printf, scanf
- File handling: reading, writing
- Circular buffers
InstructorDr Royan Ong
|
Course Schedule |