Learn · NPTEL

Course10610522560 lectures

Data Structure and Algorithms using Java

Prof. Debasis Samanta · IIT Kharagpur

Start with lecture 1 At NPTEL

About

With the growth of Information and Communication Technology, there is a need to develop large and complex software. For developing large software, software developers should have enough proficiency of data structures and algorithms. Further, those software should be platform independent, Internet enabled, easy to modify, secure, and robust. To meet this requirement object-oriented paradigm has been developed and based on this paradigm the Java programming language emerges as the best programming environment. Now, Java programming language is being used for mobile programming, Internet programming, and many other applications compatible to distributed systems. This course aims to cover the essential topics of data structures and algorithms and how the same can be implemented using Java programming language. The participants of the proposed course will be able to improve their skills, to cope with the current demand of IT industries and solve many problems in their own filed of studies.

INTENDED AUDIENCE : The undergraduate students from the engineering disciplines, namely CSE, IT, EE, ECE, etc. might be interested for this course.

PREREQUISITES : This course requires that the students are familiar with programming language such as C/C++/Java, data structures and algorithms.

Lectures

Week 1

  1. Lecture 01 : Introduction and Course Plan YouTube
  2. Lecture 02 : Generic Methods YouTube
  3. Lecture 03 : Basics of Generic Class YouTube
  4. Lecture 04 : Parameterized Generic Class YouTube
  5. Lecture 05 : Bounded Argument Generic Class YouTube

Week 2

  1. Lecture 06 : Basics of the Framework YouTube
  2. Lecture 07 : Collection in JCF YouTube
  3. Lecture 08 : Set of JCF YouTube
  4. Lecture 09 : Map Framework YouTube
  5. Lecture 10 : Java Legacy Classes YouTube

Week 3

  1. Lecture 11 : Array Data Structures YouTube
  2. Lecture 12 : Programming for Arrays YouTube
  3. Lecture 13 : Class ArrayList for Arrays YouTube
  4. Lecture 14 : Arrays for Arrays YouTube
  5. Lecture 15 : Vector Class for Arrays YouTube

Week 4

  1. Lecture 16 : Linked List Data Structure (Part-I) YouTube
  2. Lecture 17 : Linked List Data Structure (Part-II) YouTube
  3. Lecture 18 : Programming for Linked Lists (Part-I) YouTube
  4. Lecture 19 : Programming for Linked Lists (Part-II) YouTube
  5. Lecture 20 : Linked Lists Using JCF YouTube

Week 5

  1. Lecture 21 : Stack Data Structures YouTube
  2. Lecture 22 : Programming for Stack YouTube
  3. Lecture 23 : Stack Using JCF YouTube
  4. Lecture 24 : Queue Data Structure YouTube
  5. Lecture 25 : Programming for Queue YouTube

Week 6

  1. Lecture 26 : Queue Using JCF YouTube
  2. Lecture 27 : Understanding Tree Data Structures YouTube
  3. Lecture 28 : Operations on Binary Tree Data Structures YouTube
  4. Lecture 29 : Binary Search Tree YouTube
  5. Lecture 30 : Programming for Binary Search Tree YouTube

Week 7

  1. Lecture 31 : Height Balanced Binary Search Tree YouTube
  2. Lecture 32 : Heap Tree YouTube
  3. Lecture 33 : Programming for Heap Tree YouTube
  4. Lecture 34 : Huffman Tree YouTube
  5. Lecture 35 : Graph Structures YouTube

Week 8

  1. Lecture 36 : Graph Algorithms YouTube
  2. Lecture 37 : Map Framework in Java YouTube
  3. Lecture 38 : Applications of Map (Part-I) YouTube
  4. Lecture 39 : Applications of Map (Part-II) YouTube
  5. Lecture 40 : Collection Set YouTube

Week 9

  1. Lecture 41 : Operations on Set Collection YouTube
  2. Lecture 42 : Introduction to java.io YouTube
  3. Lecture 43 : IO with Byte Streams YouTube
  4. Lecture 44 : IO with Character Streams YouTube
  5. Lecture 45 : File Input-Output YouTube

Week 10

  1. Lecture 46 : Random Access File YouTube
  2. Lecture 47 : Linear Searching Algorithms YouTube
  3. Lecture 48 : Non-linear Searching Algorithms YouTube
  4. Lecture 49 : Programs for Searching YouTube
  5. Lecture 50 : Sorting Algorithms (Part-I) YouTube

Week 11

  1. Lecture 51 : Improved Sorting Algorithms YouTube
  2. Lecture 52 : Advanced Sorting Algorithms YouTube
  3. Lecture 53 : Programs for Sorting (Part-I) YouTube
  4. Lecture 54 : Programs for Sorting (Part-II) YouTube
  5. Lecture 55 : Sorting Using JCF YouTube

Week 12

  1. Lecture 56 : String Class YouTube
  2. Lecture 57 : Applications of String YouTube
  3. Lecture 58 : StringBuffer Class YouTube
  4. Lecture 59 : Miscellaneous Utilities YouTube
  5. Lecture 60 : Java Cursors YouTube

Syllabus and materials

At NPTEL, as the course publishes them.

Credits and licence

Institution
IIT Kharagpur
Department
Computer Science and Engineering
Teacher
Prof. Debasis Samanta
Level
Undergraduate
Language
English
Subjects
Computer science, Engineering
Source
NPTEL
Licence
CC BY-NC-SA, as NPTEL states it. Non-commercial use only. NPTEL's terms
Attribution
NPTEL states: "Distributed under Creative Commons Attribution-ShareAlike / CC BY - NC - SA", beside a BY-NC-SA badge.
Who can watch
NPTEL gives no rating. Invisible Network shows it to Tweens profiles and older, judged from what the source says about it. How courses are placed