Search results: 141

Show 10 per page

Introductory Computational Physics (CS201)

Course Placement

Introductory Computational Physics is a core course offered to second year students of B.Tech Hons. ICT (Minor in Computational Science) program. It is a pre-requisite for course on Modeling and Simulation.

 Course format

  • 3 hours lecture per week.
  • 3 hours lab per week. LAB 207. (Software : MATLAB)

 Course content

This is a calculus based introductory computational physics course aimed to develop insight into solving problems using Newton's laws of motion and basics principles of mechanics. Course focuses on topics such as fundamental concepts of classical mechanics, oscillations, dynamics of system of particles and rigid bodies, Lagrangian and Hamiltonian Dynamics, Rotational Motion and Rigid Bodies.

 Approach to be followed:

problem→theory→model→Compuational implementation (MATLAB)→ assessment and analysis

 Text Books

Classical Dynamics of Particles and Systems, 5th edition, S. T. Thornton and J. B. Marion, Cengage Learning, 2012.

Classical Mechanics, 3rd  Edition, H. Goldstein, C. Poole, and J. Safko, Pearson India, 2011.

Any MATLAB book.

 Assessment method/ Grading

Theoretical/Exam: Two mid-semester examinations and a final examination: 65% (20+20+25)

Lab207: Lab Assignment/ report submission: 30% + 5% (attendance)

 Grading scheme is relative and depends on both: class performance and minimum expectation from a student.

 Course Outcomes

Introductory Computational Physics course will help the students to analyze and model simple mechanical systems using both Newtonian mechanics and, Lagrangian and Hamiltonian approaches. The course will also prepare the students to build computational models to investigate dynamical system.

 After completing this course a student will have the ability

  • To understand and analyze motion in real world surroundings using a small set of powerful fundamental principles. The course will enhance the student’s problem solving skills.
  • To design, model and investigate complex engineering problems.

Category: Previous Semesters / Winter 2016 / BTech / Core

Self enrolment:  Introductory Computational Physics (CS201)

IT 304 L Computer Networks Lab

Write a concise and interesting paragraph here that explains what this course is about

Category: Previous Semesters / Autumn 2008 / BTech ICT / Core

Guest access:  IT 304 L Computer Networks LabSelf enrolment:  IT 304 L Computer Networks Lab

Aim and objective: The course aims to give an overview of an important trend in high performance computing – GPU programming. 

General Purpose Graphical Processing Units (GPGPU) primarily refers to the use of GPUs for computationally intensive mathematical and scientific computing. The enormous peak performance of GPUs for arithmetically intensive computations relatively at a much lower cost compared to CPUs makes GPU computing a very attractive new alternative for computationally demanding problems.

The course will help the students in understanding the basic concepts of GPU programming, CUDA (Compute Unified Device Architecture) parallel computing platform and hands-on experience on implementing some standard scientific and engineering algorithms. Main topics include: Modern processors, GPU architecture, parallel algorithm design, data parallelism, CUDA thread organization, CUDA memories,  Performance Considerations and important Parallel patterns.

Lecture hours per week: 3 + Practical hours per week: 2


Category: Previous Semesters / Autumn 2017 / BTech / Elective

Self enrolment:  IT477 Introduction to GPU programming

B.Tech. Project

This course is meant to handle the B.Tech. Projects of the final year undergrad students and will contain link to the Main BTP Site.

Category: Previous Semesters / Autumn 2012 / Winter 2012 / Summer 2012 / B.Tech. Project

Self enrolment: B.Tech. Project

Computer Organization

The objective of the course is to teach basics of computer organization. This includes,

- Digital electronics (Gates and Flip Flops)
- Memory
- IO Devices
- Processors ( 32 bit and 8 bit)


Category: Previous Semesters / Autumn 2012 / MScIT Courses

Self enrolment: Computer Organization

CS-201 Computational Physics

Course Placement

Introductory Computational Physics is a core course offered to second year students of B.Tech Hons. ICT (Minor in Computational Science) program. It is a pre-requisite for course on Modeling and Simulation.

 Course format

  • 3 hours lecture per week (Monday, Wednesday and Friday).
  • 3 hours lab per week. LAB 207. (Software : MATLAB)

 Course content

This is a calculus based introductory computational physics course aimed to develop insight into solving problems using Newton's laws of motion and basics principles of mechanics. Course focuses on topics such as fundamental concepts of classical mechanics, oscillations, dynamics of system of particles and rigid bodies, Lagrangian and Hamiltonian Dynamics, Rotational Motion and Rigid Bodies.

 Approach to be followed:

problem→theory→model→Compuational implementation (MATLAB)→ assessment and analysis

 Text Books

Classical Dynamics of Particles and Systems, 5th edition, S. T. Thornton and J. B. Marion, Cengage Learning, 2012.

Any MATLAB book.

 Assessment method/ Grading

Theoretical/Exam: Two mid-semester examinations and a final examination: 70% (20+25+25)

Lab207: Lab Assignment/ report submission: 25% + 5% (attendance)

 Grading scheme is relative and depends on both: class performance and minimum expectation from a student.

 Course Outcomes

Introductory Computational Physics course will help the students to analyze and model simple mechanical systems using both Newtonian mechanics and, Lagrangian and Hamiltonian approaches. The course will also prepare the students to build computational models to investigate dynamical system.

 After completing this course a student will have the ability

  • To understand and analyze motion in real world surroundings using a small set of powerful fundamental principles. The course will enhance the student’s problem solving skills.
  • To design, model and investigate complex engineering problems.

Category: Previous Semesters / Winter 2018 / BTech / Core

Self enrolment: CS-201 Computational Physics

CS-201 Introductory Computational Physics

Course Placement

Introductory Computational Physics is a core course offered to second year students of B.Tech Hons. ICT (Minor in Computational Science) program. It is a pre-requisite for course on Modeling and Simulation.

 Course format

  • 3 hours lecture per week (Monday, Wednesday and Friday).
  • 3 hours lab per week. LAB 207. (Software : MATLAB)

 Course content

This is a calculus based introductory computational physics course aimed to develop insight into solving problems using Newton's laws of motion and basics principles of mechanics. Course focuses on topics such as fundamental concepts of classical mechanics, oscillations, dynamics of system of particles and rigid bodies, Lagrangian and Hamiltonian Dynamics, Rotational Motion and Rigid Bodies.

 Approach to be followed:

problem→theory→model→Compuational implementation (MATLAB)→ assessment and analysis

 Text Books

Classical Dynamics of Particles and Systems, 5th edition, S. T. Thornton and J. B. Marion, Cengage Learning, 2012.

Classical Mechanics, 3rd  Edition, H. Goldstein, C. Poole, and J. Safko, Pearson India, 2011.

Any MATLAB book.

 Assessment method/ Grading

Theoretical/Exam: Two mid-semester examinations and a final examination: 65% (20+20+25)

Lab207: Lab Assignment/ report submission: 30% + 5% (attendance)

 Grading scheme is relative and depends on both: class performance and minimum expectation from a student.

 Course Outcomes

Introductory Computational Physics course will help the students to analyze and model simple mechanical systems using both Newtonian mechanics and, Lagrangian and Hamiltonian approaches. The course will also prepare the students to build computational models to investigate dynamical system.

 After completing this course a student will have the ability

  • To understand and analyze motion in real world surroundings using a small set of powerful fundamental principles. The course will enhance the student’s problem solving skills.
  • To design, model and investigate complex engineering problems.

Category: Previous Semesters / Winter 2017 / BTech / Core

Self enrolment: CS-201 Introductory Computational Physics

CS-301 (High Performance Computing)

This course is an introduction to parallel computing and aims at teaching basic models of parallel programming including the principles of parallel algorithm design, parallel computer architectures, programming models for shared and distributed-memory systems, OpenMP, message passing programming models along with some important scientific and engineering algorithms.

Major part of the course includes lectures and Lab Component for actual implementation after learning the basics of Parallel programming and HPC.

Course format

3 hours lecture per week. + 3 hours lab per week.

Course Placement

HPC is a core course offered to third year students of B.Tech Hons. ICT with Minor in Computational Science program. 

References:

  1.       An Introduction to Parallel Programming; Elsevier; by Peter S. Pacheco.
  2.        Scientific Parallel Computing; Princeton University Press ; by Babak Bagheri Terry Clark L Ridgway Scott Bagheri Clark Scott
  3.      PARALLEL PROGRAMMING; Barry Wilkinson, Pearson Education.
  4.       Introduction to High Performance Computing for Scientists and Engineers; G. Hager & G. Wellein. CRC Press.
  5.       Algorithms Sequential & Parallel: A Unified Approach,  by Millers Russ; Cengage, ISBN 9788131525050
  6.        Parallel Programming in C with MPI and OpenMP; by Michael J. Quinn ; McGraw-Hill Higher Education
  7.       Parallel Computing Theory and Practice. By Michael J. Quinn; McGraw Hill Education (India).

Category: Previous Semesters / Autumn 2016 / BTech / Core

Self enrolment: CS-301 (High Performance Computing)

CS-301 High performance computing

This course is an introduction to parallel computing and aims at teaching basic models of parallel programming including the principles of parallel algorithm design, modern processors and parallel computer architectures, programming models for shared and distributed-memory systems, optimization and performance analysis, OpenMP, message passing programming models along with some important scientific and engineering algorithms/parallel patterns.

Major part of the course includes lectures and Lab Component for actual implementation after learning the basics of Parallel programming and HPC.

Course format

3 hours lecture per week. + 3 hours lab per week.

Course Placement

HPC is a core course offered to third year students of B.Tech Hons. ICT with Minor in Computational Science program. 

References:

  1.       An Introduction to Parallel Programming; Elsevier; by Peter S. Pacheco.
  2.        Scientific Parallel Computing; Princeton University Press ; by Babak Bagheri Terry Clark L Ridgway Scott Bagheri Clark Scott
  3.      PARALLEL PROGRAMMING; Barry Wilkinson, Pearson Education.
  4.       Introduction to High Performance Computing for Scientists and Engineers; G. Hager & G. Wellein. CRC Press.
  5.       Algorithms Sequential & Parallel: A Unified Approach,  by Millers Russ; Cengage, ISBN 9788131525050
  6.        Parallel Programming in C with MPI and OpenMP; by Michael J. Quinn ; McGraw-Hill Higher Education
  7.       Parallel Computing Theory and Practice. By Michael J. Quinn; McGraw Hill Education (India).

Category: Previous Semesters / Autumn 2017 / BTech / Core

Self enrolment: CS-301 High performance computing

CS-302 Modeling and Simulation

Course Placement

Modeling and Simulation is a core course offered to third year students of B.Tech Hons. ICT (Minor in Computational Science) program. It is a pre-requisite for domain based specialization electives such as Computational Finance, Computational and systems Biology and Computational Physics.

Course format

  • 3 hours of lecture per week.

  • 3 hours lab per week.

Prerequisites

Introductory Calculus, Probability and Statistics, Introductory Physics and Numerical methods. Some experience with scientific computing would be beneficial but is not required.

Course Content

This course introduces students to fundamentals of creating mathematical models of physical systems and implementation on computers to analyze the system both to gain insight and make predictions. The different mathematical approaches to modelling that are covered in the course can be characterized into differential and difference equation based models, probability based models which includes stochastic differential equations, cellular automata and event based approaches, and matrix based models. The course is interdisciplinary in nature and looks at many systems from physics, biology, finance, engineering etc. from a modeling perspective. Each topic is followed by many examples from different disciplines. The students test and create models of these systems in the lab and report on it following the complete modelling approach.

Approach to be followed

system → Analyze the problem (determine problem's objective)→Formulate model (Gather data, make assumptions, determine equations/functions) → Solve model (Computer implementation) →Verify and interpret solutions → make predictions.

Text Book

  • Angela B. Shiflet & George W. Shiflet. Introduction to Computational Science: Modeling and Simulation for the Sciences. Princeton University Press, 2006.

Assessment method/Grading

Written exam: Two mid-semester examinations and a final exam/project: 70% (20+20+30)

Lab207: Lab Assignment, Viva, report submission: 30%

Course Outcome

After successful completion of the course the students would be able to create a relevant model for a multitude of problems from science and engineering, by extracting the necessary and relevent information regarding the problem. They would also be able to define the different modeling terms by analyzing the system or the data that is present. They would be able to implement the model on the computer and from the results check for the validity of the model and correcness of the assumptions present in the model. The should be able to analyze the outcomes (mostly through visualizations) and make predictions. They would also be able to understand the limitations of their model and nuances in computer modeling of sytems.


Category: Previous Semesters / Winter 2017 / BTech / Core

Self enrolment: CS-302 Modeling and Simulation

Imparting hands-on training and skills required for working with emerging multi-core computing architectures, by providing students with a solid background in scientific computing approaches and parallel algorithms. Main focus of the course : Shared Memory Parallelism, Distributed Memory Parallelism, Parallel Algorithms. Supported by examples, case-studies and projects.

References:
1. An Introduction to Parallel Programming; Elsevier; by Peter S. Pacheco.
2. Scientific Parallel Computing; Princeton University Press ; by Babak Bagheri Terry Clark
L Ridgway Scott Bagheri Clark Scott
3. PARALLEL PROGRAMMING; Barry Wilkinson, Pearson Education.
4. Introduction to High Performance Computing for Scientists and Engineers; G. Hager & G.
Wellein. CRC Press.
5. Algorithms Sequential & Parallel: A Unified Approach, by Millers Russ; Cengage, ISBN
9788131525050
6. Parallel Programming in C with MPI and OpenMP; by Michael J. Quinn ; McGraw-Hill
Higher Education
7. Parallel Computing Theory and Practice. By Michael J. Quinn; McGraw Hill Education
(India).


Category: Previous Semesters / Autumn 2015 / B.Tech / Core

Self enrolment: CS301-High Performance Computing (2015)

Error-control coding (ECC) is at the heart of Information and Communication Technology (ICT). Whenever you want to send information from one point to other point (communication) or send information from now to then (storage) you require error-control coding. Richard W. Hamming created first error-control codes out of frustration when he was working on Bell Model V computers. Every weekend the machine use to stop because of errors and Hamming said “why a computer can not detect and correct the errors itself". This resulted in his invention of Hamming codes that can correct single bit error. Error control coding was known before Hamming but very efficient codes were not known and it was after Hamming's discovery it has become a field of research for mathematicians, computer scientist, electrical engineers for about 50 years now. In fact Von Neumann wrote that error control is an integral part of every information processing. . So whenever there is information processing, there is error control coding. We can see now its importance in new computing paradigms such as quantum computers, bio-molecular computers. Network coding is another area that is emerging for all kind of networks. All ICT applications uses some form of coding from CD/DVD, hard disk data storage, deep space communications, wireless communications, power line communications, cell phones, sensor networks, data compressions, VLSI etc...Applications are endless. Now even people are trying to decipher what kind of error control coding is used in biological information processing? This is the greatest challenge for ICT in 21st century.

We ourselves use a crude form of error control coding in our day to day conversation between us (without knowing that it is ECC): Can you guess how?

In almost 50 years error control coding has found many deep connections with diverse areas such as the theory of computation, complexity, algorithms, algebra (finite fields and finite rings), linear algebra, cryptography, number theory, algebraic geometry, discrete mathematics and statistical physics. In this course we will study the basics of coding theory with main focus on codes which are optimal in the sense Shannon’s results.

More in the course…..so fasten your seatbelt ………….

This course is designed for 1st year MTech and final year BTech students. 3rd year BTech (6th Semester) students with strong academic record can also take this course.


Category: Previous Semesters / Winter 2009 / MTech ICT / Core

Self enrolment: CT 515 Error Control Coding

CT203 - Signals and Systems

It is a core course for BTech III.

Category: Previous Semesters / Autumn 2007 / BTech ICT / Core

Self enrolment: CT203 - Signals and Systems

CT303 - Digital Communication

In the history of electronics, first came the analog systems and then the digital systems. However, this is not true for communication systems. It was Samuel Morse (1837) who first demonstrated digital transmission by converting message signal into digital code. The next communication system was an analog system. by Alexander Graham Bell in 1876 In the present day, the digital communication industry is an enormous and rapidly growing industry, roughly comparable in size to the computer industry. Digital communication systems have now become the basic enablers of the information age. Examples include telephone transmission systems, wireless systems, optical transmission systems, digital television etc. This basic course introduces the fundamental principles and concepts dealing with digital communications.

 


Category: Previous Semesters / Autumn 2007 / BTech ICT / Core

Self enrolment: CT303 - Digital Communication

CT351 - Radio Frequency Engineering


In recent years, RF and microwaves are being extensively used in communication, defence and satellite systems, atmospheric research, radio spectroscopy, domestic microwave ovens and many other industrial applications. This rapid progress in RF and microwave electronics has created an increasing demand for such a course. The course is intended for the undergraduate specializing in Communications and Electronics streams.

The objective of this course is to make student sufficiently well acquainted with the principles of Electromagnetic/RF/Microwave Engineering to be able to design circuits for high-frequency operation.


Category: Previous Semesters / Autumn 2007 / BTech ICT / Technical Electives

Self enrolment: CT351 - Radio Frequency Engineering

The objective of this course is to provide the capabilities for solving the real life  signal processing problems like data compression, system modelling, equalization, interference canellation etc


Category: Previous Semesters / Autumn 2007 / BTech ICT / Technical Electives

Self enrolment: CT421 - Advanced Digital Signal Processing
Write a concise and interesting paragraph here that explains what this course is about

Category: Previous Semesters / Autumn 2007 / BTech ICT / Technical Electives

Self enrolment: CT437 - Speech Communication
Write a concise and interesting paragraph here that explains what this course is about

Category: Previous Semesters / Autumn 2007 / BTech ICT / Technical Electives

Self enrolment: CT451 - Advanced Radio Frequency Engineering
Instructor: Dr. Hrishikesh Venkataraman
Email: hrishikesh@daiict.ac.in
Office: Faculty Block 4, Room No: 4109

This course basically deals with the baseband and PHY layer concepts of wireless communications. It starts with 2nd generation GSM systems and IS-95 based CDMA systems. In the later stages would be OFDM systems, ad hoc and hybrid wireless networks, and finally, an introduction to different wireless standards like 3GPP, WiMAX, etc.

This course is designed for 1st year MTech and final year BTech students. 3rd year BTech (6th Semester) students with strong academic record can also take this course.

Books:
1. “Wireless Communications” by T. Rappaport.
and in addition,
a. “Ad hoc Networks – Architectures and Protocols” by B.S. Manoj and C.S.R. Murthy.
b. “MC-CDMA and OFDM Systems”Lajos. Hanzo and Thomas Keller, , Wiley IEEE Press, July 2006.
c. Wireless Network Evolution - Vijay Garg

Category: Previous Semesters / Winter 2008 / MTech ICT / Electives

Guest access: CT457 Mobile CommunicationsSelf enrolment: CT457 Mobile Communications
Write a concise and interesting paragraph here that explains what this course is about

Category: Previous Semesters / Autumn 2008 / BTech ICT / Technical Electives

Self enrolment: CT472 Optical Communication

This course combines theory with real-life examples to provide students wireless communication system concepts and to help them close the gap between traditional RF engineering design and the needs of modern communication systems. Upon completing the course, the student will be able to:

• State wireless communication system concepts and performance limitations.

• Analyze system degradation due to RF components.

• Develop wireless communication system budget profiles.

• Calculate propagation losses and link budgets.

• Assess cost vs performance issues.

• Evaluate the performance of differing RF wireless system architectures.


Category: Previous Semesters / Autumn 2007 / MTech ICT / Electives

Self enrolment: CT533 - Wireless System Design
This course covers some of the recent advances made in wireless communications predominantly at the physical and (medium access control) MAC layers. The course teaches the basics of probability theory, Optimization theory and Information theory. Subsequently the application of these mathematical techniques to wireless design problems will be discussed. The course will be designed to balance the theoretical and practical aspects of wireless networks.

The course is primarily for third semester M. Tech (ICT) students, however it is open to fourth year undergraduate students with good CPI (>7.5). A good background in probability theory, linear algebra, calculus is desired.

Category: Previous Semesters / Autumn 2009 / MTech ICT / Electives

Self enrolment: CT537 - Advanced Wireless Communications

Database Management System

This course intends to give a solid background in database design and implementation with the focus on relational model. The course covers data modeling, theory of relational model, SQL, Functional Dependencies, and Normalization. The course also introduces Storage and Indexing structures, Query Execution and Transaction Processing concept.

During Lab hours, students would practice concepts learned in theory and would be asked to design and implement a database system for a mid-size real life scenario.


Category: Previous Semesters / Autumn 2012 / BTech Core

Self enrolment: Database Management System

EL 426 Digital System Architecture

Write a concise and interesting paragraph here that explains what this course is about

Category: Previous Semesters / Winter 2009 / BTech ICT / Technical Electives

Self enrolment: EL 426 Digital System Architecture

EL103 - Basic Electronic Circuits

This is an introductory course on electric and electronic circuit analysis.

Category: Previous Semesters / Autumn 2007 / BTech ICT / Core

Self enrolment: EL103 - Basic Electronic Circuits

The objective of the Embedded Hardware Design course is to present to the student the Computing Devices, associated Peripherals and Networks along with High Level Software ( C ) and Hardware language ( Verilog HDL ) which are used in the design of a modern day embedded system.

Since peripherals and networks are independent of the computing device used, the course would first only consider the Microcontroller as a computing device and build up the concept of peripherals and networks around it. Standard peripherals like Analog to Digital Converter (ADC) , Digital to Analog Converter (DAC) , Universal Asynchronous Receiver Transmitter (UART), Interrupt Controller, Programmable Peripheral Interface (PPI), Real Time Clock (RTC) will be covered. On the Networks side, different communication standards and protocols – RS 232 , RS 485, I2C, Controller Area Network (CAN) would be discussed. Input output devices like keyboard, keypad and LCD would be taught along with sensors.

There are multitudes of computing devices that can be used in an embedded system. Options range from General Purpose Processors, Microcontrollers, Digital Signal Processors, Programmable Logic Devices to custom designed Application Specific chips. The course will focus on the architecture and high level programming (‘C’) using the AVR microcontroller. This would be followed by digital circuit design using Hardware Description Language ( Verilog) using Field Programmable Gate Array (FPGA) for prototyping. A brief introduction on custom design on the transistor level will be given for design at the switch level.

In summary, this course is to provide an understanding of the various components and design philosophy of a contemporary embedded system.


Category: Previous Semesters / Autumn 2007 / BTech ICT / Core

Self enrolment: EL203 - Embedded Hardware Design

EL203_Embedded_Hardware_Design_Autumn2014-15

The objective of the Embedded Hardware Design (EHD) course is to present to the student the Computing Devices, associated Peripherals and Networks along with High Level Software (C),Python and Hardware language (Verilog HDL) which are used in the design of a modern day embedded system.

Since peripherals and networks are independent of the computing device used, the course would first only consider the Microcontroller as a computing device and build up the concept of peripherals and networks around it.

Standard peripherals like Analog to Digital and Digital to Analog Converters (ADC,DAC), Universal Asynchronous Receiver Transmitter (UART), Interrupt Controller, Programmable Peripheral Interface, Real Time Clock will be covered. Different communication standards and protocols such as RS 232, RS 485, I2C, Controller Area Network(CAN), Input output devices like keyboard, keypad and LCD would be discussed.

Multitudes of computing devices that are used in an embedded system such as General Purpose Processors (GPP), Microcontrollers, Digital Signal Processors, Programmable Logic Devices, custom designed Application Specific chips will be introduced. Single board computers such as Raspberry PI & Beaglebone Black will be used to demonstrate use of Linux OS, scripting using Python, different types of memory devices, and interfacing.

The course will focus on the architecture and high level programming (C) using the AVR microcontroller (Arduino) followed by digital circuit design using Hardware Description Language (Verilog) using Field Programmable Gate Array (FPGA) for prototyping.  


Category: Previous Semesters / Autumn 2014 / B.Tech. / Core

Self enrolment: EL203_Embedded_Hardware_Design_Autumn2014-15

This course will introduce the concepts of back-end CMOS VLSI Design. The major topics that will be covered in the course will be:
Design of CMOS Circuits using Logical Effort Principles. Static and Dynamic CMOS Circuits. Synchronous 2-phase design, Registers and D-latches. Clock trees.

Introduction to Current CMOS Technology (submicron) and issues in Deep submicron technology.


Category: Previous Semesters / Autumn 2007 / BTech ICT / Technical Electives

Self enrolment: EL322 - Introduction to VLSI
Write a concise and interesting paragraph here that explains what this course is about

Category: Previous Semesters / Autumn 2007 / MTech ICT / Electives

Self enrolment: EL511 - VLSI Design

HM106 - Approaches to Indian Society

It is a core course for BTech I.

Category: Previous Semesters / Autumn 2007 / BTech ICT / Core

Self enrolment: HM106 - Approaches to Indian Society
Write a concise and interesting paragraph here that explains what this course is about

Category: Previous Semesters / Autumn 2007 / BTech ICT / Core

Self enrolment: HM216 - Science, Technology, Society
Write a concise and interesting paragraph here that explains what this course is about

Category: Previous Semesters / Autumn 2007 / BTech ICT / Open Electives

Self enrolment: HM331 - Elements of Business Management
Write a concise and interesting paragraph here that explains what this course is about

Category: Previous Semesters / Autumn 2007 / BTech ICT / Open Electives

Self enrolment: HM431 - Strategic Marketing
Write a concise and interesting paragraph here that explains what this course is about

Category: Previous Semesters / Autumn 2007 / BTech ICT / Open Electives

Self enrolment: HM432 - Organisational Behaviour
Write a concise and interesting paragraph here that explains what this course is about

Category: Previous Semesters / Autumn 2007 / BTech ICT / Open Electives

Self enrolment: HM470 - Religious Thought of Gandhi
Write a concise and interesting paragraph here that explains what this course is about

Category: Previous Semesters / Autumn 2007 / BTech ICT / Open Electives

Self enrolment: HM474 - Modernity, Modernism and Art
Write a concise and interesting paragraph here that explains what this course is about

Category: Previous Semesters / Autumn 2007 / BTech ICT / Open Electives

Self enrolment: HM477 - Colonialism, Modernity and Indian State
Write a concise and interesting paragraph here that explains what this course is about

Category: Previous Semesters / Autumn 2007 / BTech ICT / Open Electives

Self enrolment: HM478 - Consumption and Material Culture
This is a core course for MSc IT.

Category: Previous Semesters / Autumn 2007 / MSc IT / Core

Self enrolment: HM601 - Principles of Management

Aim and objective: The course aims to give an overview of an important trend in high performance computing – GPU programming. GPUs (graphics processing units) are special purpose hardware originally designed for graphics and games; however GPUs are very efficient in solving some general-purpose computing problems.

General Purpose Graphical Processing Units (GPGPU) primarily refers to the use of GPUs for computationally intensive mathematical and scientific computing. The enormous peak performance of GPUs for arithmetically intensive computations relatively at a much lower cost compared to CPUs makes GPU computing a very attractive new alternative for computationally demanding problems.

The course will help the students in understanding the basic concepts of GPU programming, CUDA (Compute Unified Device Architecture) parallel computing platform and hands-on experience on implementing some standard CUDA programs. Finally the course will give a brief overview of the current applications and future trends of GPU computing in scientific and engineering applications.


Category: Previous Semesters / Autumn 2015 / B.Tech / Electives

IT 114 Object Oriented Programming (Winter-2009)

This course teaches concepts of object-oriented programming and enables the students to design, develop, and implement solutions for real world problems using object oriented programming languages C++ and Java

Category: Previous Semesters / Winter 2009 / BTech ICT / Core

Guest access: IT 114  Object Oriented Programming (Winter-2009)Self enrolment: IT 114  Object Oriented Programming (Winter-2009)

IT 205 Data Structures

Write a concise and interesting paragraph here that explains what this course is about

Category: Previous Semesters / Autumn 2008 / BTech ICT / Core

Guest access: IT 205 Data StructuresSelf enrolment: IT 205 Data Structures

IT 205 Data Structures

Write a concise and interesting paragraph here that explains what this course is about

Category: Previous Semesters / Winter 2009 / Summer 2009 Courses / B Tech ICT / Core

Guest access: IT 205 Data StructuresSelf enrolment: IT 205 Data Structures

IT 304 Computer Networks

Write a concise and interesting paragraph here that explains what this course is about

Category: Previous Semesters / Autumn 2008 / BTech ICT / Core

Guest access: IT 304 Computer NetworksSelf enrolment: IT 304 Computer Networks

IT 308 Operating Systems

The course aims to introduce the fundamental concepts of operating system. The course relates these fundamentals with the design issues related to the development of modern operating systems. Understanding of concepts will be visualized and realized using simulation. Topics include process scheduling, Concurrency, Memory Management, Virtual Memory, I/O Management and Disk Scheduling, Security, and Distributed Systems.


Category: Previous Semesters / Winter 2009 / BTech ICT / Technical Electives

Guest access: IT 308 Operating SystemsSelf enrolment: IT 308 Operating Systems

IT 314 Software Engineering

The course facilitates students to understand theories, methods and technologies applied for software development; provides positive experiences of collaborative learning while practicing software development processes through a team project. The students are expected to become competence in software development life cycle, literate in software engineering principals and requirement engineering issues and become familiar with software project management and different types of software process models.


Category: Previous Semesters / Winter 2009 / BTech ICT / Core

Self enrolment: IT 314 Software Engineering

IT 351 Distributed Computing

This course covers the foundations of distributed systems including models of computing, different types of communication (Layered Protocols, Remote Procedure Calls, Remote Objects, messages, streams), process models (threads, client/server, code migration and software agents), naming of entities, logical clocks and synchronization. We will review some of the popular applications of distributed computing including distributed file systems and web services. The course will include two programming assignments, one group project and one project presentation. The programming assignments will provide hands on experience in understanding different types of communications and process models. The project will help develop a reasonably sized distributed application based on research papers that will be discussed during the semester. The expectation is that students have mastered one or more programming languages. Specific language mastery is not important, though knowing one of C, C++, or Java will be helpful.


Category: Previous Semesters / Winter 2009 / BTech ICT / Technical Electives

Guest access: IT 351 Distributed ComputingSelf enrolment: IT 351 Distributed Computing
Did you ever wonder what is the recipe for making us who we are, with 3.5 billion letters of A, C, G and T? What is the difference between mouse and Humans at molecular level? What happens when a virus attacks us? How are all forms of life related? I think many of you have several such questions at some stage of your life and still don't know the answer. You will be surprised to know that now with a degree in Information and Communication Technology (ICT) you can be really close to finding answers to many such questions with interdisciplinary approach of using mathematics, computer science, statistics, molecular biology, physics, electrical engineering, communication etc. Many aspects of molecular biology can be viewed as information processing and so molecular biology and computer science are very close to each other. It is for this reason one can say that the 21st century is for molecular biology.

This course covers basic techniques mainly algorithmic in nature to answer many questions in molecular biology. We will go through this journey with many case studies

Category: Previous Semesters / Autumn 2008 / BTech ICT / Technical Electives

Self enrolment: IT 470 Foundations of Computational and Systems Biology
This exciting course covers basic machine learning
techniques that are used in molecular biology. We will
also see how we can apply them in solving the
mysteries of the living systems. This course is useful
for both computer science students and
communication students as the techniques taught in
the course are widely used in many places of ICT.

This course is designed for 3rd year BTech (6th Semester) students. 1st year MTech and final year BTech students can also take this course.



The projects in the course will be developing s/w tools.

Category: Previous Semesters / Winter 2009 / BTech ICT / Technical Electives

Guest access: IT 471 Topics in BioinformaticsSelf enrolment: IT 471 Topics in Bioinformatics

IT 472 Digital Image processing

"One picture is worth more than ten thousand words" some body has said. Image processing has gained momentum with improvement in technologies for storage, transmission and machine perception. This is a basic course for UG students and will cover low level, mid level and touch upon the concepts of high level image processing.

Category: Previous Semesters / Autumn 2008 / BTech ICT / Technical Electives

Self enrolment: IT 472 Digital Image processing

IT 473 L Embedded Systems Programming Lab

Write a concise and interesting paragraph here that explains what this course is about

Category: Previous Semesters / Winter 2009 / BTech ICT / Technical Electives

Guest access: IT 473 L Embedded Systems Programming LabSelf enrolment: IT 473 L Embedded Systems Programming Lab
Write a concise and interesting paragraph here that explains what this course is about

Category: Previous Semesters / Winter 2009 / MTech ICT / Core

Guest access: IT 527  Multimedia Security with Digital Rights ManagementSelf enrolment: IT 527  Multimedia Security with Digital Rights Management
Write a concise and interesting paragraph here that explains what this course is about

Category: Previous Semesters / Winter 2009 / MTech ICT / Electives

Self enrolment: IT 537 Sensor Network Systems
Write a concise and interesting paragraph here that explains what this course is about

Category: Previous Semesters / Winter 2009 / MTech ICT / Core

Guest access: IT 556 Service-Oriented ComputingSelf enrolment: IT 556 Service-Oriented Computing

IT 602 - OOPs and Data Structure (Autumn 2016-17)

The objective of this course is to discuss object oriented programming and implementation of common data structures using OOP principles in C++. ADTs that are to be covered are Lists, Stacks, Queues, Trees, and Graphs. The course assumes students exposed to C programming.

Students will learn OOP based implementation of algorithms for stack/queue using arrays/lists, binary search tree, AVL tree, 2-4 tree, Red-Black tree, tree traversal, heaps, dictionaries, depth-first-search, breadth-first-search, and performance analysis of sorting, searching, traversal algorithms.


Category: Previous Semesters / Autumn 2016 / MSc (IT) / Core

Self enrolment: IT 602 - OOPs and Data Structure (Autumn 2016-17)

IT 613 Computer Organization

Computer Organization refers to the level of abstraction above the digital logic level, but below the operating system level. At this level, the major components are functional units or subsystems that correspond to specific pieces of hardware built from the lower level building blocks.

The course content will involve basic structure of the computers like operational concepts, bus structure, multiprocessor. It would also include discussion on instructions, instruction sequencing, address modes, assembly language. It covers as an example the popular microprocessor instruction set. Then the course will look into input output organization and touch upon the concepts of interrupts, Direct memory access (DMA), standard I/O interface.

Course will then delve into the memory systems and covers details like types of memory, internal organization of memory, cache memories and memory performance considerations. Then it will touch upon the aspect of basic processing unit covering execution of instructions, hardwired control, microprogrammed control, micro instructions, microprogram sequencing. At and end it will cover the important aspects of pipelining and its effects.


Category: Previous Semesters / Autumn 2008 / MSc IT / Core

Guest access: IT 613 Computer OrganizationSelf enrolment: IT 613 Computer Organization

IT 619 Design of Software Systems (Winter 2015-16)

The objective of the course is to teach good software design practices at architectural level as well as component level. Prime focus is on designing software systems using object oriented principals. The scope of course begins with given software requirements and ends with producing a detailed design in software development life cycle. Emphasis is on learning Unified Modeling Language from the ground; students should be able draw UML diagrams using very basic tools like Dia. Students are encouraged to take a mid-size software design projects, submit detailed design and take up to the implementation (may be partly). Students also learn and attempt to apply common design patterns.


Category: Previous Semesters / Winter 2016 / MSc / Core

Self enrolment: IT 619 Design of Software Systems (Winter 2015-16)

IT 623 Algorithms and Data Structures

This course introduces the students to the analysis and design of efficient algorithms. It also presents the basic data structures which provide implementations for many algorithms occuring naturally in computer science. Data Structures like arrays, lists, stacks, queues, heaps and balanced trees are introduced. Efficient algorithms for problems like sorting and searching are also discussed.

Category: Previous Semesters / Winter 2009 / MSc IT / Core

Guest access: IT 623  Algorithms and Data StructuresSelf enrolment: IT 623  Algorithms and Data Structures

IT 632 - Software Engineering (Autumn 2016-17)

The course intends to teach complete life cycle of software develop. The course covers Software Processes and SDLCs; Requirements Engineering; Software Testing, Verification and Validation; Software Evolution; CASE Tools; Introduction to Software Project Management, Appreciate Software Reliability and Risk Assessment; Software Quality Standards and Quality Assurance.


Category: Previous Semesters / Autumn 2016 / MSc (IT) / Core

Self enrolment: IT 632 - Software Engineering  (Autumn 2016-17)
Write a concise and interesting paragraph here that explains what this course is about

Category: Previous Semesters / Autumn 2008 / MSc ICT - ARD / Core

Self enrolment: IT 677  Information Delivery Systems & Models

IT-110 Computer Programming Lab

Welcome to Introduction to Programming Lab Course. In this course, we solve various real world problems using the programming language C. This course gives you the insight about the syntax and semantics about the C language. 

After this course, the students would able to solve the problems using C language and able to formulate the logical solution of a problem specification.


Category: Previous Semesters / Autumn 2015 / B.Tech / Core

Self enrolment: IT-110 Computer Programming Lab

IT-415 Software Testing and Quality Analysis (Spring 17)

Software testing is not a “silver bullet” that can guarantee the development of high quality software systems. Testing can be an efficient way to show the presence of bugs in a software system (or software artifacts developed in different phases of development process), but cannot prove their absence. It has noted by various researchers or industry professionals that it is impossible to completely test an application because: (1) the domain of program inputs is too large, (2) there are too many possible input paths, and (3) design and specification issues are difficult to test. The first and second points present obvious complications and the third point highlights the difficulty of determining the completenss and correctness of the requirement specification and the design of its implementation.

Students at the end of this course should be able to (1) understand the effectively strategies of testing, the methods and technologies of software testing, (2) design test plan and test cases for the given requirement specification, small-scale programs and large-scale projects (3) perform automatic testing (4) clearly and correctly report software bugs (5) assess the quality of software product (6) distinguish relationship between the software testing and the quality assurance, and many more.


Category: Previous Semesters / Winter 2017 / BTech / Electives

Self enrolment: IT-415 Software Testing and Quality Analysis (Spring 17)

IT-477 (Introduction to GPU Programming)

Aim and objective: The course aims to give an overview of an important trend in high performance computing – GPU programming. 

General Purpose Graphical Processing Units (GPGPU) primarily refers to the use of GPUs for computationally intensive mathematical and scientific computing. The enormous peak performance of GPUs for arithmetically intensive computations relatively at a much lower cost compared to CPUs makes GPU computing a very attractive new alternative for computationally demanding problems.

The course will help the students in understanding the basic concepts of GPU programming, CUDA (Compute Unified Device Architecture) parallel computing platform and hands-on experience on implementing some standard scientific and engineering algorithms.

Lecture hours per week: 3 + Practical hours per week: 2


Category: Previous Semesters / Autumn 2016 / BTech / Electives

Self enrolment: IT-477  (Introduction to GPU Programming)

IT110 : Introduction to Programming LAB

This course aims to provide practical knowledge in C programming in the topic mentioned below:

  1. Algorithms and Flow chart
  2. Variables, Operators, Expressions and Conditionals.
  3. Loops
  4. Functions
  5. One-Dimensional Arrays and Pointers
  6. Recursion
  7. Multi-dimensional Arrays, Linked Lists.
  8. Operating on Files
  9. Organizing C projects, working with multiple source directories, makefiles

Category: Previous Semesters / Autumn 2017 / BTech / Core

Self enrolment: IT110 : Introduction to Programming LAB
Write a concise and interesting paragraph here that explains what this course is about

Category: Previous Semesters / Autumn 2007 / BTech ICT / Core

Self enrolment: IT204 - Data Strctures and Algorithms

IT215 System Software

System software consists of software programs that support the operations of a computer system. The course aims to introduce the basic concepts of operating systems, and computer networking. This course aims to provide a unified system perspective of an Operating System and Computer
Networks as computing and communication services as represented by a programming interface. Additionally the course aims to build competence in building stand-alone and distributed applications using system-level API. Topics include Process Management: process, process control block, process attributes, system calls for process management; Inter-process
Communication; Unix: architecture and internals; File system; Concurrent programming with threads; Elements of computer networks; and Network programming.

Category: Previous Semesters / Winter 2008 / BTech ICT / Core

Self enrolment: IT215 System Software

IT304 Computer Networks

The course explains the evolution of computer and communication networks and the design principles of modern network architectures. Primary focus is on system level concepts and engineering design and implementation issues. A top down approach is used to familiarize students with network application design and progressively define the underlying support needed to build such application. A thorough treatment of TCP/IP set of protocols is studied.

At the end of the course, a student should be able to analyze and compare network technologies and use the appropriate tools to design and implement network systems.

The associated laboratory component is designed to expose students to basic networking hardware and software, and the simulation tools for the analysis of traffic and network protocols.


Category: Autumn 2018 / BTech / Core

Self enrolment: IT304 Computer Networks

IT308 - Operating Systems

Lectures -- 3 hours per week & lab 4 hours/week

(core course for third year BTech students)

Course objectives :

The course introduces students to the structure, functions and performance issues related to present-day operating systems. During the course, students learn how an operating system addresses the problems of efficient resource management with respect to the various hardware and software resources in a computer system. Illustrative examples are based on (a) UNIX and its variants, and (b) MS Windows, while lab exercises are based mostly on LINUX.

List of topics :

Overview and basic concepts: Two views of an operating system; main functions; application program interface; command interpreter. Processes and threads; inter-process communication; scheduling; deadlocks and strategies of dealing with deadlocks. Memory management; input and output; file systems; security issues; special purpose operating systems.

Reference book and other material :

‘Modern Operating Systems’, by Andrew Tanenbaum, Prentice-Hall.

‘UNIX System Programming’, by Haviland, Gray and Salama, Addison Wesley.

On-line documentation of LINUX.


Category: Previous Semesters / Autumn 2007 / BTech ICT / Core

Self enrolment: IT308 - Operating Systems

IT314 Software Engineering

The course facilitates students to understand theories, methods and technologies applied for software development; provides positive experiences of collaborative learning while practicing software development processes through a team project. The students are expected to become competence in software development life cycle, literate in software engineering principals and requirement engineering issues and become familiar with software project management and different types of software process models.


Category: Previous Semesters / Winter 2008 / BTech ICT / Core

Self enrolment: IT314 Software Engineering
This course is intended to train students with a career interest in software development, which always requires proper software quality engineering and testing practices. The course will prepare students to apply software testing techniques to build better and dependable software systems. The course material will be based on several reference books and recent papers in the area. The course will also have a course project to offer students hands-on experience in applying software testing techniques, where students will work with several software testing tools. Students will learn testing strategy and testing techniques.

Category: Previous Semesters / Winter 2008 / BTech ICT / Technical Electives

Self enrolment: IT315 Software Testing
This course introduces students to methods of algorithm
design and analysis. The Laboratory assignments require students
to design and implement algorithms in a high level language.

Problems- Algorithmically Unsolvable, Tractable,and Intractable;
Complexity of Algorithms and Asymptotic notations; Algorithms for Search, Sort,and Selection problems; Graph algorithms for MST and Shortest Path problems; Graph Search algorithms and applications; Dynamic Programming Algorithms; Pattern Matching Problem;
NP-Complete and NP-Hard Problems.


Category: Previous Semesters / Autumn 2007 / BTech ICT / Technical Electives

Self enrolment: IT321 - Computer Algorithms
Write a concise and interesting paragraph here that explains what this course is about

Category: Previous Semesters / Winter 2008 / BTech ICT / Technical Electives

Self enrolment: IT322 Security Protocols
Write a concise and interesting paragraph here that explains what this course is about

Category: Previous Semesters / Autumn 2008 / BTech ICT / Technical Electives

Self enrolment: IT325  Introduction to Cryptography

IT341 Information Design, Systems, and Arch

Write a concise and interesting paragraph here that explains what this course is about

Category: Previous Semesters / Autumn 2008 / BTech ICT / Technical Electives

Self enrolment: IT341 Information Design, Systems, and Arch
Write a concise and interesting paragraph here that explains what this course is about

Category: Previous Semesters / Autumn 2007 / BTech ICT / Technical Electives

Self enrolment: IT352 - UML and MDA

Models of Computation

(lectures -- 3 hours per week)

Course objectives :

This course aims to familiarize students with the basic models of computation, their properties, and the interrelationships between models. A study of these models provides the student with an insight into the process of ‘computation’ and the various methods of establishing properties of computations. A conceptual understanding of what is meant by a ‘computation’ should surely be expected from any Computer Scientist. Also, in practice, it is hoped that knowledge of these models and their properties would allow a student to model and verify the correctness of a proposed solution to a computational problem, before proceeding to its implementation in hardware and/or software.

Course contents :

Review of basic concepts: Countable and uncountable sets; relations and closure. Regular expressions, regular languages, deterministic and non-deterministic finite automata, and their properties. Context free languages, push down automata, parsing. Turing machines and their variants; non-determinism; Universal Turing machine and undecidability. Computational complexity, the classes P and NP, polynomial reductions and NP-completeness.

Reference books :

‘Elements of the Theory of Computation’, by Lewis & Papadimitriou, Pearson Education .

‘Introduction to Automata Theory, Languages and Computation’, by Hopcroft, Motwani & Ullman, Pearson Education.

‘The Theory of Computation’, by Bernard Moret, Pearson Education.

‘Introduction to Languages and the Theory of Computation’, by John Martin, McGraw Hill.

 


Category: Previous Semesters / Autumn 2007 / BTech ICT / Technical Electives

Self enrolment: IT422 - Models of Computation
Sensor networks are a network of nodes which have sensing, computing and communicating infrastructure along with a power source. This allows us to instrument, observe, and respond to phenomena in the natural environment, and in our physical and cyber infrastructure. The sensors themselves can range from small passive microsensors to larger scale, controllable weather-sensing platforms. Their computation and communication infrastructure will be radically different from that found in today's Internet-based systems, reflecting the device- and application-driven nature of these systems.
The course will cover all aspects of Sensor Network with a student participatory approach. Focus would be on design of sensor network nodes.

Category: Previous Semesters / Autumn 2007 / BTech ICT / Technical Electives

Self enrolment: IT434 - Introduction to Sensor Networks
Write a concise and interesting paragraph here that explains what this course is about

Category: Previous Semesters / Autumn 2007 / BTech ICT / Technical Electives

Self enrolment: IT435 - ICT for Intelligent Building
This course
  • provides a basic treatment of all important aspects of discrete-event simulation.
  • familiarizes the student with a variety of modelling and simulation techniques.
  • gives the student practical experience in composing models and running simulations under a variety of circumstances.
  • discusses results from modelling and simulation using some open source simulation libraries/packages.

Category: Previous Semesters / Autumn 2007 / BTech ICT / Technical Electives

Guest access: IT460 - Introduction to Discrete SimulationSelf enrolment: IT460 - Introduction to Discrete Simulation
Did you ever wonder what is the recipe for making us who we are, with 3.5 billion letters of A, C, G and T? What is the difference between mouse and Humans at molecular level? What happens when a virus attacks us? How are all forms of life related? I think many of you have several such questions at some stage of your life and still don't know the answer. You will be surprised to know that now with a degree in Information and Communication Technology (ICT) you can be really close to finding answers to many such questions with interdisciplinary approach of using mathematics, computer science, statistics, molecular biology, physics, electrical engineering, communication etc. Many aspects of molecular biology can be viewed as information processing and so molecular biology and computer science are very close to each other. It is for this reason one can say that the 21st century is for molecular biology.

This course covers basic techniques mainly algorithmic in nature to answer many questions in molecular biology. We will go through this journey with many case studies

Category: Previous Semesters / Autumn 2007 / BTech ICT / Technical Electives

Guest access: IT470 - Foundations of Computational and Systems Biology
This course covers basic machine learning techniques that are used in molecular biology. We will also see how we can apply them in solving the mysteries of the living systems. Tentative Course Content Overview of Molecular Biology, Refresher of Probability-Statistics and Optimization, Hidden Markov Model (HMM), Stochastic Context-Free Grammar (SCFG), Least Square Regression, Neural Network, Support Vector Machine (SVM), Applications of these techniques such as in finding non-coding RNAs, RNA folding, RNA secondary structure classification, Protein folding and misfolding, Gene Regulatory Networks (GRN)

Category: Previous Semesters / Winter 2008 / BTech ICT / Technical Electives

Guest access: IT471 Topics in BioinformaticsSelf enrolment: IT471 Topics in Bioinformatics

IT473 Embedded Systems Programming

This course introduces the students to the world of embedded
systems, which are growing in numbers by leaps and bounds. The
number of embedded systems being produced worldwide easily
exceeds the number of desktops by an order of magnitude. At any
time today we may be carrying more than one embedded device at
any time (e.g Mobile Phone, Remote Control Car Key, Smart Card ..).
In some of the new cars there are several dozen embedded devices
present managing various aspects of car functionality.

Course has lot of emphasis on hands-on-work and many would have the opportunity to work on live research projects being done in the area of wildlife, Nuclear, Defense, Space, Agriculture etc. This course is also a desired course for taking Introduction to Sensor Networks course, which emphasizes device design.

Category: Previous Semesters / Winter 2008 / BTech ICT / Technical Electives

Self enrolment: IT473 Embedded Systems Programming

IT477 Introduction to GPU Programming

Aim and objective: The course aims to give an overview of an important trend in high performance computing – GPU programming. 

General Purpose Graphical Processing Units (GPGPU) primarily refers to the use of GPUs for computationally intensive mathematical and scientific computing. The enormous peak performance of GPUs for arithmetically intensive computations relatively at a much lower cost compared to CPUs makes GPU computing a very attractive new alternative for computationally demanding problems.

The course will help the students in understanding the basic concepts of GPU programming, CUDA (Compute Unified Device Architecture) parallel computing platform and hands-on experience on implementing some standard scientific and engineering algorithms. Main topics include: Modern processors, GPU architecture, parallel algorithm design, data parallelism, CUDA thread organization, CUDA memories,  Performance Considerations and important Parallel patterns. Implementation of several parallel algorithms on GPUs using CUDA programming model.

Lecture hours per week: 3 + Practical hours per week: 2


Category: Autumn 2018 / BTech / Electives

Self enrolment: IT477 Introduction to GPU Programming

Aim and objective: The course aims to give an overview of an important trend in high performance computing – GPU programming. GPUs (graphics processing units) are special purpose hardware originally designed for graphics and games; however GPUs are very efficient in solving some general-purpose computing problems.

General Purpose Graphical Processing Units (GPGPU) primarily refers to the use of GPUs for computationally intensive mathematical and scientific computing. The enormous peak performance of GPUs for arithmetically intensive computations relatively at a much lower cost compared to CPUs makes GPU computing a very attractive new alternative for computationally demanding problems.

The course will help the students in understanding the basic concepts of GPU programming, CUDA (Compute Unified Device Architecture) parallel computing platform and hands-on experience on implementing some standard CUDA programs. Finally the course will give a brief overview of the current applications and future trends of GPU computing in scientific research.

Main Topics to be covered are: 1) Introduction to parallel programming. 2) GPU nVIDIA architecture. 3) GPU/CUDA programming model. 4) Overview on GPGPU computing techniques. 5) Optimizing GPU Programs. 6) The Future of GPU Computing and new GPU features. 7) CUDA example codes and practicals.


Category: Previous Semesters / Autumn 2014 / B.Tech. / Elective

Self enrolment: IT477-Introduction to GPU Programming Fall 2014
This course is concerned with design and analysis of
algortihms. The design is concerned with function specification,
recursive formulation, and writing algorithmm, and analysis
is concerned with correctness proof and/or complexity analysis
as appropriate. The formulations for simple recusion,
divide-and-conquer, greedy, dynamic prograaming,
and back tracking/branch-and-bound methods are covered.
Lower bound theory is introduced. Problem classes NP, NP-Hard, and NP-Complete are defined. Randomized algortihms are introduced.



Category: Previous Semesters / Autumn 2007 / MTech ICT / Electives

Self enrolment: IT514 - Design and Analysis of Algorithms
Write a concise and interesting paragraph here that explains what this course is about

Category: Previous Semesters / Winter 2008 / MTech ICT / Electives

Self enrolment: IT526 Network & Computer Security

Sensor networks are a network of nodes which have sensing, computing and communicating infrastructure along with a power source. This allows us to instrument, observe, and respond to phenomena in the natural environment, and in our physical and cyber infrastructure. The sensors themselves can range from small passive microsensors to larger scale, controllable weather-sensing platforms. Their computation and communication infrastructure will be radically different from that found in today's Internet-based systems, reflecting the device- and application-driven nature of these systems.

This course would focus on the system level design/optimization issues of a Sensor Network System. Course "Introduction to Sensor Networks" (IT 434) is offered from device design point of view. This complements the material of that course.


Category: Previous Semesters / Winter 2008 / MTech ICT / Electives

Self enrolment: IT534 Sensor Networks
Write a concise and interesting paragraph here that explains what this course is about

Category: Previous Semesters / Winter 2008 / MTech ICT / Electives

Self enrolment: IT551 Service Oriented Computing

IT615 : Database Management Systems

Course Objective:

This course teaches use of Database Management Systems (DBMS) to solve a wide range of information storage, management, and retrieval problems, in organizations ranging from large corporations to personal applications. The course combines the practical aspects of DBMS use with basic theory discussions for database design and administration. The problems with database design and implementations will be discussed. As part of the labs and assignments the students will design and implement a database for the given domain.

Text Books:
Ramakrishnan & Gehrke, Database Management Systems, 3rd edition, McGraw-Hill, 2003.
Silberschatz, Korth & Sudarshan, Database System Concepts, 6th Edition, McGraw-Hill, 2010
Date C.J., An Introduction to Database Systems, 7th Edition, Addison-Wesley.


Category: Previous Semesters / Autumn 2017 / MSc / Core

Self enrolment: IT615 : Database Management Systems

IT626 Programming Laboratory II

Write a concise and interesting paragraph here that explains what this course is about

Category: Previous Semesters / Autumn 2009 / MSc IT / Core

Guest access: IT626 Programming Laboratory IISelf enrolment: IT626 Programming Laboratory II

IT628 Systems Programming

IT628 Systems Programming course will cover topics listed below. For each of the topics covered in theory, there will be associated lab assignments to cover the practical aspect. This moodle is created for lab assignment submission where each student will need to submit the documents mentioned in the Lab Assignment Manual.

Introduction: SystemProgramming introduction, Unix Shell, Basic Shell Commands

C Programming: Using the C programming language, its constructs and grammar, to
create system software

Usage of Unix C compiler gcc, compiling, linking, object files, loading, symbol resolution,
shared and static libraries, debugging, and execution of system programs, makefiles

File IO: unbufferedIO (file descriptor, open, create, read and write files, file modes), buffered IO (file pointer, open, create, read, write files, file modes), advantage and disadvantage between both schemes, directories, symbolic links, permissions

Process: creationand termination of process, process states, exec family system functions, fork to create child process, process control, process communication using pipe

Signals: types of signals, signal actions, catching and handling signal,signal from process

Concurrent Programming: computingand communication type: multithreading, parallel computing (shared memory), distributed computing (message passing), threads vsprocess, user level vskernel level threads, POSIX threads: creation, termination, join, synchronization, critical section, mutual exclusion, mutexlocks, semaphores, deadlock, reader-writer problem, dining-philosopher problem

Network Programming: CommunicationLayers (Network, Transport), Protocols basics: Internet Protocol (IP) , TCP: connection oriented, UDP: connectionless, standard services and assigned ports, client-server communication using sockets

InterprocessCommunication (IPC):
Shared memory architectures: signals, named pipes and OpenMP(OpenMPuses multicore or multi-processor architecture on the same system)
Distributed memory architectures: massage passing interface such as OpenMPIor MPICH (MPI in addition to multi-core or multi-process architecture uses multiple systems to harness compute power of different systems)


Category: Previous Semesters / Winter 2018 / MSc / Core

Self enrolment: IT628 Systems Programming

IT632 - Software Engineering


The course facilitates students to understand theories, methods and technologies applied for software development; provides positive experiences of collaborative learning while practicing software development processes through a team project. The students are expected to become competence in software development life cycle, literate in software engineering principals and requirement engineering issues and become familiar with software project management and different types of software process models.


Category: Previous Semesters / Autumn 2007 / MSc IT / Core

Self enrolment: IT632 - Software Engineering
Write a concise and interesting paragraph here that explains what this course is about

Category: Previous Semesters / Autumn 2007 / MSc IT / Electives

Self enrolment: IT633 - Data Mining and Warehousing

IT651 - Agricultural Information Systems

It is a core course for MSc ICT in Agriculture and Rural Development.

Category: Previous Semesters / Autumn 2007 / MSc ICT - ARD / Electives

Self enrolment: IT651 - Agricultural Information Systems

Mathematics

Core course for first semester MSc IT students at DAIICT

Category: Previous Semesters / Autumn 2012 / MScIT Courses

Self enrolment: Mathematics
This course has two parts: (1) Communication skills and (2) Computer Skills .


Category: Previous Semesters / Autumn 2008 / MSc ICT - ARD / Core

Guest access: PC 656 Computer and Communication SkillsSelf enrolment: PC 656 Computer and Communication Skills

PC105 - Communication Skill

This core course is designed to provide students with the following skills: (a) to communicate ideas effectively – verbal and written, (b) assist in enhancing critical thinking and ethical decision making, and (c) provide learning strategies.  Emphasis will be on learning through selected readings, group discussions, written assignments and through some formal presentations.  The course will focus on strategies to become responsible and active learners by addressing issues related to transition from home to institute; motivation and goal setting; changing attitudes and interests; managing time; dealing with stress; importance of ethics and morality for successful learners; and interacting with peers and faculty.  Students requiring assistance with English language learning will have special help outside the class in the language lab, using software and with guidance from the TAs.




Category: Previous Semesters / Autumn 2007 / BTech ICT / Core

Self enrolment: PC105 - Communication Skill

This course is designed to give students first level of exposure to Computer skills. The course provides the students with basic working knowledge of computer handling and necessary tools for their regular work in the institute and courses. Most of the Tools selected are open source tools capable of working on multiple operating systems.


Category: Previous Semesters / Autumn 2007 / BTech ICT / Core

Self enrolment: PC106 - Computer Skills

It is a core course for MSc IT. This course is designed to provide students with (a) the skills to communicate ideas effectively – verbally and in writing, as well as through formal presentation, (b) skills for job interviews (c) self-motivation, self-determination and measurable goal-setting, (d) professional behavior standards, (e) self-assessment skills; and (f) principles of consultation as an appropriate tool for relating to others. Discussions on ethical issues in professional settings and in the workplace will be explored.


Category: Previous Semesters / Autumn 2007 / MSc IT / Core

Self enrolment: PC612 - Communication

PC641 MSc-IT Project

Project is an integral part of the two-year MSc IT curriculum, which is carried out in the last semester. The students will design, develop and implement real systems which will either extension or application of the courses they learnt during MSc IT. The students have to work in an actual IT organisation by participating in the day-to-day operations of the organisation. However, with a prior approval of the coordinator students can take project assignment from an organisation and work full time on the campus.

Category: Previous Semesters / Winter 2009 / MSc IT / Core

Guest access: PC641 MSc-IT ProjectSelf enrolment: PC641 MSc-IT Project

PC641_MSc(IT) Project Internship

 Core course for MSc(IT) IV Semester


Category: Previous Semesters / Winter 2014 / MScIT / Core

Self enrolment: PC641_MSc(IT) Project Internship

It is a core course for MSc ICT - ARD. This course is designed to provide students with (a) the skills to communicate ideas effectively – verbally and in writing, as well as through formal presentation, (b) skills for job interviews (c) self-motivation, self-determination and measurable goal-setting, (d) professional behavior standards, (e) self-assessment skills; and (f) principles of consultation as an appropriate tool for relating to others. Discussions on ethical issues in professional settings and in the workplace will be explored.

There's a four hour lab component on computer skills as part of this course which will be covered by Mr. Sorathia.


Category: Previous Semesters / Autumn 2007 / MSc ICT - ARD / Core

Guest access: PC656 - Computer and Communication SkillsSelf enrolment: PC656 - Computer and Communication Skills

SC 106 Discrete Mathematics

Write a concise and interesting paragraph here that explains what this course is about

Category: Previous Semesters / Winter 2009 / BTech ICT / Core

Self enrolment: SC 106 Discrete Mathematics

SC 107 Calculus: Where are you? Fall 2017

This exciting course is the foundation for your ICT degree. Whatever you do in your life you use some variation of calculus all the time. From your love affairs to marriage, to divorce, to cook potato, to fly in the plane, to be attacked by flu, to your cell phone etc….it is all about change …. In this course, we shall study some basic calculus of real variables, complex variables and shall see how to solve basic ordinary and partial differential equations with few applications. You should also learn few basics on how to use symbolic computing packages such as Mathematica, Maple or Matlab for doing such calculus. 

Text Book: Thomas's Calculus (Text Book)

Other References and Calculus Apps for Mobile (iOs/ iPad, Android or Windows Phone):  

  1. Advanced Engineering Mathematics, Jain, RK and SRK Iyengar, 3rd edition, Narosa, 2007 ISBN 978- 81-7319-730-7, New Delhi, India  
  2. PreCalculus (http://products.wolframalpha.com/courseassistants/p recalculus.html)
  3. Calculus Course Assistant App (http://products.wolframalpha.com/courseassistants/c alculus.html)
  4. Multivariable Calculus (http://products.wolframalpha.com/courseassistants/ mvcalculus.html)

Category: Previous Semesters / Autumn 2017 / BTech / Core

Guest access: SC 107 Calculus: Where are you? Fall 2017Self enrolment: SC 107 Calculus: Where are you? Fall 2017

SC 341 - Introduction to Biotechnology