Human Computer Interaction: In this course Students will learn the fundamental concepts of human-computer interaction and user centered design thinking through working in teams on an interaction design project supported by lectures readings and discussions. They will learn to evaluate and design usable and appropriate software based on psychological social and technical analysis. They will become familiar with the variety of design and evaluation methods used in interaction design.
Software Engineering and Testing Methodologies: The objective of this course is to provide fundamental knowledge of software engineering and make student aware of best software engineering practices and contemporary software engineering tools.
Linux Programming Lab: The course is designed to make the students research/industry ready as by using the open source applications along with any of the Linux flavor operating systems.
Design and Analysis of Algorithms: This course introduces concepts related to the design and analysis of algorithms. Specifically it discusses recurrence relations and illustrates their role in asymptotic and probabilistic analysis of algorithms. It covers in detail greedy strategies divide and conquer techniques dynamic programming and max flow - min cut theory for designing algorithms and illustrates them using a number of well-known problems and applications.
Introduction to Graph Theory and its Application: This course is to teach students the basic graph theory concepts and their applications in computer science.
Mathematical and Statistical Techniques: In this subject the fundamental concepts and principles of Mathematical & Statistical Techniques together with the challenging issues in Computer Science software development will be introduced.  Discussion on various topics related to mathematics and Computer Science will also be conducted.