Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| 21cs300 [2021-04-07] – [Synopsis/Syllabus:] Martin Ziegler | 21cs300 [2022-02-09] (current) – [Literature:] Martin Ziegler | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Introduction to Algorithms (CS300) in Spring | + | ====== Introduction to Algorithms (CS300) in Fall 2021 at KAIST' |
| - | All Computer Science is based on the concept of an efficient algorithm: a finite sequence of primitive instructions that, when executed according to their well-specified semantics, provably provide a mechanical solution to the infinitely many instances of a complex mathematical problem within a guaranteed number of steps of least asymptotic growth. We thus call these the ' | + | All Computer Science is based on the concept of an efficient algorithm: a finite sequence of primitive instructions that, when executed according to their well-specified semantics, provably provide a mechanical solution to the infinitely many instances of a complex mathematical problem within a guaranteed number of steps of least asymptotic growth. We thus call these ' |
| * full and unambiguous problem specification | * full and unambiguous problem specification | ||
| * | * | ||
| - | * | + | * |
| * and analysis (correctness, | * and analysis (correctness, | ||
| * with proof of asymptotic optimality. | * with proof of asymptotic optimality. | ||
| - | We will learn all about important basic algorithms and their analysis. | + | We will learn all about important basic algorithms and their analysis, |
| + | as well as the difference to heuristics or programs/ | ||
| Their practical impact is demonstrated in selected implementations. | Their practical impact is demonstrated in selected implementations. | ||
| Lecturer: Martin Ziegler | Lecturer: Martin Ziegler | ||
| - | Lectures: online via //Zoom// <del>classroom #1501 in building | + | Lectures: online via //Zoom// < |
| - | Schedule: Tuedays and Thursdays, | + | Schedule: Tuedays and Thursdays, |
| Language: English __only__ (except for students discussing in KLMS) | Language: English __only__ (except for students discussing in KLMS) | ||
| - | Teaching Assistants: | + | Teaching Assistants: |
| + | Hyeonguk Ryu, Jaejun Lee, Jihoon Hyun, Kyounga Woo, Minjae Park, Mukhtar Kussaiynbekov, Seungjin Baek, Taeyoung Kim, Yeonghun Kim, Yoonsung Choi | ||
| - | Office hours: | + | Office hours: |
| Quiz: On randomly selected sessions we will perform a short online quiz. | Quiz: On randomly selected sessions we will perform a short online quiz. | ||
| - | Grading: | + | Grading: |
| - | Midterm: April 20 | + | Retakers admitted to improve grades C-,D,F; not to improve grades C0 and C+. |
| Recommended background: CS204 (Discrete Mathematics), | Recommended background: CS204 (Discrete Mathematics), | ||
| - | Philosophy: Education is a Human Right, not a competition. | + | Philosophy: Education is a Human Right, not a competition. |
| - | This course aims // | + | This course aims //beyond//, and takes for granted students mastering, |
| ====== Homework/ | ====== Homework/ | ||
| Line 42: | Line 44: | ||
| ===== Academic Honesty: ===== | ===== Academic Honesty: ===== | ||
| - | Late homework submissions (until 7pm) will receive a 50% penalty. \\ | + | <del>Late homework submissions (until 7pm) will receive a 50% penalty. </ |
| + | We do not accept late submissions. \\ | ||
| Copied solutions receive 0 points and personal interrogation during office/ | Copied solutions receive 0 points and personal interrogation during office/ | ||
| Cheating during the exam results in failed grade //F//. \\ | Cheating during the exam results in failed grade //F//. \\ | ||
| Line 55: | Line 58: | ||
| * | * | ||
| * M. Sipser: | * M. Sipser: | ||
| + | * Peter Brass: Advanced Data Structures (2008) | ||
| For your convenience some of these books have been collected in KAIST' | For your convenience some of these books have been collected in KAIST' | ||
| Line 67: | Line 71: | ||
| * Optimal efficiency | * Optimal efficiency | ||
| * Operational primitives | * Operational primitives | ||
| + | * Five algorithms for computing Fibonacci Numbers | ||
| * Recurrences and the //Master Theorem// | * Recurrences and the //Master Theorem// | ||
| * Polynomial Multiplication: | * Polynomial Multiplication: | ||
| Line 83: | Line 88: | ||
| * Merge Sort | * Merge Sort | ||
| * Quicksort | * Quicksort | ||
| - | * Linear-Time Median | + | * {{ : |
| * Optimality of Sorting | * Optimality of Sorting | ||
| * Counting Sort | * Counting Sort | ||
| * Radix Sort | * Radix Sort | ||
| * Sorting in Parallel | * Sorting in Parallel | ||
| - | - Data Types ({{ : | + | - Data ({{ : |
| - | * Basic: Boolean, | + | * Hardware vs. Mathematical |
| + | * Logical Structures = Abstract Data Types | ||
| + | * Basic: Boolean/Bit, Integer | ||
| * Derived: Array, | * Derived: Array, | ||
| * Linked Data Structures | * Linked Data Structures | ||
| Line 115: | Line 122: | ||
| * Backtracking | * Backtracking | ||
| * Branch and Bound | * Branch and Bound | ||
| + | - Randomization ({{ : | ||
| + | * Un/ | ||
| + | * Sources of Randomness | ||
| + | * Las Vegas vs. Monte Carlo | ||
| + | * Primality Testing | ||
| + | * Errors and Amplification | ||
| + | * Blackbox Polynomial Test | ||
| + | * Schwartz-Zippel Lemma | ||
| ===== E-Learning: ===== | ===== E-Learning: ===== | ||
| - | * homework assignment #0 and honor code will be uploaded | + | * homework assignment #0 and honor code will be uploaded |
| - | * [[https:// | + | * [[https:// |
| - | * [[https:// | + | * [[https:// |
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| - | * Due to the large number (>150) of students enrolled, we unfortunately cannot answer questions by email. \\ Instead please use the KLMS Bulletin Board or visit the TAs during their office hours. | + | * Due to the large number (>300) of students enrolled, we unfortunately cannot answer questions by email. \\ Instead please use the KLMS Bulletin Board or visit the TAs during their office hours. |
| * We use [[https:// | * We use [[https:// | ||