Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Development Tools No-Code Development
Business
Entrepreneurship Communications Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certification Network & Security Hardware Operating Systems Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design Design Thinking 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition Yoga Mental Health Dieting Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Teacher Training Test Prep Other Teaching & Academics
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Cisco CCNA Amazon AWS CompTIA Security+ AWS Certified Developer - Associate
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting InDesign Character Design Canva Figure Drawing
Life Coach Training Neuro-Linguistic Programming Personal Development Mindfulness Meditation Personal Transformation Life Purpose Emotional Intelligence Neuroscience
Web Development JavaScript React CSS Angular PHP WordPress Node.Js Python
Google Flutter Android Development iOS Development Swift React Native Dart Programming Language Mobile Development Kotlin SwiftUI
Digital Marketing Google Ads (Adwords) Social Media Marketing Google Ads (AdWords) Certification Marketing Strategy Internet Marketing YouTube Marketing Email Marketing Google Analytics
SQL Microsoft Power BI Tableau Business Analysis Business Intelligence MySQL Data Modeling Data Analysis Big Data
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Online Business Business Plan Startup Blogging Freelancing Home Business
Unity Game Development Fundamentals Unreal Engine C# 3D Game Development C++ 2D Game Development Unreal Engine Blueprints Blender
30-Day Money-Back Guarantee
IT & Software Operating Systems C++

System C/C++ Course on Linux Timers Implementation & Design

Data Structure & Algorithm to Schedule future events, Linux System Programming, Operating systems, C/C++ programming
Rating: 4.4 out of 54.4 (19 ratings)
404 students
Created by Abhishek CSEPracticals, Shiwani Nigam, Ekta Ekta
Last updated 3/2021
English
English [Auto]
30-Day Money-Back Guarantee

What you'll learn

  • Design and Implementing Timers
  • Schedule and Trigger events in Future
  • Solve concurrency problem with Timers, Develop Timer Library
  • Develop Scalable and hierarchical Timers

Requirements

  • C coding language, Linux Operating System only
  • You should familiar with basic data structures such as linked list and function pointers.
  • Basics of Multi-threading - to start a thread
  • Must know Callbacks (function pointers)

Description

O Ghosh !! I just cannot shout-out more how important TIMERS are in almost all applications or projects. Timers are used to schedule events to be triggered or fired in future. How have you been doing this till now ?

Timers Use case Scenarios :

1. Firing One time future Event : Delete something after 100 seconds

2. Firing Repeated Regular future Events : Send packet to machine X after every 5 seconds

3. Periodic Waits : Try something 5 times at an interval of 3 seconds


How would you design a timer ?   PET Question for interview. So better prepare for it.


About this Course This is short project based course, yet important course to cover Data Structures and Algorithms involved in designing efficient timers.  We shall be using C as a programming language, but you are free to use your favorite programming language. This course is Programming language agnostic.


Course Pre-requisite

If you can code in any programming language, that suffice.

You should familiar with basic data structures such as linked list and function pointers.

Basics of Multi-threading


Also, Please just do not sit and watch my codes. Write your own codes, even if it is same as mine !


No Third Party libraries

Whatever logic you implement, you need to implement it from scratch. This course do not suggest taking help of any third party library to get the jobs done. Use of external libraries completely defeats the purpose of the course. However, it is recommended to use third party libraries for commonly used data structures such as linked lists/Trees/Queues etc which saves a lot of time implementing these data structures.


Warning : This course has auto system-generated subtitles which may not be perfect. Please disable subtitles as per your convenience.

Who this course is for:

  • Beginners, Intermediates and Professionals
  • Those who want to grow as Champ Developers
  • Ace interview Design Questions

Course content

7 sections • 42 lectures • 3h 49m total length

  • Preview02:39
  • Join Telegram Group
    00:13
  • Timer Relevance
    02:08
  • Timer Types
    02:57
  • Posix APIs for Timers
    02:10
  • Timer Design
    07:00
  • Timer Creation Steps - Theory
    09:44
  • Timer Implementation and Demo
    14:15

  • Wrapper Timer - Introduction
    03:31
  • Wrapper Timer - Data Structure
    08:29
  • Mandatory Assignment
    2 questions
  • Timer States
    03:52
  • Mandatory Assignment
    2 questions
  • Implementing Timer Constructor
    09:52
  • Timer Callback function
    02:23
  • Start Timer APIs
    03:29
  • Test Program
    03:31
  • Obtaining timer Remaining time
    02:53
  • Pausing the timer
    02:30
  • Resuming the Timer
    03:49

  • Problem Statement
    08:33
  • Hint to Solution
    04:19
  • Preview04:13

  • Preview08:06
  • Design Part2
    09:55
  • Implementation
    20:13
  • Demonstration
    10:50
  • Coding Assignment
    01:35

  • Preview02:56
  • Server Side Database Implementation
    04:40
  • Client Side Database Implementation
    08:37
  • Project Optional Extensions
    04:36

  • Introduction
    03:45
  • Event Scheduling - Example 1
    04:06
  • Event Scheduling - Example 2
    04:03
  • Event Scheduling - Example 3
    03:05
  • Conclusion
    02:06
  • Bonus !
    01:20

  • Introduction
    05:08
  • Makefile Analogy - Dependency Tree
    05:35
  • Assignment Part 1
    05:41
  • Assignment Part 2
    11:15
  • Final Makefile
    08:02
  • Bonus !
    01:16

Instructors

Abhishek CSEPracticals
I build Networks !
Abhishek CSEPracticals
  • 4.4 Instructor Rating
  • 1,706 Reviews
  • 15,279 Students
  • 14 Courses

I have been engaged with coding and software for more than 8 years. I am a Networking developer at MNC. My rich working experience is backed by graduation from IIT Bombay as an MTech specialist. I am restless for more in-depth knowledge, and always working out the ways to integrate what I know in practical ways. I am always happy to train and encourage people on Udemy – the next-gen education platform.

I will help you to strengthen the networking concepts and fundamentals in a very practical way. You’ll complete assignments and work on a project where you’ll use all the theory provided by me. I make sure you build a proper understanding and that you’ll get all the questions explained. Let me take the privilege to guide you and bring useful additions to your resume!

Shiwani Nigam
Digital Marketing Executive
Shiwani Nigam
  • 4.4 Instructor Rating
  • 1,706 Reviews
  • 16,559 Students
  • 14 Courses

Hi, Myself Shivani Nigam, PhD in Marketing. I expertise in researching the consumer behavior in the context of purchasing the products online. I take the responsibility of marketing the online content (Udemy courses) on this platform.

I also ensure the courses are delivered with perfect Audio/Video Quality by technical Instructors, and ensures that students queries and doubts are addressed by technical instructors with priority.

Ekta Ekta
Facilities Manager
Ekta Ekta
  • 4.4 Instructor Rating
  • 1,706 Reviews
  • 15,279 Students
  • 14 Courses

Hi, I am Ekta, a facility Manager for Csepracticals. I am responsible for the maintenance and upkeep of an organization’s infrastructure, ensuring that they meet legal requirements and health and safety standards.

I ensure that the facility is operating as it should on a daily basis by completing daily inspections and conducting proactive and reactive maintenance.

  • Udemy for Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Impressum Kontakt
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Featured courses
Udemy
© 2021 Udemy, Inc.