CS2700: Programming and Data Structures


Course description
Moodle
Slides Video lectures

TCF Rating:

  • Course: 0.87 (institute mean: 0.80)
  • Instructor: 0.90 (institute mean: 0.83)
  • Full Report
 
Department: Computer Science and Engineering.
Structure: 3-1-0-0-6-10
Slot: B (Monday 9, Tuesday 8, Wednesday 12, Friday 11)
Venue: Join here.
TAs: Abhishek, Kaushal, Lokasis, Shan, Solarica, Akshay, Keshav
Course Faculty: Rupesh Nasre.


Salman Muhammed Aslam (ME16B163)
Thank you very much for taking this immensely useful course (PDS) for us non-CSE students. Even though I could not attend some of the final live classes on account of a small accident and being unwell, I quite enjoyed the course. I am sure most of us also feel the same. The classes were quite interesting and we are thankful for the more than enough space given to us to raise our doubts and put forth our ideas. You did encourage and inspire us to think beyond confines. I hope this course will be provided again and more students can benefit from it.

B V Murari (MM18B015)
Thank you for offering this course to us. I personally did learn new topics. Class discussions really helped. I could appreciate the creative and unique thought processes of different students. Also, you encouraged us to ask any kind of doubts in class which helped me to re-learn many topics that I had not learnt properly earlier.

Saishree Kota (CH18B062)
I hope this course continues to be offered in the future and other people also benefit from it. Today, coding (and related topics) is not limited to SDE or IT roles but is relevant and applicable in almost every domain. Personally, I did my internship in a pharmaceutical company where I was involved in developing a code that could optimize the production and supply chain. Thus, it would be great if not only this, but other important courses are similarly offered to non-CSE students.

Evaluation:

  • 60 Exams + 40 Assignments

    Deadlines
    Exams
    Evaluation ItemMarksStudentTAInstructor
    Quiz 120Sep 4--+10 days
    Quiz 220Oct 9--+10 days
    Quiz 320Nov 21--+10 days
    Assignments
    Evaluation ItemMarksStudentTAIns.
    A110Aug 29+10 days--
    A215Sep 26+10 days
    A315Oct 24+10 days

    Lectures
    MonthDatesTopicAdditional Material
     August  2, 3, 4, 6  Introduction and Logistics  
  • Basic C++
  • Other codes
  •    9, 10, 11, 13  Complexity  
  • Binary Search
  • Maximum Subsequence Sum O(n3)
  • Maximum Subsequence Sum O(n2)
  • Maximum Subsequence Sum O(n)
  •    16, 17, 18, 20  Lists  20 is a non-instructional day now.
  • Linked lists
  • Stack usage in C++
  • Stack implementation in C and in C++
  •    23, 24, 25, 27  Lists   23 is Friday timetable.
  • Balanced Parentheses
  • Postfix Evaluation
  • Infix to Postfix
  •     30, 31  Lists  
  • Queue usage in C++
  • Call Center Simulation (without waiting users), Sample input
  • Call Center Simulation (supports waiting users, but has duplication), Sample input
  • Final Simulation

  • Queue implementation (without wrap-around)
  • Queue implementation (with wrap-around)
  •  September  1, 3  Trees  
  • Basic tree operations
  • Directory listing (preorder)
  • Subtree size (postorder)
  • Iterative preorder
  •    4 (Saturday)     Quiz 1 on 4
       6, 7, 8, 10  Trees  
       13, 14, 15, 17  Trees   15 is Friday timetable?
  • Expression tree (postorder and inorder)
  • Postfix2Tree
  • Binary Search Tree
  •    20, 21, 22, 24  Dictionaries  
  • AVL Tree
  •     27, 28, 29    
     October  1  Dictionaries  
        4, 5, 6, 8  Dictionaries  
  • HashTable: Chaining
  • HashTable: List header
  • HashTable: List implementation
  • HashTable: Linear Probing
  •    9 (Saturday)     Quiz 2 on 9
       11, 12, 13, 15  Dictionaries  
  • HashTable: Open Addressing
  • HashTable: Open Addressing Header
  •    18, 19, 20, 22  Priority Queues   Holiday on 19?
  • Heap: Header, Code, Main
  • Heap: Makefile (compile by typing make on the command line)
  • Kth Maximum using Heap
  • Heapsort
  • Huffman Coding
  •    25, 26, 27, 29  Arrays  
  • Sorting (Bubble, Insertion, Selection, Shell, Quick, Merge, Heap, Bucket, Radix)
  •  November  1, 2, 3, 5  Graphs  
       8, 9, 10, 12  Graphs  
  • Graph header, Graph implementation
  • Breadth First Search (BFS)
  • Depth First Search (DFS)
  • DFS Recursive
  •     21     EndSem