Firecrawl Alexandria

University of Tartu Study Information System (ÕIS2)

Course syllabi of the University of Tartu (Estonia) from its Study Information System, ÕIS2 (ois2.ut.ee), over the public course API: search the course catalogue by title or code, and read any course's ECTS syllabus with learning outcomes, prerequisites, workload, assessment and grading rules (exam and homework weights, retakes), lecturers, weekly topics and every semester version. SIS open data, cited as the terms of use require.

Try University of Tartu Study Information System (ÕIS2) now.

Choose an example or ask your own question.

University of Tartu Study Information System (ÕIS2)
TRY ASKING
1Request
string

Academic year the version belongs to, written as its start year or in full: 2024 or 2024/2025 (spring 2025 is in 2024/2025).

string

Course code (e.g. MTAT.03.286) or course UUID.

string

Semester of the version; with academic_year or alone (the newest such semester).

string

Version UUID or version code (e.g. lt-2024-autumn-fulltime-en) from versions; default the latest.

5 credits
Codefollows the fields above
const result = await firecrawl.scrape({
  alexandria: {
    provider: "ois2-ut-ee",
    capability: "courses/get_course",
    options: {
      course: "MTAT.03.286",
      version: "8298c620-8dee-d699-bcaf-3e4f9d6b12e3",
    },
  },
});
2Response example

This is a sample shape. Press Run to see live data from University of Tartu Study Information System (ÕIS2).

{
  "attribution": "Source: University of Tartu Study Information System (ÕIS2), https://ois2.ut.ee/. SIS open data (terms of use 5.9 and 5.10): cite the source and keep re-used data up to date.",
  "code": "MTAT.03.286",
  "course_type": "Regular course",
  "course_uuid": "94117df6-4e9e-8d28-1620-209a32b7f8ae",
  "credit_type": "ECTS",
  "credits": 6,
  "description": "The course covers the following topics: Fast Fourier Transform, fast multiplication of the polynomials using FFT, efficient algorithm for finding maximun flow in the network, max-flow in 0-1 network, finding min-cost maximum flow, linear programming, primal and dual problems, approximation algorithms for various combinatorial problems (set cover, travelling salesman problem, minimum feedback set problem), using linear-programming in approximation algorithms, primal-dual approach.",
  "faculty": "Faculty of Science and Technology",
  "grading": {
    "assessment_scale": "differentiated (A, B, C, D, E, F, not present)",
    "assessments": [
      {
        "description": "Homeworks: 30% of the final grade\nMidterm exam: 30% of the final grade\nFinal exam: 40% of the final grade",
        "due_date": null,
        "type": "report"
      }
    ],
    "criteria": null,
    "evaluation": "The final grade will be established based on the homework assignments, midterm and final exam",
    "independent_work": "see https://courses.cs.ut.ee/",
    "methodology": null,
    "min_points_from_tests": null,
    "preconditions": "Submission of homeworks, midterm and final exam",
    "results_available_from": null,
    "retake": "One supplementary exam will be offered to students who are unable to attend the first exam or who fail the first exam."
  },
  "hours": {
    "colloquium": 0,
    "independent_work": 94,
    "individual_work": 0,
    "internship": 0,
    "lecture": 32,
    "practice": 30,
    "seminar": 0,
    "total": 156,
    "web_learning": 0
  },
  "joint_course_coordinated_by": null,
  "last_update": "2026-06-30T11:39:40",
  "learning_mode": "blended learning",
  "learning_outcomes": [
    "After completing this course, the student will be able:",
    "* to use various algorithmic techniques and concepts, such as fast Fourier transform, maximum flow in the networks, linear-programming, approximation algorithm techniques",
    "* to be able to analyze the time complexity of the algorithms, to prove their correctness, and to show approximation factor (for approximation algorithms)",
    "* to read and understand medium-difficulty mathematical and computer science texts in the area;",
    "*\tto develop appropriate algorithms for a variety of applied problems, to analyze their performance and prove their correctness"
  ],
  "lecturers": [
    {
      "name": "Kristjan Kõiv",
      "responsible": false,
      "roles": [
        "supervisor of practical class"
      ],
      "teaching": true,
      "unit": "Institute of Computer Science"
    },
    {
      "name": "Sander Mikelsaar",
      "responsible": false,
      "roles": [
        "supervisor of practical class"
      ],
      "teaching": true,
      "unit": "Chair of Security and Theoretical Computer Science"
    },
    {
      "name": "Hans Kristjan Veri",
      "responsible": false,
      "roles": [
        "supervisor of practical class"
      ],
      "teaching": true,
      "unit": "Institute of Computer Science"
    },
    {
      "name": "Vitaly Skachek",
      "responsible": true,
      "roles": [],
      "teaching": true,
      "unit": "Chair of Security and Theoretical Computer Science"
    }
  ],
  "mandatory_materials": null,
  "materials": [],
  "notes": null,
  "objectives": [
    "Understand the variety of techniques for development and analysis of algorithms for various fundamental problems in computer science."
  ],
  "observed_at_ms": 1794523822125,
  "prerequisites": [],
  "recommended_materials": null,
  "schedule": {
    "entries": [
      {
        "description": "Properties of trees. Proof of correctness of Prim's algorithm.",
        "time": null,
        "topic": null,
        "topic_number": null,
        "week": null,
        "work_type": "practical session"
      },
      {
        "description": "O()-notation. Comparison of complexity functions. Trees.",
        "time": null,
        "topic": null,
        "topic_number": null,
        "week": null,
        "work_type": "practical session"
      },
      {
        "description": "Min-cut max-flow theorem. Finding a maximum matching in a bipartite graph.",
        "time": null,
        "topic": null,
        "topic_number": null,
        "week": null,
        "work_type": "practical session"
      },
      {
        "description": "Correctness of Dinitz algorithm. Finding vertex-disjoint path cover.",
        "time": null,
        "topic": null,
        "topic_number": null,
        "week": null,
        "work_type": "practical session"
      },
      {
        "description": "Vertex cover in a bipartite graph. Flow networks with lower and upper limits.",
        "time": null,
        "topic": null,
        "topic_number": null,
        "week": null,
        "work_type": "practical session"
      },
      {
        "description": "Divide an conquer: merge sort, Karatsuba algorithm, Strassen algorithm",
        "time": null,
        "topic": null,
        "topic_number": null,
        "week": null,
        "work_type": "practical session"
      },
      {
        "description": "Fast Fourier Transform: examples.",
        "time": null,
        "topic": null,
        "topic_number": null,
        "week": null,
        "work_type": "practical session"
      },
      {
        "description": "Schwartz-Zippel lemma and polynomial identity testing. Karger's algorithm.",
        "time": null,
        "topic": null,
        "topic_number": null,
        "week": null,
        "work_type": "practical session"
      },
      {
        "description": "Linear programming: primal and dual problems, weak and strong duality theorems.",
        "time": null,
        "topic": null,
        "topic_number": null,
        "week": null,
        "work_type": "practical session"
      },
      {
        "description": "Simplex method using tableau format.",
        "time": null,
        "topic": null,
        "topic_number": null,
        "week": null,
        "work_type": "practical session"
      },
      {
        "description": "Set Cover problem. Traveling Salesman problem.",
        "time": null,
        "topic": null,
        "topic_number": null,
        "week": null,
        "work_type": "practical session"
      },
      {
        "description": "PTAS and FPTAS. Knapsack problem.",
        "time": null,
        "topic": null,
        "topic_number": null,
        "week": null,
        "work_type": "practical session"
      },
      {
        "description": "Using LP in approximation algorithms. Dual fitting based proof for the set cover problem. Rounding algorithm for the set cover.",
        "time": null,
        "topic": null,
        "topic_number": null,
        "week": null,
        "work_type": "practical session"
      },
      {
        "description": "Flow in networks",
        "time": null,
        "topic": null,
        "topic_number": null,
        "week": null,
        "work_type": "lecture"
      },
      {
        "description": "Introduction into graph theory. Trees.",
        "time": null,
        "topic": null,
        "topic_number": null,
        "week": null,
        "work_type": "lecture"
      },
      {
        "description": "Prim and Kruskal algorithm.",
        "time": null,
        "topic": null,
        "topic_number": null,
        "week": null,
        "work_type": "lecture"
      },
      {
        "description": "Dinitz algorithm.",
        "time": null,
        "topic": null,
        "topic_number": null,
        "week": null,
        "work_type": "lecture"
      },
      {
        "description": "Dinitz algorithm in 0-1 networks",
        "time": null,
        "topic": null,
        "topic_number": null,
        "week": null,
        "work_type": "lecture"
      },
      {
        "description": "Flow networks with lower and upper limits (cont.) Multiplication of polynomials",
        "time": null,
        "topic": null,
        "topic_number": null,
        "week": null,
        "work_type": "lecture"
      },
      {
        "description": "Fast Fourier Transform",
        "time": null,
        "topic": null,
        "topic_number": null,
        "week": null,
        "work_type": "lecture"
      },
      {
        "description": "Probabilistic algorithms. Rabin-Miller algorithm for primality testing",
        "time": null,
        "topic": null,
        "topic_number": null,
        "week": null,
        "work_type": "lecture"
      },
      {
        "description": "Karger's algorithm (cont.) Linear programming problems",
        "time": null,
        "topic": null,
        "topic_number": null,
        "week": null,
        "work_type": "lecture"
      },
      {
        "description": "Simplex algorithm",
        "time": null,
        "topic": null,
        "topic_number": null,
        "week": null,
        "work_type": "lecture"
      },
      {
        "description": "Simplex algorithm: degeneracy example. Approximation algorithms. Vertex Cover problem",
        "time": null,
        "topic": null,
        "topic_number": null,
        "week": null,
        "work_type": "lecture"
      },
      {
        "description": "Travelling Salesman Problem in directed graphs",
        "time": null,
        "topic": null,
        "topic_number": null,
        "week": null,
        "work_type": "lecture"
      },
      {
        "description": "PTAS for the bin packing problem",
        "time": null,
        "topic": null,
        "topic_number": null,
        "week": null,
        "work_type": "lecture"
      },
      {
        "description": "Minimum spanning trees.",
        "time": null,
        "topic": null,
        "topic_number": null,
        "week": null,
        "work_type": "practical session"
      }
    ],
    "weeks": "1.-16. õppenädal"
  },
  "study_languages": [
    "English"
  ],
  "study_levels": [
    "master's studies",
    "doctoral studies"
  ],
  "terms_url": "https://wiki.ut.ee/spaces/oppejoud/pages/196182907/",
  "title": "Design and Analysis of Algorithms",
  "title_et": "Algoritmide kavandamine ja analüüs",
  "unit": "Chair of Security and Theoretical Computer Science",
  "url": "https://ois2.ut.ee/#/courses/MTAT.03.286/version/8298c620-8dee-d699-bcaf-3e4f9d6b12e3/details",
  "version": {
    "academic_year": "2024/2025",
    "code": "lt-2024-autumn-fulltime-en",
    "label": "24/25 A regular LT Eng",
    "language": "English",
    "semester": "autumn",
    "state": "confirmed",
    "study_type": "regular studies",
    "uuid": "8298c620-8dee-d699-bcaf-3e4f9d6b12e3"
  },
  "versions": [
    {
      "academic_year": "2013/2014",
      "code": "mt-2013-autumn-fulltime-c6",
      "language": "Estonian",
      "semester": "autumn",
      "state": "confirmed",
      "study_type": "regular studies",
      "uuid": "ad7550a5-66ae-99a9-5663-22e3b76f7f5f"
    },
    {
      "academic_year": "2014/2015",
      "code": "mt-2014-autumn-fulltime-c6",
      "language": "Estonian",
      "semester": "autumn",
      "state": "confirmed",
      "study_type": "regular studies",
      "uuid": "28a045f6-2c02-5628-6e61-abddddbba85e"
    },
    {
      "academic_year": "2015/2016",
      "code": "lt-2015-spring-fulltime-c6-en",
      "language": "English",
      "semester": "spring",
      "state": "confirmed",
      "study_type": "regular studies",
      "uuid": "ac9815a9-428f-2366-895d-e7d67230059d"
    },
    {
      "academic_year": "2016/2017",
      "code": "lt-2016-spring-fulltime-c6-en",
      "language": "English",
      "semester": "spring",
      "state": "confirmed",
      "study_type": "regular studies",
      "uuid": "4b638015-5814-939a-bd88-c19cbb5e6eaf"
    },
    {
      "academic_year": "2018/2019",
      "code": "lt-2018-autumn-fulltime-c6-en",
      "language": "English",
      "semester": "autumn",
      "state": "confirmed",
      "study_type": "regular studies",
      "uuid": "bfdb24bb-2da5-ccab-dbd4-d408e132858b"
    },
    {
      "academic_year": "2019/2020",
      "code": "lt-2019-autumn-fulltime-c6-en",
      "language": "English",
      "semester": "autumn",
      "state": "confirmed",
      "study_type": "regular studies",
      "uuid": "cd32df7c-8584-3b65-b70c-f5f792f69b25"
    },
    {
      "academic_year": "2020/2021",
      "code": null,
      "language": "English",
      "semester": "autumn",
      "state": "confirmed",
      "study_type": "regular studies",
      "uuid": "98d35205-5998-6341-17e3-f6ef401c30f4"
    },
    {
      "academic_year": "2021/2022",
      "code": null,
      "language": "English",
      "semester": "autumn",
      "state": "confirmed",
      "study_type": "regular studies",
      "uuid": "8d9bb014-d9ae-b18b-fd56-a34d5d0c424b"
    },
    {
      "academic_year": "2022/2023",
      "code": null,
      "language": "English",
      "semester": "autumn",
      "state": "confirmed",
      "study_type": "regular studies",
      "uuid": "304bcbb5-e497-597d-da81-cb54a6ba6ed7"
    },
    {
      "academic_year": "2023/2024",
      "code": null,
      "language": "English",
      "semester": "autumn",
      "state": "confirmed",
      "study_type": "regular studies",
      "uuid": "1ea5261f-aaff-a881-2e52-dcd6bb854764"
    },
    {
      "academic_year": "2024/2025",
      "code": "lt-2024-autumn-fulltime-en",
      "language": "English",
      "semester": "autumn",
      "state": "confirmed",
      "study_type": "regular studies",
      "uuid": "8298c620-8dee-d699-bcaf-3e4f9d6b12e3"
    },
    {
      "academic_year": "2025/2026",
      "code": null,
      "language": "English",
      "semester": "autumn",
      "state": "confirmed",
      "study_type": "regular studies",
      "uuid": "c4e12143-7a2c-52bf-4531-5185940652fe"
    },
    {
      "academic_year": "2026/2027",
      "code": "lt-2026-autumn-fulltime-en",
      "language": "English",
      "semester": "autumn",
      "state": "confirmed",
      "study_type": "regular studies",
      "uuid": "a542ea3b-0018-e7fe-c13b-96f958e80eb6"
    }
  ],
  "website_url": "https://courses.cs.ut.ee/"
}

Quality, speed and cost, last 24 hours, across every agent call to University of Tartu Study Information System (ÕIS2) through Alexandria.

Fewer than 20 calls in the last 24 hours, so there is not enough to report yet.

Browse the library
//
Get started
//
Give your agent University of Tartu Study Information System (ÕIS2).
One API key for the live web and every provider in Alexandria.
Are you an AI agent? See setup options