Programming and Data Structures

(CS10001)

The curent era is called as IT (Information Technology) era. It is now so pervasive that every professional should know about it and use it in their professional advancement. With this aim, the topics from "Programming in C" and "Data Structures" have been planned to cover in the course "Programming and Data Structures" and fondly abbreviated as "pds". Although, the topics in PDS is vast, we shall try to cover the most of the basic and important things and that too in more pedagogical way in this course.

Timings: Wednesday, Thursday, and Friday, 12:00—12:55, 11:00—11:55 and 09:00—09:55, respectively at NR 121, Nalanda Complex

View Announcements

Announcements


Date Message
06 May 2017 The End-Sem marks has been announced. Click here to see your mark. Also, find End-Sem Test paper and End-Sem Test Paper Solution.
04 April 2017 The End-Semester Test will be held as per the schedule given below:
  • Date: 28.04.2017
  • Hours: 09:00-12:00
  • Room: Please check the exam hall from Examination cell
  • Syllabus: All the topics covered in the entire semester
  • 25 March 2017 The Class Test -2 and Mid-Sem marks have been announced. Click here to see your mark. Also, find Class Test-II Paper and Class Test-II Solution and Spring Mid-Semester Test Paper and Mid-Semester Test Solution.
    13 February 2017 The Class Test -I marks have been announced. Click here to see your mark. Also, find Class Test-I Paper and Class Test-I Solution.
  • Solutions to all practice sheets are also available now. Please click the link "Resources".
  • 08 February 2017 The Mid-Semester Test will be held as per the schedule given below:
  • Date: 21.02.2017
  • Hours: 09:00-11:00
  • Room: Please check the exam hall from Examination cell
  • Syllabus: Upto Recursion
  • 01 February 2017 The Class Test - I will be held as per the schedule given below:
  • Date: 02.02.2017
  • Hours: 19:00-20:00
  • Room: V3 (Section 4) and V4 (Section 5)
  • Syllabus: Upto Arrays and Strings
  • 03 January 2017 The first class of the course will be held as per the schedule given below:
  • Date: 06.01.2017
  • Hours: 09:00-09:55
  • Room: NR121
  • 31 December 2016 Course web page launched

    Course Overview & Objectives


    This course will cover introduction to digital computers, basics of programming, how to program in C and finally, the different constructs in C-programming langauges. As the data struttures, we shall cover arrays, linke list, stack, queue, trees and graphs. How to implement some standard algorithms in C-language also will be covered.

    After completing this course, you will learn how to:

    • Computer and its working
    • Basics of C-Programming
    • Standard data structures
    • Sorting and searching algorithm
    • Problem solving skills

    Syllabus


    An outline of the course is as follows. You can also download the Course Calendar for your reference.

    Introduction to Digital Computer

    • Computer and its evolutions
    • Different components in a computer
    • Concept of programming
    • Programming environment

    Introduction to C-Programming

    • Basic programming constructs
    • Identifiers, data types and variables
    • Input/Output and assignment operations
    • Conditions and branching
    • Loop and iterations
    • Solving searching and sorting problems

    Advanced Programming Constructs

    • Functions and recursion
    • Solving some problems using recursion
    • Arrays and string
    • Abstract data types and structures
    • Pointers and dynamic memory allocation
    • File handling

    Some Basic Data Structures

    • Linked lists
    • Stack
    • Queue
    • Trees
    • Graphs

    Resources & References


    The following text and reference books may be referred to for this course.

    • The C Programming Language, Brian W. Kernighan and Dennis M. Ritchie, Prentice Hall of India.
    • Schaum's Outline of Programming with C, Byron Gottfried, Tata McGraw-Hill
    • Data Structures, Schaum's Outline Series, Seymour Lipschutz, Tata McGraw-Hill
    • Fundamentals of Data Strcutures in C , Ellis Horowitz, Satraj Sahni and Susan Anderson-Freed, W. H. Freemn and Company
    • Classic Data Structures, Debasis. Samanta, Prentice Hall of India

    Additionally, you may look at the following materials.

    Course Instructor: Dr. Debasis Samanta


    Dr. Debasis Samanta is an Associate Professor in the Department of Computer Science and Engineering, Indian Institute of Technology Kharagpur. For details about him, please see the link http://www.nid.iitkgp.ernet.in/dsamanta/

    For any query, you can reach Dr. Samanta at:

    +91-3222-282334 (Office)

    +91-3222-282335 (Residence)

    +91-7797137576 (Only SMS)

    d...@iitkgp.ac.in

    d...@gmail.com

    Teaching Assistants


    • Major Baljeet Singh Cheema (b...@yahoo.com)
    • S. R. Sreeja (g...@gmail.com)
    • Anushri Saha (a...@gmail.com)
    • Anoop A. (a...@gmail.com)
    • Prasen Kumar Sharma (p...@gmail.com)

    Moodle


    Moodle, an online course management system, will be used extensively in this course. You should sign up for the course Moodle at the earliest. Once you click on the link, you would be redirected to the CSE home page where you would find a link for signing up at the bottom of the page.

    In case of any doubt on the subject matter and topics covered in the class, you are welcome to participate in the Discussion Forum and post your query. We would get back to you with a response as soon as possible. Moreover, your friends can help answer your query too! Discussions in the forum may be moderated.