Syllabus | International University of Sarajevo - Last Update on Mar 03, 2026
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.
After successful completion of the course, the student will be able to:
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. If you are interested in the developing book addressing exactly this subject, it is available online for purchase and contains about half of the semester material at this point: https://www.manning.com/books/algorithms-and-data-structures-for-massive-datasets
| Week | Topic | Readings / References |
|---|---|---|
| 1 | Introduction, course logistics | Lecture notes |
| 2 | Why is Massive Data so Challenging for Systems Today? | Lecture notes |
| 3 | Review of dictionaries, hashing, consistent hashing | Lecture notes |
| 4 | Locality-sensitive hashing | Lecture notes |
| 5 | Testing Membership: Bloom filters | Lecture notes |
| 6 | Bloom filter alternatives: Quotient filter and cuckoo filter | Lecture notes |
| 7 | Estimating frequency: Count-min Sketch | Lecture notes |
| 8 | Estimating cardinality: HyperLogLog | Lecture notes |
| 9 | Project 1 presentations | Lecture notes |
| 10 | Mid-term | Lecture notes |
| 11 | On-disk Storage, Retrieval and Sorting: Introduction to the External-Memory Model | Lecture notes |
| 12 | Data Structures for Large databases: B-trees and LSM-trees | Lecture notes |
| 13 | Sorting and batched problems on disk | Lecture notes |
| 14 | Guest lecture: Data streams | Lecture notes |
| 15 | Project 2 presentations (Final) | Lecture notes |
Alignment with Learning Outcomes :
Alignment with Learning Outcomes :
Alignment with Learning Outcomes :
| Grading Scale | IUS Grading System | IUS Coeff. | Letter (B&H) | Numerical (B&H) |
|---|---|---|---|---|
| 0 - 44 | F | 0 | F | 5 |
| 45 - 54 | E | 1 | ||
| 55 - 64 | C | 2 | E | 6 |
| 65 - 69 | C+ | 2.3 | D | 7 |
| 70 -74 | B- | 2.7 | ||
| 75 - 79 | B | 3 | C | 8 |
| 80 - 84 | B+ | 3.3 | ||
| 85 - 94 | A- | 3.7 | B | 9 |
| 95 - 100 | A | 4 | A | 10 |
Information about late submission policies will be shared during class and posted in this section. Please check back for official guidelines.
This 6 ECTS credit course corresponds to 150 hours of total student workload, distributed as follows:
75 hours ⏳ (15 week × 5 h)
48 hours ⏳ (8 week × 6 h)
27 hours ⏳ (3 week × 9 h)
150 Total Workload Hours
6 ECTS Credits
All work submitted must be your own. Plagiarism, cheating, or any form of academic dishonesty will result in disciplinary action according to university policies. When in doubt about citation practices, consult the instructor.
Students are expected to adhere to the attendance requirements as outlined in the International University of Sarajevo Study Rules and Regulations. Excessive absences, whether excused or unexcused, may impact academic performance and eligibility for assessment. Mandatory sessions (e.g., labs, workshops) require attendance unless formally exempted. For detailed policies on absences, documentation, and penalties, please refer to the official university regulations.
Laptops/tablets may be used for note-taking only during lectures. Phones should be silenced and put away during all class sessions. Audio/video recording requires prior permission from the instructor.
Artificial Intelligence (AI) Usage: The use of AI tools (e.g., ChatGPT, Copilot, Gemini) varies by assessment component. Please refer to the AI usage indicator next to each assessment item in the Assessment Methods and Criteria section above. Submitting AI-generated content as your own work, where AI is not explicitly allowed, constitutes an academic integrity violation.
All course-related communication should occur through official university channels (institutional email or SIS). Emails should include [CS526] in the subject line.
Course Academic Quality Assurance is achieved through Semester Student Survey. At the end of each academic year, the institution of higher education is obliged to evaluate work of the academic staff, or the success of realization of the curricula.
Be prepared to contribute thoughtfully during class discussions, labs, or collaborative work. Active participation deepens understanding and encourages critical thinking.
Complete assigned readings or prep materials before class. Take notes, highlight key ideas, and jot down questions. Aim to grasp core concepts and their applications—not just facts.
Use course frameworks or methodologies to analyze problems, case studies, or projects. Begin early to allow time for reflection and refinement. Seek feedback to improve your work.
Don’t hesitate to reach out when something is unclear. Use office hours, discussion boards, or peer networks to clarify concepts and stay on track.
Syllabus Last Updated on Mar 03, 2026 | International University of Sarajevo
Print Syllabus
Referencing Curricula Print this page
| Assessment Methods and Criteria | Evaluation Tool | Quantity | Weight | Alignment with LOs | AI Usage |
| Final Exam (Project 2) | 1 | 30 | Not Allowed | ||
| Semester Evaluation Components | |||||
| Mid-Term | 1 | 40 | Not Allowed | ||
| Mini-project 1 | 1 | 30 | Not Allowed | ||
| *** ECTS Credit Calculation *** | |||||
| Activity | Hours | Weeks | Student Workload Hours | Activity | Hours | Weeks | Student Workload Hours | |||
| Final Exam (Project) | 5 | 15 | 75 | Mid-term | 6 | 8 | 48 | |||
| Mini-projects | 9 | 3 | 27 | |||||||
| Total Workload Hours = | 150 | |||||||||
| *T= Teaching, P= Practice | ECTS Credit = | 6 | ||||||||
| Course Academic Quality Assurance: Semester Student Survey | Last Update Date: 27/03/2026 | |||||||||