Available courses

  • To understand Object Oriented Programming concepts and basics of Java programming language
  • To know the principles of packages, inheritance and interfaces
  • To develop a java application with threads and generics classes
  • To define exceptions and use I/O streams
  • To design and build Graphical User Interface Application using JAVAFX

  • To understand the concepts of ADTs. 
  • To Learn linear data structures – lists, stacks, and queues. 
  • To understand non-linear data structures – trees and graphs. 
  • To understand sorting, searching and hashing algorithms. 
  • To apply Tree and Graph structures.

  • To analyze and design combinational circuits. 
  •  To analyze and design sequential circuits 
  • To understand the basic structure and operation of a digital computer.
  •  To study the design of data path unit, control unit for processor and to familiarize with the hazards. 
  • To understand the concept of various memories and I/O interfacing.

UNIT I - COMBINATIONAL LOGIC 

Combinational Circuits – Karnaugh Map - Analysis and Design Procedures – Binary Adder – Subtractor – Decimal Adder - Magnitude Comparator – Decoder – Encoder – Multiplexers - Demultiplexers

UNIT II - SYNCHRONOUS SEQUENTIAL LOGIC 

Introduction to Sequential Circuits – Flip-Flops – operation and excitation tables, Triggering of FF,Analysis and design of clocked sequential circuits – Design – Moore/Mealy models, state minimization, state assignment, circuit implementation - Registers – Counters.

UNIT III - COMPUTER FUNDAMENTALS

Functional Units of a Digital Computer: Von Neumann Architecture – Operation and Operands of Computer Hardware Instruction – Instruction Set Architecture (ISA): Memory Location, Address and Operation – Instruction and Instruction Sequencing – Addressing Modes, Encoding of Machine Instruction – Interaction between Assembly and High Level Language. 

UNIT IV - PROCESSOR 

 Instruction Execution – Building a Data Path – Designing a Control Unit – Hardwired Control, Microprogrammed Control – Pipelining – Data Hazard – Control Hazards. 

UNIT V - MEMORY AND I/O 

 Memory Concepts and Hierarchy – Memory Management – Cache Memories: Mapping and Replacement Techniques – Virtual Memory – DMA – I/O – Accessing I/O: Parallel and Serial Interface – Interrupt I/O – Interconnection Standards: USB, SATA.

  • To extend student’s logical and mathematical maturity and ability to deal with abstraction. 
  • To introduce most of the basic terminologies used in computer science courses and application of ideas to solve practical problems. 
  • To understand the basic concepts of combinatorics and graph theory. 
  • To familiarize the applications of algebraic structures. 
  • To understand the concepts and significance of lattices and boolean algebra which are widely used in computer science and engineering.

UNIT I - LOGIC AND PROOFS  

Propositional logic – Propositional equivalences - Predicates and quantifiers – Nested quantifiers – Rules of inference - Introduction to proofs – Proof methods and strategy. 

UNIT II - COMBINATORICS                                                                                  

Mathematical induction – Strong induction and well ordering – The basics of counting – The pigeonhole principle – Permutations and combinations – Recurrence relations – Solving linear recurrence relations – Generating functions – Inclusion and exclusion principle and its applications.

UNIT III - GRAPHS                                                                                                

Graphs and graph models – Graph terminology and special types of graphs – Matrix representation of graphs and graph isomorphism – Connectivity – Euler and Hamilton paths.

UNIT IV - ALGEBRAIC STRUCTURES                                                                 

Algebraic  systems – Semi groups and monoids - Groups – Subgroups – Homomorphism’s – Normal subgroup and cosets – Lagrange’s theorem – Definitions and examples of Rings and Fields.

UNIT V - LATTICES AND BOOLEAN ALGEBRA                                               

Partial ordering – Posets – Lattices as posets – Properties of lattices - Lattices as algebraic systems – Sub lattices – Direct product and homomorphism – Some special lattices – Boolean algebra – Sub Boolean Algebra – Boolean Homomorphism.


  • To understand the data science fundamentals and process. 
  • To learn to describe the data for the data science process. 
  • To learn to describe the relationship between data. 
  • To utilize the Python libraries for Data Wrangling. 
  • To present and interpret data using visualization libraries in Python