• Tidak ada hasil yang ditemukan

CPCS 223 Analysis & Design of Algorithms

N/A
N/A
Protected

Academic year: 2025

Membagikan "CPCS 223 Analysis & Design of Algorithms"

Copied!
11
0
0

Teks penuh

(1)

Welcome to CPCS 223

Analysis & Design of Algorithms

Fall 2019

Faculty of Computing and Information Technology

King Abdulaziz University

(2)

Your Instructor

Dr. Haneen Banjar

[email protected] My office:

S116

Office Hours:

By appointment via email

(3)

Course

Textbook: Anany Levitin, "Introduction to the Design & Analysis of Algorithms",

Addison-Wesley Longman; 3rd edition (2012).

Marks Distribution:

Week Assessment Tool 100%

6 Exam 1 15

10 Project (Individual) 15

12 Exam 2 15

15 Homework Assignments 15

16 Comprehensive Final Exam 40

(4)

Key Outcomes

 Study solutions to

fundamental programming problems

 Examine how computer

solutions are designed + how they perform

 Compare different solutions

to the same problem

(5)

Course Learning Outcome

1. Discuss the formal definition of algorithm.

2. Discus how the efficiency of algorithms is characterized and measured.

3. Solve simple recurrence relations using select (covered) techniques.

4. Determine the time efficiency of simple iterative or recursive

algorithm given its pseudocode using select (covered) techniques and theorems.

5. Use given algorithm to solve small instances of select (covered) problems by hand.

6. Write proper (well-formed) pseudocode based on knowledge of algorithm operation. (Intent: not a design outcome).

7. Analyze select (covered) decrease-conquer algorithms given a pesudocode.

8. Compare select (covered) algorithms and related data structures in terms of design, operation, performance, and applications.

(6)

Course Learning Outcome

8. Compare select (covered) algorithms and related data structures in terms of design, operation, performance, and applications.

9. Analyze select (covered) divide-conquer algorithms given a pesudocode.

10. [x] MERGED WITH 8 - Compare select (covered) algorithms and related data structures in terms of operation, performance, and applications.

11. Analyze select (covered) transform-conquer algorithms given a pesudocode.

12.Compare select (covered) data structures with respect to dictionary operations.

13.Apply empirical techniques to assess and report the performance of one or more algorithms.

14. Implement algorithm given its pseudocode in programming language and environment of choice.

15. Design an algorithm to solve a problem based on requirements or solution descriptions, or an outline of steps.

(7)

Weekly Schedule

(8)

Week No Catalog Topics Plan Weekly Coverage

1 Ch1: Introduction to algorithms (1p-41p)

Formal definition and characterization of

algorithms, major problem areas, data structures review (as needed)

2 Ch2: Fundamentals of algorithm

efficiency (41p-97p) Measuring efficiency, rates of growth and asymptotic notation, efficiency classes 3

Ch2: Fundamentals of algorithm efficiency (41p-97p)

Fibonacci numbers and recurrence relations, Master’s theorem, using sums and recurrences to compute efficiency

4 Ch3: Brute-force algorithms (97p-

131p) Basic search, sorts, text matching, basic geometric algorithms

5 Ch3: Brute-force algorithms (97p-

131p) Exhaustive search and combinatorial problems,

fundamental graph traversals

Weekly Schedule

(9)

Week No Catalog Topics Plan Weekly Coverage

6 Ch4: Decrease-conquer

algorithms (131p-169p) Decrease-by-one: digraphs and topological sorting, generating combinatorial objects

7 Ch4: Decrease-conquer

algorithms (131p-169p)

Decrease-by-constant factor: binary search, fake coin problem; variable decrease: interpolation search, the selection problem

8

Ch4: Emprical evaluation of

performance (131p-169p) Empirical study of algorithm efficiency, algorithm visualization

9 Ch5: Divide-conquer algorithms

(169p-201p) Mergesort, quicksort

10 Ch5:Divide-conquer algorithms

(169p-201p) Binary tree algorithms, multiplication of large numbers, Strassen’s matrix multiplication

Weekly Schedule

(10)

Week No Catalog Topics Plan Weekly Coverage

11 Ch5:Divide-conquer algorithms

(169p-201p) Divide-conquer geometric algorithms 12 Ch6:Problem transformation

algorithms and data structures (201p-253p)

Efficient polynomial evaluation using Horner’s rule and binary exponentiation, problem reduction

13 Ch6:Problem transformation algorithms and data structures (201p-253p)

Instance simplification: presorting algorithms, using Gaussian elimination for solving systems of linear equations and matrix inversion

14 Ch6:Problem transformation algorithms and data structures (201p-253p)

Balanced search trees and representation change, AVL and 2-3 trees, heaps and heapsort

15 Ch7:Trading space for time

(253p-283) Time permitting topics and catch up material

Weekly Schedule

(11)

Success

 Review Learning Outcomes

 Study early, study regularly

 Pay attention in class

 Do exercises yourself

 B+ and above, read the

textbook carefully

Referensi

Dokumen terkait