ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
EE 220 (Data Structures and
Analysis of Algorithms)
Instructor: Saswati Sarkar (swati@ee.upenn.edu)
T.A. Dhanant Subhdrabandhu
(dhanant@seas.upenn.edu)
Programming Assistant (P. A): Marcus De Young
(mrd @seas.upenn.edu)
Course Web Page: http://www.seas.upenn.edu/~swati/
Timings
Class Tuesday Thursday: 9-10:30, 212 Moore
Instructor Office Hours: 10:30-11:30, Tuesday, 360 Moore
12-1 Thursday 360 Moore
(can schedule meetings other times by appointment)
T.A. Office Hours: Wednesday 11:30-12:30(??), Friday 2-3,
Room??
P.A. Office Hours: Monday 12-1, Wednesday 10:30-11:30,
Room??
Recitation: Day?? Room??
Text Books
Data Structures and Algorithm Analysis in C
Mark Allen Weiss
Prerequisites
EE 110 (Knowledge of C)
CSE 260
Grading
Homeworks once in two weeks (15% of grade)
Posted every alternate Thursday
Due 14 days after posting (solution posted after class)
Exceptions will be notified
Consultation allowed but no copying
Late submission not accepted
First Homework posted today, 8th
Jan, Due 15th
Jan before 9 AM
Programming
Every homework will have one program
Program can be done in C or Java
C programs will be tested in eniac machine
Programs can be done in groups of two students
Contact P.A. for any assistance in programming
Submit all homework programs to P.A.
Comprehensive Final: 35%
2 Midterms: 25% each Dates?
3 Review Lectures: Lecture 1?
Lecture 2?
Lecture 3 (April 18)
Instructors Travel Schedule
No class, no office hours on Januray 29, February 26,
28
Course Content
Course Motivation
Mathematical Foundation:
Complexity Analysis:
Data Structures: List, Stacks, Queues
Algorithm: Searching and Trees
Sorting and Heaps
Graph Algorithms (Depth first Search,
Breadth First Search, Topological sort,
Shortest path algorithm, Spanning Tree
Algorithm)
Computability and Complexity
Course Motivation
Need to run computer programs efficiently!
Computer program:
Accepts Input (Data)
Performs a Sequence of action with the input
Generates Output (Data)
Efficient Management of Data
(Data Structures)
Efficient Sequence of Actions
Algorithms
Algorithms
Sequence of actions a ``dumb¡¯¡¯ machine can follow
For j=1 to N
print j
Efficient versus Inefficient algorithm
Design of Algorithms
You have a problem to solve
Design an efficient algorithm
Use good data structures
Show that your algorithm works!
Prove its correctness
Study the efficiency of your algorithm
Formal Study of Algorithms
Design of Algorithms
Proving Correctness of Algorithms
Formal study of efficiency of algorithms
Run time
Storage required

More Related Content

Ee220s02lec1

  • 1. EE 220 (Data Structures and Analysis of Algorithms) Instructor: Saswati Sarkar (swati@ee.upenn.edu) T.A. Dhanant Subhdrabandhu (dhanant@seas.upenn.edu) Programming Assistant (P. A): Marcus De Young (mrd @seas.upenn.edu) Course Web Page: http://www.seas.upenn.edu/~swati/
  • 2. Timings Class Tuesday Thursday: 9-10:30, 212 Moore Instructor Office Hours: 10:30-11:30, Tuesday, 360 Moore 12-1 Thursday 360 Moore (can schedule meetings other times by appointment) T.A. Office Hours: Wednesday 11:30-12:30(??), Friday 2-3, Room?? P.A. Office Hours: Monday 12-1, Wednesday 10:30-11:30, Room?? Recitation: Day?? Room??
  • 3. Text Books Data Structures and Algorithm Analysis in C Mark Allen Weiss
  • 5. Grading Homeworks once in two weeks (15% of grade) Posted every alternate Thursday Due 14 days after posting (solution posted after class) Exceptions will be notified Consultation allowed but no copying Late submission not accepted First Homework posted today, 8th Jan, Due 15th Jan before 9 AM
  • 6. Programming Every homework will have one program Program can be done in C or Java C programs will be tested in eniac machine Programs can be done in groups of two students Contact P.A. for any assistance in programming Submit all homework programs to P.A.
  • 7. Comprehensive Final: 35% 2 Midterms: 25% each Dates? 3 Review Lectures: Lecture 1? Lecture 2? Lecture 3 (April 18)
  • 8. Instructors Travel Schedule No class, no office hours on Januray 29, February 26, 28
  • 9. Course Content Course Motivation Mathematical Foundation: Complexity Analysis: Data Structures: List, Stacks, Queues Algorithm: Searching and Trees Sorting and Heaps Graph Algorithms (Depth first Search, Breadth First Search, Topological sort, Shortest path algorithm, Spanning Tree Algorithm) Computability and Complexity
  • 10. Course Motivation Need to run computer programs efficiently! Computer program: Accepts Input (Data) Performs a Sequence of action with the input Generates Output (Data) Efficient Management of Data (Data Structures) Efficient Sequence of Actions Algorithms
  • 11. Algorithms Sequence of actions a ``dumb¡¯¡¯ machine can follow For j=1 to N print j Efficient versus Inefficient algorithm
  • 12. Design of Algorithms You have a problem to solve Design an efficient algorithm Use good data structures Show that your algorithm works! Prove its correctness Study the efficiency of your algorithm
  • 13. Formal Study of Algorithms Design of Algorithms Proving Correctness of Algorithms Formal study of efficiency of algorithms Run time Storage required