Skip to main content

Basic C Programming

Enrollment in this course is by invitation only

COurse Introduction!

Welcome to the IoT Programming with Lumi under the training program framework between FUNiX and Lumi Vietnam Joint Stock Company.

In your first course, you will begin with basic C Programming. The course is built with the aim of providing students with the basic knowledge of C language, one of the most popular programming languages today and widely used in the field of IoT. In this course, programming experts will introduce you to the basic concepts and applications of the C programming language, thereby providing you with a foundation to develop IoT programming skills. 

The course will have 4 parts, with 15 lessons. Contents of the lessons focus on the main components of C programming such as variables and data types; structure and file; help you familiarize yourself with the basic syntax forms, memory management, and pointer usage. Throughout the course, Exercise and Lab exercises will help you to increase the memorization and application of the theory learned into real problems. At the end of each session, participants will do major exercises related to actual IoT applications such as calculating the location of the wifi transmitter in the house to find the best location for the central controller. or sensor-based data message processing techniques.

This course does not require students to have many skills or work experience in programming but requires the ability to explore research, cultivate logical thinking, and make a reasonable study plan to complete. into post according to the set route. Each lesson will have videos and readings that require students to carefully watch, the introduction and summaries of each lesson also require students to spend time researching and synthesizing knowledge. During the learning process, students will actively connect directly with Mentors to get answers and share questions about the subject's content.


Course code: IOT301x
Course name: Basic C Programming
Number of credits: 3
Study time: 6 weeks


  • Understand the basics of C programming
  • Understand and apply C programming language to implement some basic algorithms
  • Understand and apply pointers in program memory management
  • Know how to apply C algorithm to real problems


Part 1: Introduction to programming and C programming language

  • Lesson 1 - Overview of C programming
  • Lesson 2 - Installing the software and running the program first
  • Lesson 3 - Some basic concepts
  • Lesson 4 - Variables and data types

Progress Test 1

Part 2: Basic syntax

  • Lesson 5 - Operators
  • Lesson 6 - Conditional structure
  • Lesson 7 - The structure of the loop
  • Lesson 8 - Arrays
  • Lesson 9 - Functions

Assignment 1 - Programming to solve triangles

Part 3: Managing memory and data

  • Lesson 10 - Character strings
  • Lesson 11 - Pointers (Part 1)
  • Lesson 12 - Pointers (Part 2)

Assignment 2 - Processing sensor data messages stored at the central controller

Part 4: Structures and files

  • Lesson 13 - Structures
  • Lesson 14 - Operation with Files
  • Lesson 15 - Getting familiar with some C libraries and summarizing

Assignment 3 - Point coordinate problem




   Mr. Nguyen Tuan Anh 

  • Chairman / CTO at Lumi Vietnam Joint Stock Company
  • Graduated in Engineering in control and automation, Hanoi University of Science and Technology
  • 8 years of experience in research and development of Smarthome, IoT products
  • Lead Architect for Smart Home Solutions Lumi and Lumi Life Ecosystems

    Mr. Nguyen Huy Hoang

  • MCU Leader at Lumi Vietnam Joint Stock Company
  • Graduated in Engineering in control and automation, Hanoi University of Science and Technology
  • 6 years of experience in IoTs research and device development
  • Specialist programming languages C, C ++, C #, Java, Python
  • Profile online:


    Mr. Nguyen Binh Minh

  • Researcher, Toyota Technological Institute
  • PhD in Advanced Energy, Tokyo University
  • Master in Electrical Engineering, University of Tokyo
  • BA in Electrical Engineering, Hanoi University of Science and Technology
  • Areas of research: Control theory, motion control, multi-agent systems, electric cars
  • Main project: Electric car motion control, Camera chip plug machine control, Supply chain control, Large-scale power system frequency control, Drone motion control

       Mr. Khuat Duc Anh

  • Manager and Lecturer of Mechatronics Faculty - Phuong Dong University
  • Lecturer at FPT Jetking Hardware Networking Institute Hanoi (BE - basic electric, HL - hardware device, IoT - internet of things)
  • Lecturer at FPT Coking Academy Hanoi - majoring in IoT
  • Specialized specialties: Practice of electricity, electronics, mechatronics, automation, robotics and precision programming on CNC machines
  • Areas of expertise: C / C ++ Programming for AVR 8051 ARM ARDUINO microcontrollers, Java Desktop; software for designing circuits, emulating digital electronic circuits, microcontrollers, and specialized software in mechanical engineering


With this basic C Programming course, we confidently introduce to students the main MOOC resource of this subject is the C Programming for Beginners - Master the C Language course, provided by Udemy, one of the platforms that offers the most prestigious open online courses in the world today.

In the present era, each subject has many related resources including both printed and online books, FUNiX Way does not specify a specific resource but recommends for students to choose the most suitable source for them. In the process of learning from many different sources according to personal choice, when students arise questions, they will be connected with the mentor fastest for answers. The entire assessment consists of multiple choice questions, exercises, projects, and quizzes designed, developed, and administered by FUNiX.

FUNiX courses do not require learning materials, students can actively find and learn from any suitable source, including printed books or online resources (MOOCs) or websites. Use of such resources is solely the responsibility of the student and ensures compliance with the source owner's policies unless they are in formal cooperation with FUNiX. If you need assistance, you can contact FUNiX Training Department for guidance.

Below are some of the resources of the subject that students can refer to. Listing of the source below does not necessarily imply that FUNiX has an official partnership with the owner of the source: Udemy, Youtube, Codelearn.

Feedback channel

FUNiX is willing to receive and discuss all comments and feedback related to educational materials via email