Course Objectives:
• To work with an IDE to create, edit, compile, run and debug programs.
• To analyze the various steps in program development.
•To develop programs to solve basic problems by understanding basic concepts in C like operators, control statements etc.
•To develop modular, reusable and readable C Programs using the concepts like functions, arrays etc.
• To write programs using the Dynamic Memory Allocation concept.
• To create, read from and write to text and binary files.

Course Outcomes:
• Formulate the algorithms for simple problems.
• Translate given algorithms to a working and correct program.
• Correct syntax errors as reported by the compilers.
• Identify and correct logical errors encountered during execution.
• Represent and manipulate data with arrays, strings and structures.
• Use pointers of different types.
• Create, read and write to and from simple text and binary files.
• Modularize the code with functions so that they can be reused.

Course Objectives:

  • To provide an understanding of the design aspects of operating system concepts through simulation.
  • Introduce basic Unix commands, system call interface for process management, interprocess communication and I/O in Unix.

Course Outcomes:

  • Simulate and implement operating system concepts such as scheduling, deadlock management, file management and memory management.
  • Able to implement C programs using Unix system calls.


Course Objectives:

  • It covers various concepts of C programming language.
  • It introduces searching and sorting algorithms.
  • It provides an understanding of data structures such as stacks and queues.

Course Outcomes:

  • Ability to develop C programs for computing and real-life applications using basic elements like control statements, arrays, functions, pointers and strings, and data structures like stacks, queues and linked lists. 
  • Ability to implement searching and sorting algorithms.

Course Objectives:

  • The IT Workshop for engineers is a training lab course spread over 60 hours. The modules include training on PC Hardware, Internet & World Wide Web and Productivity tools including Word, Excel, Power Point and Publisher.
  • PC Hardware introduces the students to a personal computer and its basic peripherals, the process of assembling a personal computer, installation of system software like MS Windows, Linux and the required device drivers. In addition hardware and software level troubleshooting process, tips and tricks would be covered. The students should work on working PC to disassemble and assemble to working condition and install Windows and Linux on the same PC. Students are suggested to work similar tasks in the Laptop scenario wherever possible. Internet & World Wide Web module introduces the different ways of hooking the PC on to the internet from home and workplace and effectively usage of the internet. Usage of web browsers, email, newsgroups and discussion forums would be covered. In addition, awareness of cyber hygiene, i.e., protecting the personal computer from getting infected with the viruses, worms and other cyber attacks would be introduced. Productivity tools module would enable the students in crafting professional word documents, excel spread sheets, power point presentations and personal web sites using the Microsoft suite of office tools and LaTeX.

Course Objectives:

  • Introduces object-oriented programming concepts using the C++ language.
  • Introduces the principles of data abstraction, inheritance and polymorphism; 
  • Introduces the principles of virtual functions and polymorphism. 
  • Introduces handling formatted I/O and unformatted I/O.
  • Introduces exception handling.

Course Outcomes:

  • Ability to develop applications for a range of problems using object-oriented programming techniques.

Course Objectives:

  • Introduce ER data model, database design and normalization.
  • Learn SQL basics for data definition and data manipulation.

Course Outcomes:

  • Design database schema for a given application and apply normalization.
  • Acquire skills in using SQL commands for data definition and data manipulation.
  • Develop solutions for database applications using procedures, cursors and triggers.

Course Objectives:

  • To write programs using abstract classes.
  • To write programs for solving real world problems using java collection frame work.
  • To write multithreaded programs.
  • To write GUI programs using swing controls in Java.
  • To introduce java compiler and eclipse platform.
  • To impart hands on experience with java programming.  

Course Outcomes:

  • Able to write programs for solving real world problems using java collection frame work.
  • Able to write programs using abstract classes.
  • Able to write multithreaded programs.
  • Able to write GUI programs using swing controls in Java.

Course Objectives:

  • To write programs in java to solve problems using divide and conquer strategy.
  • To write programs in java to solve problems using backtracking strategy.
  • To write programs in java to solve problems using greedy and dynamic programming techniques.

Course Outcomes:

  • Ability to write programs in java to solve problems using algorithm design techniques such as Divide and Conquer, Greedy, Dynamic programming, and Backtracking.

Course Objectives:

  • To understand the software engineering methodologies involved in the phases for project development.
  • To gain knowledge about open source tools used for implementing software engineering methods.
  • To exercise developing product-startups implementing software engineering methods.
  • Open source Tools: StarUML / UMLGraph / Topcased.
  • Prepare the following documents and develop the software project startup, prototype model, using software engineering methodology for at least two real time scenarios or for the sample experiments.
  • Problem Analysis and Project Planning -Thorough study of the problem – Identify Project scope, Objectives and Infrastructure.
  • Software Requirement Analysis – Describe the individual Phases/modules of the project and Identify deliverables. Identify functional and non-functional requirements.
  • Data Modeling – Use work products – data dictionary. 
  • Software Designing - Develop use case diagrams and activity diagrams, build and test class diagrams, sequence diagrams and add interface to class diagrams.
  • Prototype model – Develop the prototype of the product. 


Course Objectives:

  • To be able to introduce core programming basics and program design with functions using Python programming language.
  • To understand a range of Object-Oriented Programming, as well as in-depth data and information processing techniques. 
  • To understand the high-performance programs designed to strengthen the practical expertise. 

Course Outcomes:

  • Student should be able to understand the basic concepts scripting and the contributions of scripting language.
  • Ability to explore python especially the object oriented concepts, and the built in objects of Python.
  • Ability to create practical and contemporary applications such as TCP/IP network programming, Web applications, discrete event simulations.

Course Objectives:

  • To obtain practical experience using data mining techniques on real world data sets.
  • Emphasize hands-on experience working with all real data sets.

 Course Outcomes:

  • Ability to add mining algorithms as a component to the exiting tools
  • Ability to apply mining techniques for realistic data.

Course Objectives:

  • To understand the working principle of various communication protocols.
  • To understand the network simulator environment and visualize a network topology and observe its performance.
  • To analyze the traffic flow and the contents of protocol frames.


Course Outcomes:

  • Implement data link layer farming methods.
  • Analyze error detection and error correction codes.
  • Implement and analyze routing and congestion issues in network design.
  • Implement Encoding and Decoding techniques used in presentation layer.
  • To be able to work with different network tools.

Course Objectives:

  • To provide hands-on experience on web technologies.
  • To develop client-server application using web technologies. 
  • To introduce server-side programming with Java servlets and JSP.
  • To understand the various phases in the design of a compiler.
  • To understand the design of top-down and bottom-up parsers.
  • To understand syntax directed translation schemes.
  • To introduce lex and yacc tools.

Course Outcomes:

  • Design and develop interactive and dynamic web applications using HTML, CSS, JavaScript and XML.
  • Apply client-server principles to develop scalable and enterprise web applications.
  • Ability to design, develop, and implement a compiler for any language.
  • Able to use lex and yacc tools for developing a scanner and a parser.
  • Able to design and implement LL and LR parsers.

Course Objective:

  • The objective of this lab is to get an overview of the various machine learning techniques and can able to demonstrate them using python.

Course Outcomes:

  • Understand complexity of Machine Learning algorithms and their limitations;
  • Understand modern notions in data analysis-oriented computing;
  • Be capable of confidently applying common Machine Learning algorithms in practice and implementing their own;
  • Be capable of performing experiments in Machine Learning using real-world data.