Search results: 82

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: Winter 2015 - 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: Autumn 2008 - Courses / 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: Autumn 2017-18 / 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: 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: Autumn 2012 / MScIT Courses

Self enrolment: Computer Organization

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: Winter 2016-2017 / BTech / Core

Guest access: CS-201 Introductory Computational PhysicsSelf 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: Autumn 2016-2017 / 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: Autumn 2017-18 / 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: Winter 2016-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: Autumn 2015-16 / 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: Winter 2009 - Courses / MTech ICT / Core

Self enrolment: CT 515 Error Control Coding
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: Winter 2008 - Courses / 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: Autumn 2008 - Courses / BTech ICT / Technical Electives

Self enrolment: CT472 Optical Communication
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: Autumn 2009 - Courses / MTech ICT / Electives

Self enrolment: CT537 - Advanced Wireless Communications

DA-IICT Linux User Group (DLUG)

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

Category: Groups/Clubs

Self enrolment: DA-IICT Linux User Group (DLUG)

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: 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: Winter 2009 - Courses / BTech ICT / Technical Electives

Self enrolment: EL 426 Digital System Architecture

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: Autumn 2014-15 / B.Tech. / Core

Self enrolment: EL203_Embedded_Hardware_Design_Autumn2014-15

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: Autumn 2015-16 / 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: Winter 2009 - Courses / 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: Autumn 2008 - Courses / 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: Winter 2009 - Courses / 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: Autumn 2008 - Courses / 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: Winter 2009 - Courses / 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: Winter 2009 - Courses / 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: Winter 2009 - Courses / 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: Autumn 2008 - Courses / 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: Winter 2009 - Courses / 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: Autumn 2008 - Courses / 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: Winter 2009 - Courses / 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: Winter 2009 - Courses / 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: Winter 2009 - Courses / 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: Winter 2009 - Courses / 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: Autumn 2016-2017 / 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: Autumn 2008 - Courses / 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: Winter 2015 - 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: Winter 2009 - Courses / 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: Autumn 2016-2017 / 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: Autumn 2008 - Courses / 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: Autumn 2015-16 / B.Tech / Core

Self enrolment: IT-110 Computer Programming Lab

IT-304 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 2017-18 / BTech / Core

Guest access: IT-304 Computer Networks

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: Winter 2016-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: Autumn 2016-2017 / 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: Autumn 2017-18 / BTech / Core

Self enrolment: IT110 : Introduction to Programming LAB

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: Winter 2008 - Courses / BTech ICT / Core

Self enrolment: IT215 System Software

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: Winter 2008 - Courses / 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: Winter 2008 - Courses / BTech ICT / Technical Electives

Self enrolment: IT315 Software Testing
Write a concise and interesting paragraph here that explains what this course is about

Category: Winter 2008 - Courses / BTech ICT / Technical Electives

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

Category: Autumn 2008 - Courses / 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: Autumn 2008 - Courses / 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: Winter 2008 - Courses / BTech ICT / Technical Electives

Self enrolment: IT351 Distributed Computing
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: Winter 2008 - Courses / 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: Winter 2008 - Courses / BTech ICT / Technical Electives

Self enrolment: IT473 Embedded Systems 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: Autumn 2014-15 / B.Tech. / Elective

Self enrolment: IT477-Introduction to GPU Programming Fall 2014
Write a concise and interesting paragraph here that explains what this course is about

Category: Winter 2008 - Courses / 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: Winter 2008 - Courses / MTech ICT / Electives

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

Category: Winter 2008 - Courses / 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: Autumn 2017-18 / 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: Autumn 2009 - Courses / MSc IT / Core

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

Mathematics

Core course for first semester MSc IT students at DAIICT

Category: Autumn 2012 / MScIT Courses

Self enrolment: Mathematics

Open Source Initiative at DA-IICT


OSID is an initiative taken by a group of students to educate about and advocate for benefits of open source. We work by offering a course in open source which includes talks and hands-on sessions with the following two long term goals:

1. Benefiting the student community by enhancing their technical skills, and

2. Encouraging the students to contribute to/use open source softwares.

Our speakers are experts in one or more areas in open source. Any student of DA-IICT can join in any time and make use of the various benefits provided by this course page, such as, downloading the pdfs of talks or practical sessions, knowing about the course contents, posting doubts on discussion pages, and staying up-to-date with the activities.


Category: Groups/Clubs

Self enrolment: Open Source Initiative at DA-IICT
This course has two parts: (1) Communication skills and (2) Computer Skills .


Category: Autumn 2008 - Courses / MSc ICT - ARD / Core

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

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: Winter 2009 - Courses / 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: Winter 2013-14 / MScIT / Core

Self enrolment: PC641_MSc(IT) Project Internship

SC 106 Discrete Mathematics

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

Category: Winter 2009 - Courses / 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: Autumn 2017-18 / 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

This course is an overview of one of the most challenging and interesting areas of modern science and technology. Foundation of biotechnology is, though, age-old, but it became an household topic by unfolding of DNA, the one of the most controversial Genome Project, Stem Cell research and a fever-pitched attention to Nanotechnology. In this course students will be exposed to salient and conceptual parts of medical, plant, industrial and environmental biotechnology in a very simple way. The relevant knowledge of biotechnology will expand the horizon of student as a technologist.

Category: Autumn 2010 / B.Tech / Elective

Self enrolment: SC 341 - Introduction to Biotechnology
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 3rd year BTech and open to MTech students. 4th year BTech can also take this course.

Category: Winter 2010 / Winter 2011 / B. Tech / Elective

Self enrolment: SC 461 - Introduction to Coding Theory and Applications
In last 50 years Information and Communication Technology (ICT) has had a great impact on our society. The most profound and accelerated impact of ICT can be seen in the last decade in the form of cell phones, connected computers and Internet. We even have a virtual currency. ICT is an interdisciplinary discipline combining IT (Information Technology) and CT (Communication Technology). IT has its root in computer science and CT has its root in theory of communication. Both the fields now can be seen as two sides of the same coin. Both deals with information, in IT we store (send information from now to then) and manipulate the information and in CT we send information from here to there (communicate). The mathematical principles of ICT lie in theoretical computer science (Turing machine) and information and coding theory (work of Shannon and Hamming). Realization of ICT is via logic gates and circuits giving birth to the area of Electronics and VLSI.
Coding theory is at the heart of ICT with roots in mathematics, origin in electrical engineering and applications to computer science. Whenever you want to send information from one point to other point (communication) or send information from now to then (storage) you require error-correcting codes. Richard W. Hamming created first error-control codes in 1947 (published in 1949) 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.
Around the same time in 1948 Shannon published the famous paper on Information theory "A Mathematical Theory of Communication". Information theory answers two fundamental questions about digital information viz. how much you can compress the digital information? (Answer: The Entropy H) and what is the ultimate transmission rate of digital communication (Answer: The Channel Capacity C). While information theory sets the bounds of data storage, communication etc. Coding theory tells us how to achieve these limits. It is more about algorithm and construction of codes. Thus there are two aspects of coding theory: source coding (for data compression) and channel coding (error correction). We will be focusing more on error correction. Information theory is an interdisciplinary field with connections to Statistical physics (thermodynamics), Computer science (Kolmogorov Complexity: complexity of a string of data is the length of the shortest binary program for computing the string), Communications, Economics, Networks and even to Biology and Chemistry.
Error control coding (ECC) 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. Many new applications of coding theory have emerged such as to Cloud computing (Cloud Data Storage and Cloud Security). 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, networks, 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 the 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 and various bounds.
More in the course. So fasten your seatbelt.

This course is designed for 3rd year BTech and open to MTech students and PhD Students. Those who have missed the boat from 4th year BTech can also take this course.

Category: Autumn 2012 / Winter 2012 / Elective

Guest access: SC 461 Coding Theory and Applications Self enrolment: SC 461 Coding Theory and Applications
In last 50 years Information and Communication Technology (ICT) has had a great impact on our society. The most profound and accelerated impact of ICT can be seen in the last decade in the form of cell phones, connected computers and Internet. We even have a virtual currency. ICT is an interdisciplinary discipline combining IT (Information Technology) and CT (Communication Technology). IT has its root in computer science and CT has its root in theory of communication. Both the fields now can be seen as two sides of the same coin. Both deals with information, in IT we store (send information from now to then) and manipulate the information and in CT we send information from here to there (communicate). The mathematical principles of ICT lie in theoretical computer science (Turing machine) and information and coding theory (work of Shannon and Hamming). Realization of ICT is via logic gates and circuits giving birth to the area of Electronics and VLSI.
Coding theory is at the heart of ICT with roots in mathematics, origin in electrical engineering and applications to computer science. Whenever you want to send information from one point to other point (communication) or send information from now to then (storage) you require error-correcting codes. Richard W. Hamming created first error-control codes in 1947 (published in 1949) 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.
Around the same time in 1948 Shannon published the famous paper on Information theory "A Mathematical Theory of Communication". Information theory answers two fundamental questions about digital information viz. how much you can compress the digital information? (Answer: The Entropy H) and what is the ultimate transmission rate of digital communication (Answer: The Channel Capacity C). While information theory sets the bounds of data storage, communication etc. Coding theory tells us how to achieve these limits. It is more about algorithm and construction of codes. Thus there are two aspects of coding theory: source coding (for data compression) and channel coding (error correction). We will be focusing more on error correction. Information theory is an interdisciplinary field with connections to Statistical physics (thermodynamics), Computer science (Kolmogorov Complexity: complexity of a string of data is the length of the shortest binary program for computing the string), Communications, Economics, Networks and even to Biology and Chemistry.
Error control coding (ECC) 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. Many new applications of coding theory have emerged such as to Cloud computing (Cloud Data Storage and Cloud Security). 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, networks, 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 the 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 and various bounds.
More in the course. So fasten your seatbelt.

This course is designed for 3rd year BTech and open to MTech students and PhD Students. Those who have missed the boat from 4th year BTech can also take this course.

Category: Winter 2013 / BTech Electives

Guest access: SC 461 Coding Theory and ApplicationsSelf enrolment: SC 461 Coding Theory and Applications

SC 461 Coding Theory and Applications

In last 50 years Information and Communication Technology (ICT) has had a great impact on our society. The most profound and accelerated impact of ICT can be seen in the last decade in the form of cell phones, connected computers and Internet. We even have a virtual currency. ICT is an interdisciplinary discipline combining IT (Information Technology) and CT (Communication Technology). IT has its root in computer science and CT has its root in theory of communication. Both the fields now can be seen as two sides of the same coin. Both deals with information, in IT we store (send information from now to then) and manipulate the information and in CT we send information from here to there (communicate). The mathematical principles of ICT lie in theoretical computer science (Turing machine) and information and coding theory (work of Shannon and Hamming). Realization of ICT is via logic gates and circuits giving birth to the area of Electronics and VLSI. 
Coding theory is at the heart of ICT with roots in mathematics, origin in electrical engineering and applications to computer science. Whenever you want to send information from one point to other point (communication) or send information from now to then (storage) you require error-correcting codes. Richard W. Hamming created first error-control codes in 1947 (published in 1949) 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. 
Around the same time in 1948 Shannon published the famous paper on Information theory "A Mathematical Theory of Communication". Information theory answers two fundamental questions about digital information viz. how much you can compress the digital information? (Answer: The Entropy H) and what is the ultimate transmission rate of digital communication (Answer: The Channel Capacity C). While information theory sets the bounds of data storage, communication etc. Coding theory tells us how to achieve these limits. It is more about algorithm and construction of codes. Thus there are two aspects of coding theory: source coding (for data compression) and channel coding (error correction). We will be focusing more on error correction. Information theory is an interdisciplinary field with connections to Statistical physics (thermodynamics), Computer science (Kolmogorov Complexity: complexity of a string of data is the length of the shortest binary program for computing the string), Communications, Economics, Networks and even to Biology and Chemistry. 
Error control coding (ECC) 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. Many new applications of coding theory have emerged such as to Cloud computing (Cloud Data Storage and Cloud Security). 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, networks, 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 the 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 and various bounds. 
More in the course. So fasten your seatbelt.

This course is designed for 3rd year BTech and open to MTech students and PhD Students. Those who have missed the boat from 4th year BTech can also take this course.


Category: Winter 2013-14 / B.Tech. / Elective

Guest access: SC 461 Coding Theory and ApplicationsSelf enrolment: SC 461 Coding Theory and Applications

SC 461 Coding Theory and Applications Spring 2015

In last 50 years Information and Communication Technology (ICT) has had a great impact on our society. The most profound and accelerated impact of ICT can be seen in the last decade in the form of cell phones, connected computers and Internet. We even have a virtual currency. ICT is an interdisciplinary discipline combining IT (Information Technology) and CT (Communication Technology). IT has its root in computer science and CT has its root in theory of communication. Both the fields now can be seen as two sides of the same coin. Both deals with information, in IT we store (send information from now to then) and manipulate the information and in CT we send information from here to there (communicate). The mathematical principles of ICT lie in theoretical computer science (Turing machine) and information and coding theory (work of Shannon and Hamming). Realization of ICT is via logic gates and circuits giving birth to the area of Electronics and VLSI. 
Coding theory is at the heart of ICT with roots in mathematics, origin in electrical engineering and applications to computer science. Whenever you want to send information from one point to other point (communication) or send information from now to then (storage) you require error-correcting codes. Richard W. Hamming created first error-control codes in 1947 (published in 1949) 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. 
Around the same time in 1948 Shannon published the famous paper on Information theory "A Mathematical Theory of Communication". Information theory answers two fundamental questions about digital information viz. how much you can compress the digital information? (Answer: The Entropy H) and what is the ultimate transmission rate of digital communication (Answer: The Channel Capacity C). While information theory sets the bounds of data storage, communication etc. Coding theory tells us how to achieve these limits. It is more about algorithm and construction of codes. Thus there are two aspects of coding theory: source coding (for data compression) and channel coding (error correction). We will be focusing more on error correction. Information theory is an interdisciplinary field with connections to Statistical physics (thermodynamics), Computer science (Kolmogorov Complexity: complexity of a string of data is the length of the shortest binary program for computing the string), Communications, Economics, Networks and even to Biology and Chemistry. 
Error control coding (ECC) 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. Many new applications of coding theory have emerged such as to Cloud computing (Cloud Data Storage and Cloud Security). 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, networks, 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 the 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 and various bounds. 
More in the course. So fasten your seatbelt.

This course is designed for 3rd year BTech and open to MTech students and PhD Students. Those who have missed the boat from 4th year BTech can also take this course.


Category: Winter 2014 - 15 / B Tech / Electives

Guest access: SC 461 Coding Theory and Applications Spring 2015 Self enrolment: SC 461 Coding Theory and Applications Spring 2015

SC-105-Calculus, Where are you? Fall 2015

This exciting course is foundation to 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: Autumn 2015-16 / B.Tech / Core

Guest access: SC-105-Calculus, Where are you? Fall 2015Self enrolment: SC-105-Calculus, Where are you? Fall 2015

SC216 Calculus with Complex Variables

This course will cover basics of Calculus, Complex variables and Differential equations.

Category: Winter 2008 - Courses / BTech ICT / Core

Guest access: SC216 Calculus with Complex VariablesSelf enrolment: SC216 Calculus with Complex Variables

SC216 Calculus with Complex Variables