Vous êtes sur la page 1sur 5

COURSE OUTLINE GIFT SCHOOL OF COMPUTING SCIENCE

CS-318 Analysis of Algorithms B.Sc. Computer Science (Honours) Fall Semester, 2011

Faculty: Credit hours: Core/Elective: Course level: Campus/Location/Instruction Mode: Course Convenor: Consultation hours: Pre-requisite: Timing This document was last updated:

GIFT School of Computing Science 3 Core Undergraduate GIFT University/On Campus/In Person Muhammad Shakeel During office hours CS-214: Data Structures and Algorithms Please see the timetable 26 October, 2011

BRIEF COURSE DESCRIPTION This is an introductory course in algorithms. We will cover standard topics such as definitions of algorithmic complexity (worst case, average case); basic tools such as sorting, searching and dynamic programming; graph algorithms and searching techniques such as minimum spanning trees, depth-first search, shortest paths; and more advanced topics. Emphasis will be given to arguing the correctness of algorithms and performing an analysis of their running time.

COURSE AIMS This course aims to impart knowledge of basic data structures and their role in solving programming tasks. It also shows how to design correct and efficient algorithms by describing their steps precisely and understandably, and to code them in simple programming contexts. The understanding of running time analysis techniques is also an important feature of this course.

LEARNING OUTCOMES The goal of this course is to provide a strong foundation in algorithms and data structures in preparation for jobs in industry or for more advanced courses. Algorithms are the basic language of computer science. After taking this course, you, the student, should be able to: Have a good understanding of how several fundamental algorithms work, particularly those concerned with sorting and searching; Have a good understanding of the fundamental data structures used in computer science; Be able to analyse the space and time efficiency of most algorithms; Be able to design new algorithms or modify existing ones for new applications and reason about the efficiency of the result. Prove the correctness of, and analyse the running times of, different algorithms. Use different algorithm-design techniques, including, but not limited to, greedy, divide-and conquer, and dynamic programming techniques, to solve particular problems. Model real problems abstractly using the language of graphs and ows. Solve problems by reducing to other problems whose solution is known, and show that problems are hard by reducing from other problems. Make intelligent decisions about alternative data structures and algorithmic techniques in the context of practical software problems, choosing from existing data structures and algorithms or designing your own when necessary.

CONTENT SUMMARY

SESSIONS

TOPICS

Sections from the Text 1.11.3

Introduction: Course Overview and Introduction to Algorithms. Analysis framework: notations.

2.1,2.2 2.3 2.4, 2.5 (+ App. B) 3.1, 3.2 (+ 3.3) 3.4

1 2 2 2

Mathematical analysis of nonrecursive algorithms Mathematical analysis of recursive algorithms Brute-force algorithms Exhaustive search

Depth-first search and breadth-first search

3.5

Decrease-by-one: insertion sort, topological sorting

4.1,4.2

MID-SEMESTER EXAMINATION

Binary search and other decrease-by-a-constant factor algorithms.

4.4

Variable-size-decrease algorithms.

4.5

Divide-and-conquer: mergesort, quicksort.

5.1-5.2

Instance simplification: presorting, Gaussian elimination, Balanced search trees. Representation change: heaps and heapsort.

6.1-6.3

6.4

Problem reduction.

6.6

Space-time trade-offs: string matching, and hashing.

7.2-7.3

Dynamic programming algorithms.

8.1-8.4

Greedy algorithms: Prims, Kruskals, Dijkstras, Huffmans.

9.1-9.4

Please note: This is a proposed schedule only and may be varied at the discretion of the Course Convenor to give a greater or lesser degree of emphasis to particular topics. ASSESSMENT

Item 1. 2. 3. 4.

Assessment Task Quizzes Mid Term Assignments Final Examination

Length 6 1 x 60 mins 5 3 hours

Weightage 15% 25% 20% 40%

Due Day and Time In class as per schedule Arranged Notified in due course During formal examination period

Please note: 1. A best of 5 quizzes will be taken in the final assessment. 2. Retake of any quiz is not permissible. 3. Assignments must be submitted in due time. Late submissions will attract penalty. Further information will be notified in the subsequent assignments. 4. There will be ONE midterm examination.

Pass percentage is 50%.


ATTENDANCE POLICY As per the university policy, students must maintain 85% attendance in order to be eligible for appearing in the final examination. There are no exceptions to this rule.

ACADEMIC HONESTY Students are encouraged to discuss material presented in lectures and the textbook and discussion of concepts involved in assignments. However, every student will submit his/her own assignment/quiz/exam. Copying someone elses solutions to any of the testing instrument will be considered as plagiarism and the case will be sent to the disciplinary committee. Also, if the assignment solution involved collaboration with a friend or referencing a website, you must give references and acknowledge the sources.

TEACHING TEAM

Convenor Details Course Convenor Email Office Location Phone Consultation times

GIFT University Muhammad Shakeel m.shakeel@gift.edu.pk Faculty 1 floor Ext.179 on GIFT no. During office hours
st

COURSE COMMUNICATIONS The lecturer will communicate with students through announcements in lectures and via emails only to the respective students university email accounts. Students requiring an appointment should email the lecturer.

TEXTS AND SUPPORTING MATERIALS

TEXTBOOK Introduction to the Design and Analysis of Algorithms, Second Edition by Anany Levitin, Pearson, 2012

REFERENCES

Introduction to Algorithms, 3rd Edition by Cormen, Leiserson, Rivest, and Stein (CLRS), 2009. Algorithm Design by Kleinberg and Tardos, 2006. Algorithms by Dasgupta, Papadimitriou, and Vazirani, 2006

Handouts may be given to supplement the text.

Vous aimerez peut-être aussi