CS526 Advanced Algorithms and Data Structures

Print this page Please use the scale options of your printing settings for adjustments.

Course Code Course Title Weekly Hours* ECTS Weekly Class Schedule
CS526 Advanced Algorithms and Data Structures 3 2 6
Prerequisite None It is a prerequisite to


Lecturer Office Hours / Room / Phone

Currently not available

Assistant Assistant E-mail
Course Objectives The objective of the course is to equip students with the modern algorithmic toolbox for tackling algorithmic problems that massive-data systems face today. Most traditional algorithms and data structures have been designed having in mind that all data can fit into computer's memory. Today, with large amounts of data and distributed systems, this is far from true. This course will teach how to transform the existing and design new data structures that are useful in the context of data-intensive applications. The main themes of the course include: hash-based sketches, real-time analytics, and storage and external memory algorithms and data structures.
Textbook There is no single book (yet) that unites all the themes of the subject. Students will be given lecture notes, papers, and there are some books that cover parts of particular pieces of syllabus.
Learning Outcomes After successful  completion of the course, the student will be able to:
    Teaching Methods Lecture, mini-projects
    Week 1 Introduction, course logistics Lecture notes
    Week 2 Why is Massive Data so Challenging for Systems Today? Lecture notes
    Week 3 Review of dictionaries, hashing, and hashing for modern-day systems Lecture notes
    Week 4 Testing Membership: Bloom filters Lecture notes
    Week 5 Estimating frequency: Count-Min sketch Lecture notes
    Week 6 Estimating cardinality: HyperLogLog Lecture notes
    Week 7 Real-time Analytics: Sampling streams Lecture notes
    Week 8 Estimation of quantiles and histograms from data streams Lecture notes
    Week 9 Mid-term review Lecture notes
    Week 10 Mid-term Lecture notes
    Week 11 On-disk Storage, Retrieval and Sorting: Introduction to the External-Memory Model Lecture notes
    Week 12 Data Structures for Large databases: B-trees and LSM-trees Lecture notes
    Week 13 Sorting and batched problems on disk Lecture notes
    Week 14 External-memory computational geometry Lecture notes
    Week 15 Final Review Lecture notes
    Assessment Methods and Criteria Evaluation Tool Quantity Weight Alignment with LOs
    Final Exam 1 40
    Semester Evaluation Compenents
    Mid-Term 1 30
    Mini-projects 3 30
    ***     ECTS Credit Calculation     ***
     Activity Hours Weeks Student Workload Hours Activity Hours Weeks Student Workload Hours
    Final Exam 5 15 75 Mini-projects 9 3 27
    Mid-term 6 8 48 Mid-term 6 8 48
            Total Workload Hours = 198
    *T= Teaching, P= Practice ECTS Credit = 6
    Course Academic Quality Assurance: Semester Student Survey Last Update Date: 06/11/2020
    QR Code for https://ecampus.ius.edu.ba/syllabus/cs526-advanced-algorithms-and-data-structures

    Print this page Please use the scale options of your printing settings for adjustments.