Programming and
Data Structures
Lecture 01: Introduction and Overview
Dr. Sandeep Manjanna
Assistant Professor, Plaksha University
[email protected]1/20/2023 2
Overview
• Instruction Team
• Introduction
• Course Schedule
• Course Content
• Grading & Attendance
• Reading material
1/20/2023 3
Instruction Team
Dr. Sandeep Manjanna Dr. Manoj Kannan
[email protected] [email protected] Shivam Agarwal Rahul Kumar Monika Verma <tentative> Teaching and
[email protected] [email protected] [email protected] Instruction Support
1/20/2023 4
1/20/2023
About Sandeep
• BE, Computer Science and Engineering, SJCE,
Mysore
• Software Engineer, Alcatel-Lucent, Bengaluru
• MSc & PhD, Computer Science (Thesis in Robotics),
McGill University, Montreal
• James McDonnell Postdoctoral Fellow at GRASP
Labs, UPenn, Philadelphia
• Assistant Professor, Plaksha University
Course Logistics
Course Schedule
Tuesday : 9 am to 9:50 am (12 pm to 12:50 pm Only until the Feb 1st)
Lec
Friday : 11 am to 11:50am
Wednesday : 2 pm to 3:50 pm (Section 1)
Lab
Saturday : 10 am to 11:50 am (Section 2)
Office Hour
Wednesday : 4 pm to 5 pm (Or by appointment)
1/20/2023 7
Course Content
Modules
1. Abstractions: Abstractions in Computer Science: Procedures, Modules, Classes and Abstract Data Types. Type Safety.
Motivation for Object Oriented Programming.
2. Object Oriented Programming: Classes, Objects, Methods, Constructors, Returning objects, Encapsulation, and type
safety.
3. Inheritance and Polymorphism: Class hierarchies, inherited data and methods; Polymorphism & Dynamic binding;
Overloaded and overridden methods; Interfaces; Handling multiple inheritance.
4. Stacks, Queues and Lists: The abstract data types, Derived classes, Formula based representation, Linked
representation.
5. Trees, Basic Sorting and Searching: Applications Trees, Binary trees, Properties and representation of binary trees,
Common binary tree operations, Binary tree traversal the ADT binary tree, Binary Search Trees. Sorting details
<tentative>: Insertion Sort, Selection Sort, Merge Sort, Heap Sort, Quick Sort, Radix Sort. Searching details <tentative>:
KD Trees, Skip Lists.
6. Graphs and Applications: Shortest Paths, Minimum Spanning Trees (Dijkstra’s Algorithm, A-Star, Prim’s Algorithm).
1/20/2023 8
Grading & Attendance
• Assignments and quizzes (40%)
• Lab Participation (10%)
• Lab Exams (15%)
• Mid Sem (10%)
• End Sem (20%)
• Participation & Attendance (5%)
Attendance: Minimum 75%
1/20/2023 9
Suggested Reading Material
Reference material:
• Balgurusamy, E. Object-Oriented Programming with C++ (8/e). Chennai: McGraw Hill Education
(India) Pvt. Ltd., 2021.
• Yedidyah Langsam, Moshe J. Augenstein, Aaron M. Tenenbaum. DATA STRUCTURE USING C AND
C++.
Suggested Reading:
• Prata, Stephen. C++ Primer Plus (6/e). New Delhi: Pearson, 2015.
• Lippman, Stanley B. et. al. C++ Primer (4/e). New Delhi: Pearson, 2007.
• Lafore, Robert. Object-Oriented Programming in C++ (4/e). New Delhi: Pearson, 2008.
• C++ programming by Wikibooks upload.
wikimedia.org/Wikipedia/commons/4/4b/C++_Programming2008-4-18.pdf
• Introduction to data structures and algorithms http://nptel.ac.in/courses/106102064/)
Attendance: Minimum 75%
1/20/2023 10