Coding Project - Programming Finite State Machines
4.2 (10 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
414 students enrolled

Coding Project - Programming Finite State Machines

C/C++ Projects, Library Design, System Projects, Programming based Course, Data Structures and Algorithms, Automata, TOC
4.2 (10 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
414 students enrolled
Last updated 9/2019
Current price: $13.99 Original price: $19.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 2 hours on-demand video
  • 2 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Assignments
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Principles of Designing a Programmable and Robust Library
  • Use of Function Pointers and Callbacks
  • Designing a solution to real world Problems
  • One more step towards preparing Design based Interview Questions
  • Implement Finite State Machines for Pattern Matching, Validatation and Computation
  • Implement Mealey/Moore Machines
  • Basic knowledge of Theory of Computation and Automata is required
  • Atleast above beginner level coding skills required
  • Zeal and enthusiasm to code and learn

This course is a Project-based course, and involved coding in C at every stage of the course. However you are free to do this course in your favorite programming language. This is a programming project course for Undergraduate Students.

Level : This Course is Best for those looking to do some non-trivial project after they have learned just more than basics of any main-stream programming language. Beginners to Intermediate level audience can opt for this course.

This is yet another very valuable Programming based Course Project - Programming Finite State Machines and harness its benefits in your Application. This course assumes that you have done the UG course on - Theory of computation and at-least you know the basics. TOC is completely theory based course, this course is the practical version of it.

Finite State Machines are an integral part of computer science and is used in many state driven problem solving.  For Example - Designing an Elevator Software.

It is important that we, as a Software Engineer, develop an ability to design and implement commonly used data structures, and FSMs are one such among many. Doing such Project based Courses develop critical skill of translating a real world Problem into Computer Algorithm.

Do all my courses, specifically project based one, and separate out yourself from the crowd.

In this Course, We shall develop Programmable Finite State Machine Library using which an application can instantiate specific FSM object and use it for FSM based problem solving such as Pattern Matching, Validation or Computation.

I guarantee, you will love the final product of this Course, and you will play around it like it is your favorite toy.

Whatever you learn through my courses, you learn from absolute ground level. This course does not violate the principle and teaches you how to FSM library step by step from absolute scratch - No framework, tools, supporting libraries or anything - just pure programming language of your choice is enough. Emphasis is on learning the concepts, not fancy tools.

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, beginning from #include <stdio.h>. 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.

Refund : This Course is covered by 30 days Full refund guarantee, no questions asked.

Who this course is for:
  • Students who have passed their 3rd semeser of UG
  • Working Professionals
  • Job seekers for Development Roles
  • Enhance Critical thinking of software designing
Course content
Expand all 20 lectures 01:59:09
+ What is this Course all About ?
4 lectures 19:39
Sample FSM
A Practice Sample Problem to Create a Finite Minimal FSM
Create a Finite FSM
2 questions
Project Outline
+ Phase 1 - Basic Data Structures and APIs Setup
3 lectures 26:10
How to Navigate Source Code ?
FSM Data Structures Setup
FSM Basic APIs Setup
In this Assignment, we shall create our first FSM using APIs and Data structures we discussed in this section. This is dead FSM, we have not yet implemented FSM algorithm. We shall be carry forwarding the solution to this assignment to implement concepts of subsequent sections of the course.
Create your first FSM
1 question
+ Phase 2 - FSM Execution Algorithm
4 lectures 17:45
execute_fsm() API Prototype
execute_fsm() API Implementation
This is Coding Assignment, You MUST not skip it . It will help you to understand the concepts coming in next sections of the course. This Assignment assumes that you have implemented FSM library to this point and tested. Now, we shall implement some more FSM and see how our library works.
Finite State Machine Coding Assignment
6 questions
+ Phase 3 - FSM producing output
4 lectures 25:14
Understanding Requirements
Output Function Callback Prototype

Check Resource section of Lecture 12 for all codes for phase 3

Phase3 - Code changes
Construct the FSMs producing output (Mealey Machines) as per the questions given.
Coding Assignment
4 questions
+ Phase 4 : Advance FSM
5 lectures 30:21
Advanced FSM
Problem Statement
Transition Table Entry Redesign
New Email Validator FSM
Code Change Discussions
Pls follow the Instructions as given in Questions.
Coding Assignment
3 questions
Pls follow the instructions as given in Questions.
Coding Assignment
2 questions