The C/C++ Programming Language
  • ondemand_video
       Video Length : 18h51m54s
  • format_list_bulleted
       Tasks Number : 99
  • group
       Students Enrolled : 306
  • equalizer
       Medium Level
Authors

Kevin Gautama is a systems design and programming engineer with 16 years of expertise in the fields of electrical and electronics and information technology.

He teaches at the Hanoi University of Industry in the period 2003-2011 and he has a certificate of vocational training by the Ministry of Industry and Commerce and the Hanoi University of Industry.

From extensive design experience through numerous engineering projects, the author founded the Enziin Academy.

The Enziin Academy is a startup in the field of educational, it's core goal is to training design engineers in the fields technology related.

The Enziin Academy is headquartered in Stockholm-Sweden with an orientation operating multi-lingual and global.

The author's skills in IT:

  • Implementing the application infrastructure on Amazon's cloud computing platform.
  • Linux server system administration (Sysadmin).
  • Design load balancing and content distribution system.
  • MySQL database administration.
  • C/C++/C# Programming
  • Ruby and Ruby on Rails Programming
  • Python and Django Programming
  • The WPF/C# on the .NET Framework Programming
  • The PHP/JAVA Programming
  • Machine Learning and Expert System.
  • Internet of Things.

The author's skills in the fields of electric and electronic:

  • The design of popular CPU / MCU systems.
  • Design FPGA / CPLD system (Xilinx - Altera).
  • Design and programming of DSP systems (Texas Instruments).
  • Embedded ARM system design.
  • The RTOS Programming
  • Design and programming electronic power systems.
  • PLC - inverter - sensor - electric control cabinet industrial.
  • Control systems distributed connection with Server.

Read more...

  • Curriculum
  • 1. Introduction the C programming language
    • videocam
      History

      11m26s
    • videocam
      Identifiers and Keywords

      11m26s
    • videocam
      Data types

      11m26s
    • videocam
      Typedef

      11m26s
    • videocam
      Const and Varialbe

      11m26s
    • videocam
      Array

      11m26s
  • 2. Input and Output Basic
    • videocam
      Standard Libraries

      11m26s
    • videocam
      The printf function

      11m26s
    • videocam
      The scanf function

      11m26s
    • videocam
      Using printer in C

      11m26s
  • 3. Expressions in C
    • videocam
      Arithmetic Operators in C

      11m26s
    • videocam
      Relational and Logical Operators

      11m26s
    • videocam
      Operation priorities in C

      11m26s
  • 4. C Programming Structure
    • videocam
      Comments

      11m26s
    • videocam
      Command Block

      11m26s
    • videocam
      Structure of program c

      11m26s
    • videocam
      Rule-Based Programming in C

      11m26s
    • videocam
      Control Statements in C

      11m26s
  • 5. Functional Programming
    • videocam
      Define a function

      11m26s
    • videocam
      Return value from function

      11m26s
    • videocam
      Recursive function

      11m26s
    • videocam
      Preprocessor

      11m26s
  • 6. Standard Libraries
    • videocam
      Type casting in C

      11m26s
    • videocam
      String functions in C

      11m26s
    • videocam
      The malloc and free memory

      11m26s
    • videocam
      Mathematical functions

      11m26s
  • 7. Pointers
    • videocam
      Pointers and addresses

      11m26s
    • videocam
      One-Dimensional Array with Pointer

      11m26s
    • videocam
      Multidimensional Array with Pointer

      11m26s
    • videocam
      Pointer to an Array

      11m26s
    • videocam
      Function Pointer in C

      11m26s
  • 8. Programming Structure in C
    • videocam
      Structure Definition

      11m26s
    • videocam
      Structure variable declaration

      11m26s
    • videocam
      Accessing members of a structure

      11m26s
    • videocam
      Array of structures

      11m26s
    • videocam
      Pointers to Structure

      11m26s
    • videocam
      Self Referential Data Structure

      11m26s
  • 9. Programming Files I/O in C
    • videocam
      Opening a file

      11m26s
    • videocam
      Reading and writing to a text file

      11m26s
    • videocam
      Reading and writing to a binary file

      11m26s
    • videocam
      Getting data using fseek()

      11m26s
    • videocam
      Deleting and Renaming a File

      11m26s
  • 10. Graphics Programming
    • videocam
      Graphics mode Initialization

      11m26s
    • videocam
      Graphics functions in C

      11m26s
    • videocam
      Draw shapes

      11m26s
  • 11. The C++ Programming Language
    • videocam
      Introduction to C++

      11m26s
    • videocam
      Difference Between C and C++

      11m26s
    • videocam
      Data Type of C++

      11m26s
    • videocam
      Basic Input/Output in C++

      11m26s
    • videocam
      Pointers and Arrays in C ++

      11m26s
    • videocam
      Structures - Unions and Enumerated Types

      11m26s
    • videocam
      Files I/O in C++

      11m26s
    • videocam
      Exception Handling in C++

      11m26s
    • videocam
      Namespaces

      11m26s
    • videocam
      Structured programming

      11m26s
  • 12. OOP in C++
    • videocam
      Introduction to Class

      11m26s
    • videocam
      Construction Cleanup Copy and Move

      11m26s
    • videocam
      Destructors

      11m26s
    • videocam
      Operator Overloading

      11m26s
    • videocam
      Derived Classes

      11m26s
    • videocam
      Class Hierarchies

      11m26s
    • videocam
      Friend Functions

      11m26s
  • 13. The Standard Library
    • videocam
      STL Containers

      11m26s
    • videocam
      STL Algorithms

      11m26s
    • videocam
      Memory and Resources

      11m26s
    • videocam
      Utilities in STL

      11m26s
    • videocam
      Strings in STL

      11m26s
    • videocam
      Regular Expressions

      11m26s
    • videocam
      I/O Streams

      11m26s
    • videocam
      Locales

      11m26s
    • videocam
      Numerics

      11m26s
    • videocam
      Concurrency

      11m26s
    • videocam
      Threads and Tasks

      11m26s
  • 14. Data Structures and Algorithms
    • videocam
      What is Stack?

      11m26s
    • videocam
      Program to implement a Stack

      11m26s
    • videocam
      Program to implement Queue

      11m26s
    • videocam
      Linked Lists

      11m26s
    • videocam
      Recursive

      11m26s
    • videocam
      Backtracking Algorithm

      11m26s
    • videocam
      Game Tree Algorithm

      11m26s
    • videocam
      Minimax Algorithm

      11m26s
    • videocam
      Binary Search Algorithm

      11m26s
    • videocam
      Insertion Sort

      11m26s
    • videocam
      Selection Sort

      11m26s
    • videocam
      Quick Sort

      11m26s
    • videocam
      Bubble Sort

      11m26s
    • videocam
      Divide and Conquer Algorithm

      11m26s
    • videocam
      Binary Trees

      11m26s
    • videocam
      B-Tree Algorithm

      11m26s
    • videocam
      Priority Queue

      11m26s
    • videocam
      Tables and Information Retrieval

      11m26s
    • videocam
      Hash Table

      11m26s
    • videocam
      Graph Data Structure And Algorithms

      11m26s
    • videocam
      Topological Sorting

      11m26s
    • videocam
      Shortest Path Algorithm

      11m26s
    • videocam
      Examples of Stack

      11m26s
    • videocam
      Examples of Queue

      11m26s
    • videocam
      Examples of Linked Lists

      11m26s
    • videocam
      Examples of Hash Table

      11m26s
Cplus2cover
The C/C++ Programming Language


Note: This is a module belongs to the classes, billing features separate for this module will be allowed if the content matches. The classes using this module are listed below.

Introduction C

The C Programming Language is a computer programming book written by Brian Kernighan and Dennis Ritchie, the latter of whom originally designed and implemented the language, as well as co-designed the Unix operating system with which development of the language was closely intertwined.

The book was central to the development and popularization of the C programming language and is still widely read and used today.

Because the book was co-authored by the original language designer, and because the first edition of the book served for many years as the de facto standard for the language, the book was regarded by many to be the authoritative reference on C.

The first edition of the book, published in 1978, was the first widely available book on the C programming language.

Brian Kernighan wrote the first C tutorial, the authors came together to write the book in conjunction with the language's early development at AT&T Bell Labs.

ANSI C, first standardized in 1989, has since undergone several revisions, the most recent of which is ISO/IEC 9899:2011 (also termed C11), adopted as an ANSI standard in October 2011. However, no new edition of The C Programming Language has been issued to cover the more recent standards.

Introduction C++

C++ is a general-purpose programming language. It has imperative, object-oriented and generic programming features, while also providing facilities for low-level memory manipulation.

It was designed with a bias toward system programming and embedded, resource-constrained and large systems, with performance, efficiency and flexibility of use as its design highlights.

C++ has also been found useful in many other contexts, with key strengths being software infrastructure and resource-constrained applications, including desktop applications, servers, and performance-critical applications.

C++ is a compiled language, with implementations of it available on many platforms. Many vendors provide C++ compilers, including the Free Software Foundation, Microsoft, Intel, and IBM. C++ is standardized by the ISO, with the latest standard version ratified and published by ISO in December 2014 as ISO/IEC 14882:2014 (informally known as C++14).

The current C++14 standard supersedes these and C++11, with new features and an enlarged standard library. Before the initial standardization in 1998, C++ was developed by Bjarne Stroustrup at Bell Labs since 1979, as an extension of the C language as he wanted an efficient and flexible language similar to C, which also provided high-level features for program organization.

The C++17 standard is due in July 2017, with the draft largely implemented by some compilers already, and C++20 is the next planned standard thereafter.
Many other programming languages have been influenced by C++, including C#, D, Java, and newer versions of C.

Philosophy

Throughout C++'s life, its development and evolution has been informally governed by a set of rules that its evolution should follow:

  • It must be driven by actual problems and its features should be useful immediately in real world programs.
  • Every feature should be implementable.
  • Programmers should be free to pick their own programming style, and that style should be fully supported by C++.
  • Allowing a useful feature is more important than preventing every possible misuse of C++.
  • It should provide facilities for organising programs into well-defined separate parts, and provide facilities for combining separately developed parts.
  • No implicit violations of the type system
  • User-created types need to have the same support and performance as built-in types.
  • Unused features should not negatively impact created executables.
  • There should be no language beneath C++.
  • C++ should work alongside other existing programming languages, rather than fostering its own separate and incompatible programming environment.
  • If the programmer's intent is unknown, allow the programmer to specify it by providing manual control.

Example

The C++ language has two main components: a direct mapping of hardware features provided primarily by the C subset, and zero-overhead abstractions based on those mappings. Stroustrup describes C++ as "a light-weight abstraction programming language for building and using efficient and elegant abstractions" and "offering both hardware access and abstraction is the basis of C++.

Doing it efficiently is what distinguishes it from other languages". C++ inherits most of C's syntax.

The following is Bjarne Stroustrup's version of the Hello world program that uses the C++ Standard Library stream facility to write a message to standard output:

#include <iostream>
 
 int main() {
     std::cout << "Hello, world!\n";
     return 0;
 }

Table of content

1. Introduction the C programming language

  • History
  • Identifiers and Keywords
  • Data types
  • Typedef
  • Const and Varialbe
  • Array

2. Input and Output Basic

  • Standard Libraries
  • The printf function
  • The scanf function
  • Using printer in C

3. Expressions in C

  • Arithmetic Operators in C
  • Relational and Logical Operators
  • Operation priorities in C

4. C Programming Structure

  • Comments
  • Command Block
  • Structure of program
  • Rule-Based Programming
  • Control Statements

5. Functional Programming

  • Define a function
  • Return value from function
  • Recursive function
  • Preprocessor

6. Standard Libraries

  • Type casting in C
  • String functions in C
  • The malloc and free memory
  • Mathematical functions

7. Pointers

  • Pointers and addresses
  • One-Dimensional Array with Pointer
  • Multidimensional Array with Pointer
  • Pointer to an Array
  • Function Pointer in C

8. Programming Structure in C

  • Structure definition
  • Structure variable declaration
  • Accessing members of a structure
  • Array of structures
  • Pointers to structure
  • Self referential data structure

9. Programming Files I/O in C

  • Opening a file
  • Reading and writing to a text file
  • Reading and writing to a binary file
  • Getting data using fseek()
  • Deleting and Renaming a File

10. Graphics Programming

  • Graphics mode Initialization
  • Graphics functions in C
  • Draw shapes

11. The C++ Programming Language

  • Introduction to C++
  • Difference Between C and C++
  • Data Type of C++
  • Basic Input/Output in C++
  • Pointers and Arrays in C ++
  • Structures - Unions and Enumerated Types
  • Files I/O in C++
  • Exception Handling in C++
  • Namespaces
  • Structured programming

12. OOP in C++

  • Introduction to Class
  • Construction Cleanup Copy and Move
  • Destructors
  • Operator Overloading
  • Derived Classes
  • Class Hierarchies
  • Friend Functions

13. The Standard Library

  • STL Containers
  • STL Algorithms
  • Memory and Resources
  • Utilities in STL
  • Strings in STL
  • Regular Expressions
  • I/O Streams
  • Locales
  • Numerics
  • Concurrency
  • Threads and Tasks

14. Data Structures and Algorithms

  • What is Stack?
  • Program to implement a Stack
  • Program to implement Queue
  • Linked Lists
  • Recursive
  • Backtracking Algorithm
  • Game Tree Algorithm
  • Minimax Algorithm
  • Binary Search Algorithm
  • Insertion Sort
  • Selection Sort
  • Quick Sort
  • Bubble Sort
  • Divide and Conquer Algorithm
  • Binary Trees
  • B-Tree Algorithm
  • Priority Queue
  • Tables and Information Retrieval
  • Hash Table
  • Graph Data Structure And Algorithms
  • Topological Sorting
  • Shortest Path Algorithm
  • Examples of Stack
  • Examples of Queue
  • Examples of Linked Lists
  • Examples of Hash Table