Available courses

This course introduces the fundamentals of Hardware Description Languages (HDLs), primarily focusing on VHDL, which is used to model, design, simulate, and implement digital circuits. Students will learn how to describe the behavior and structure of combinational and sequential circuits using HDL syntax and constructs.

Key topics include:

  • HDL syntax and coding styles (behavioral, structural, and dataflow modeling)

  • Design and simulation of basic digital components (multiplexers, flip-flops, counters, etc.)

  • Finite State Machine (FSM) modeling

  • Testbench development for simulation and verification

  • Synthesis and implementation flow using FPGA tools

By the end of the course, students will be able to write HDL code, simulate digital systems, and understand how hardware is described at various abstraction levels, preparing them for more advanced courses in digital design and embedded systems.


1. Understand and remember algorithms and its analysis procedure.

2. Introduce the concept of data structures through ADT including List, Stack, Queues.

3. To design and implement various data structure algorithms.

4. To introduce various techniques for representation of the data in the real world.

5. To develop application using data structure algorithms.

6. Compute the complexity of various algorithms.

The main thrust of this course is to learn different numerical techniques used for solving algebraic and transcendental equations, Interpolation and polynomial approximations, numerical integration and differentiation.

1. To assess how the choice of data structures and algorithm design methods impacts the performance of programs.

2. To choose the appropriate data structure and algorithm design method for a specified application.

3. To study the systematic way of solving problems, various methods of organizing large amounts of data.

4. To solve problems using data structures such as linear lists, stacks, queues, binary trees, binary search trees, and graphs and writing programs for these solutions.

5. To employ the different data structures to find the solutions for specific problems