You are on page 1of 20

# Design and Analysis of Algorithms

## Lecture 1: Introduction to Algorithms and Problem Solving

Tauseef Iftikhar
Department of Computer Science
Government College University, Lahore.

Todays Agenda

Introduction to Course
Logistics
Nature of course

Todays Agenda

Introduction to Course
Logistics
Nature of course

Meet me!

## Office: Room No. 103

Office visiting hours:
Tuesday 2:00pm to 3:30pm Friday 2:00 to 03:30
Blog:www.lecturercs.wordpress.com
Email:tauseef.iftikhar@ gcu.edu.pk
phone calls are not allowed

Course Introduction

## Course Title: Design and Analysis of Algorithms

Course Code: CS-3108

Course Introduction

## Course Title: Design and Analysis of Algorithms

Course Code: CS-3108
Recommended Book
I

## Thomas H. Cormen Charles E. Leiserson Ronald L. Rivest

Clifford Stein Introduction to Algorithms 3rd Edition, The
MIT Press Cambridge

Reference Books
I

## Knuth, Donald Ervin, The Art Of Computer Programming (3

Todays Agenda

Introduction to Course
Logistics
Nature of course

Course Description

## The design and analysis of algorithms is the core subject matter of

Computer Science. Given a problem, we want to (a) find an
algorithm to solve the problem, (b) prove that the algorithm solves
the problem correctly, (c) prove that we cannot solve the problem
any faster, and (d) implement the algorithm. Designing an
algorithm for a computational problem involves knowledge of the
problem domain, a thorough knowledge of the data structures that
are available and suitable and no small measure of creativity. This
course concentrates on the above problems, studying useful
algorithm design techniques, and methods for analyzing algorithms.

## Knowing the results before doing

Course Objectives
The objective of the course is to develop following skills in the
students of computer science:
I

cope with them.

Course Strategy

Course Strategy

Course Strategy

algorithms

Course Strategy

algorithms

## quiz after almost every lecture.

Course outline
Credit Hours:
Lecture
Lecture 1
Lecture 2
Lecture 3
Lecture 4
Lecture 5
Lecture 6
Lecture 7
Lecture 8
Lecture 9
Lecture 10
Lecture 11
Lecture 12
Lecture 13
Lecture 14

3
Topics
Course logistics and Introduction
Introduction to algorithms and problem solving
Some algorithms -examples
Some algorithms -examples
Correctness verification
Correctness verification
Analysis of Algorithms -order of growth
Analysis of Algorithms -asymptotic notations
Asymptotic notations
Sorting algorithms -insertion sort
Selection sort bubble sort
Recursive Equations
Solving Recursive Equations -iterative method
Solving Recursive Equations -recursion tree

Course outline
Lectures
Lecture 15
Lecture 16
Lecture 17
Lecture 18
Lecture 19
Lecture 20
Lecture 21
Lecture 22
Lecture 23
Lecture 24
Lecture 25
Lecture 26
Lecture 27
Lecture 28

Topics
Solving Recursive Equations -substitution method
Solving Recursive Equations -master theorem
Merge sort
Merge sort analysis
Quick sort
Quick sort analysis
Heap sort
Heap sort analysis
Binary search sort
Binary search sort analysis
Lower bound for comparison base sort
Linear time sorting -counting sort
Linear time sorting -radix and bucket sort
AVL trees

Quizzes 10%

Assignments 10%

circumstances

Course Policy

## Attendance and preparation

Lecture attendance is mandatory and students are expected to
come well prepared for every class. Note taking is encouraged
to help understand ideas more deeply.

Course Policy

## Attendance and preparation

Lecture attendance is mandatory and students are expected to
come well prepared for every class. Note taking is encouraged
to help understand ideas more deeply.

Assignment Submission
All assignments should be submitted by or on the due dates
and due time. Students are responsible for making sure that I
receive their assignments by or on the due dates. All
assignments, hardcopy as well as email must be clearly marked
with the student name, student roll number, course name and
assignment title, and section number.

Course Policy