0% found this document useful (0 votes)
22 views

1 Introduction To Data Structures

The document provides an overview of a course on data structures and algorithms. It discusses the objectives of learning efficient data organization and problem solving techniques. It also outlines the course content, evaluation criteria and references.

Uploaded by

rajeshsinghiiit
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
22 views

1 Introduction To Data Structures

The document provides an overview of a course on data structures and algorithms. It discusses the objectives of learning efficient data organization and problem solving techniques. It also outlines the course content, evaluation criteria and references.

Uploaded by

rajeshsinghiiit
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

1/6/2012

ES103: Data Structures and Algorithms


Atul Gupta

Computer Engineering is about


Solving problems by writing programming solutions
Not just any solution but the best possible solution of the problem Characteristics of the best solution
Efficient (performance or speed) Cost effective Scalable Useful Correct Robust Secure Modifiable (change)

1/6/2012

A Programming Solution
Inputs
Keyboard (user) Mouse (user) Network (system) Devices (system) Other programs
Computation #3

Computations Outputs
Monitor Network Devices Other programs
Computation #3

O/P #1

O/P #2

O/P #3

Computation #1

GUI

Computation
Data (Information) Processing of the Data Two principle ways
of Computation
Functional
Data F-2 F-3 F-4 F-5 F-1
Computation #3

Computation #3

Computation #1

Object-oriented o1 o2 o3 o5 o6 o4 o7

1/6/2012

Improving Computation
Data Structures
Choosing suitable data organization Having efficient data storing and retrieving mechanism

Design of Algorithms
Applying appropriate strategies for problem solving
Greedy, dynamic programming, divide and conquer, branch and bound,

Solution Characteristics

Efficient (performance or speed) Cost effective Scalable Useful Correct Robust Secure Modifiable
Computation #3

Computation #3

Computation #1

Computational Domains
Spreadsheets primitive persistent data with mathematical analysis (no algorithms) Database primitive persistent data with standard set of operations + query (no algorithms) Application Software (Word, Spreadsheets, ) - Advanced data structures + files + algorithms System software (OS, NOS, DS, DBMS, Compiler, System tools) Advanced data structures + files + efficient algorithms [Real time systems - Deterministic Solutions] Knowledge based systems + Data mining systems Database + dynamic data organizations + intelligent (machine learning) algorithms [Hard Problems approximate solutions]

1/6/2012

ES 103: Data Structures & Algorithms


Efficient organizations of complex program data including operations performed on them

+
Efficient problem solving approaches

ES 103: Course Objectives


Objectives
Learn about efficient data organizations Learn about various problem solving techniques Estimating algorithmic complexity Improved programming skills

Other benefits
GATE examination Job interviews

1/6/2012

ES 103: Course Highlights


Estimating algorithmic complexities Tools like Recursion, Iteration ADT
Linear data organizations like Arrays, Stacks, queues, Linked lists Non-linear data organizations like hashing, trees (and its many variances), graphs (and many variances) Examples

Searching and Sorting Algorithm Design Techniques like Greedy, Dynamic Programming, Divide and Conquer, Branch and Bound

About Me
Dr Atul Gupta, PhD (IITK), M Tech (IITR)
Associate Professor, CSE Discipline Convener, CSE Convener, CC

Research Interests (Software Engineering)


Software Modeling Software Testing Object-Oriented Software Development Empirical Software Engineering Test-Driven Development

1/6/2012

ES 103: Course Page


http://sites.google.com/site/atulkg/courses/es-103-data-structureand-algorithms-2012

Place for
Course slides Example codes (Practice Codes) Data structure codes (both in C as well as in Java) Programming Assignments Learning references and help

ES 103: Course Evaluation


Four Quizzes (5% each) Mid Semester Exam (20%) End Semester Exam (20%) Programming Assignments (30%)
C or Java

Attendance (10%)

1/6/2012

Lab Work
Programming Assignments Programming Language(s) TAs Additional help

References
Data Structures and Algorithms in C++ by Michael T. Goodrich, Roberto Tamassia, and David M. Mount Wiley Publications Introduction to Algorithms by Cormen, Leiserson, Rivest, and Stein, 2nd Ed., PHI Course Slides Internet

You might also like