ELTE Curriculum taken from Computer Science BSc 2018 (in English, for Foreign Students)

This is simply a MD / HTML version of the ELTE BSc CS Curriculum 2018, so that students can have an easier time using it and making notes / plans based on it. I added a prerequisite tree / flowchart as well. There might be inaccuracies or mistakes so confirm with the main linked pdf just to be on the safe side in case of making some infallible plan. But, for the most part, everything here is taken from an official PDF or webpage.

Subject CodeSubjectLPrLabConAssessmentCreditRec. SemesterPrerequisite1st Semester2nd Semester3rd Semester4th Semester5th Semester6th Semester
Compulsory Subjects
IP-18fSZGREGComputer systems2021XCP512+0+2+1
IP-18fPROGEGProgramming2031XCP612+0+3+1
IP-18fIMPROGEGImperative programming2030XCP512+0+3+0
IP-18fFUNPEGFunctional programming2021XE512+0+2+1
IP-18fMATAGBasic Mathematics0400CP410+4+0+0
IP-18fTMKGLearning Methodology0100P110+1+0+0
IP-18fIVMEGBusiness fundamentals1200XP311+2+0+0
IP-18fPNVEGProgramming languages2022XCP62IP-18fIMPROGEG2+0+2+2
IP-18fOEPREGEGObject-oriented programming2031XCP62IP-18fPROGEG2+0+3+1
IP-18fWF1EGWeb development1020XCP32IP-18fSZGREG (weak)1+0+2+0
IP-18fAA1EAlgorithms and data structures I2000E22IP-18fAA1G (weak)2+0+0+0
IP-18fAA1GAlgorithms and data structures I0201P32IP-18fMATAG, IP-18fIMPROGEG0+2+0+1
IP-18fDM1EDiscrete mathematics I2000E22IP-18fDM1G (weak)2+0+0+0
IP-18fDM1GDiscrete mathematics I0201CP32IP-18fMATAG0+2+0+1
IP-18fAN1EAnalysis I2000E22IP-18fAN1G (weak)2+0+0+0
IP-18fAN1GAnalysis I0201P32IP-18fMATAG0+2+0+1
IP-18fAA2EAlgorithms and data structures II2000E23IP-18fAA2G (weak)2+0+0+0
IP-18fAA2GAlgorithms and data structures II0201P33IP-18fAA1E0+2+0+1
IP-18fWPEGWeb programming1021XCP43IP-18fWF1EG1+0+2+1
IP-18fPROGTEGProgramming technology2021XCP53IP-18fOEPROGEG2+0+2+1
IP-18fAN2EAnalysis II2000E23IP-18fAN2G (weak)2+0+0+0
IP-18fAN2GAnalysis II0201P33IP-18fAN1E0+2+0+1
IP-18fDMAGApplication of discrete models0021P33IP-18fDM1E0+0+2+1
IP-18fOPREGOperating systems1011XP34IP-18fSZGREG1+0+1+1
IP-18fAB1EDatabases I2000E24IP-18fAB1G (weak)2+0+0+0
IP-18fAB1GDatabases I0020P24IP-18fAA1E0+0+2+0
IP-18fSZTEGSoftware technology2021XCP54IP-18fPROGTEG2+0+2+1
IP-18fSZEAE1EFundamentals of theory of computation I2000E24IP-18fSZEAE1G (weak)2+0+0+0
IP-18fSZEAE1GFundamentals of theory of computation I0201P34IP-18fDM1E0+2+0+1
IP-18fNM1ENumerical methods2000E24IP-18fNM1G (weak)2+0+0+0
IP-18fNM1GNumerical methods0201P34IP-18fAN2E0+2+0+1
IP-18fKPROGEGConcurrent programming1011XCP35IP-18fPNVEG1+0+1+1
IP-18fTKHETelecommunication networks2000E25IP-18fTKHG (weak)2+0+0+0
IP-18fTKHGTelecommunication networks0021P35IP-18fOEPROGEG0+0+2+1
IP-18fMIAEArtificial intelligence2001E352+0+0+1
IP-18fAB2EDatabases II2000E25IP-18fAB2G (weak)2+0+0+0
IP-18fAB2GDatabases II0021P35IP-18fAB1E0+0+2+1
IP-18fSZEAE2EFundamentals of theory of computation II2000E25IP-18fSZEAE2G (weak)2+0+0+0
IP-18fSZEAE2GFundamentals of theory of computation II0201P35IP-18fSZEAE1E0+2+0+1
IP-18fVSZGProbability and statistics0021P35IP-18fAN2E0+0+2+1
Compulsories1272930222224
Compulsory Electives
IP-18fKVKBRECryptography and security2000E24,6IP-18fKVKBG (weak)2+0+0+02+0+0+0
IP-18fKVKBGCryptography and security0021P34,6IP-18fDMAG0+0+2+10+0+2+1
IP-18fKVBGTEIntroduction to machine learning2001E33IP-18fMATAG2+0+0+1
IP-18fKVPREEProgramming theory2000E23,5IP-18fKVPREG (weak)2+0+0+02+0+0+0
IP-18fKVPREGProgramming theory0201P33,5IP-18fMATAG0+2+0+10+2+0+1
IP-18fKVPRJGTools of software projects0201CP35IP-18fPNVEG0+2+0+1
IP-18fKVFPPECompilers2001E35IP-18fKVPPG (weak)2+0+0+1
IP-18fKVPPGCompilers0020P25IP-18fOEPROGEG0+0+2+0
IP-18fKVADAADA2021XP55,6IP-18fIMPROGEG2+0+2+12+0+2+1
IP-18fKVPVEGPython2021XE53,4,5,62+0+2+12+0+2+12+0+2+12+0+2+1
IP-18fKVIADSEApplied Data Science2000E23,52+0+0+02+0+0+0
IP-24fKVSZKBIZTECybersecurity basic2002E42IP-18fWF1EG (weak)2+0+0+2
IP-24fKVSZGEComputer graphics2001E33,5IP-24fKVSZGG (weak)2+0+0+12+0+0+1
IP-24fKVSZGGComputer graphics0021P33,5IP-18fMATAG, IP-18fIMPROGEG0+0+2+10+0+2+1
IP-24fKVKHSZGGIntermediate Computer Graphics0021P34,6IP-24fKVSZGG0+0+2+10+0+2+1
IP-24fKVNFIATEGNative cloud computing applications2021XE54,5,6IP-18fKVPYEG2+0+2+12+0+2+12+0+2+1
IP-24fKVHWPEGAdvanced web programming2021PG54,6IP-18fWPEG2+0+2+12+0+2+1
Compulsory electives239068
Summary
Compulsories + compulsory electives15029303122308
Electives1082
IP-24fsZDThesis consultation2020
Summa credit in semester293031303030
Summa credit180
  • Descriptions:

    • L: Lecture hours per week
    • Pr: Practice hours per week
    • Lab: Laboratory hours per week
    • Con: Consultation hours per week
    • Assessment:
      • P: Practice grade
      • E: Exam
      • C: Practice with continuous assessment (at least 5 independent tests/assessments)
      • X: Mixed subject (lecture + practice)
    • End of subject code:
      • EG: Lecture + Practice under same code
      • E: Lecture only
      • G: Practice only
  • ELTE IK. Computer Science BSc 2018 (in English, for Foreign Students). Digital. ELTE IK, 2025. https://www.inf.elte.hu/en/dstore/document/225452/PTI_BSc_angol_h%C3%A1l%C3%B3_honlapra%202019%20jan-m%C3%A1rcius.pdf.

Difference between Strong and Weak Prerequisite

A prerequisite is a preliminary requirement of a subject that, if it is not fulfilled, you cannot proceed on the subject that is built on it (follow-up subject). We distinguish two kinds of prerequisites: strong prerequisites and weak prerequisites.

The strong prerequisiteThe weak prerequisite
Strong prerequisites are prerequisites without which the the follow-up subject cannot be taken in the next semester, and the follow-up subject can only be registered for after the prerequisite subject has been fulfilled.Weak prerequisites are those prerequisites where the prerequisite and the follow-up subject can be taken in the same semester, but the follow-up subject can only be fulfilled after the prerequisite has been fulfilled. If you do not fulfill the weak prerequisite, the follow-up subject’s grade will automatically be failed/unfulfilled (even if you had passed from the follow-up subject’s exam!)

Difference between Compulsory, Compulsory elective and Free elective (optional) courses

CompulsoryCompulsory electiveFree elective (optional)
These courses provide indispensable knowledge to become a successful professional in your chosen field. You will not be able to graduate without completing these courses.These courses allow students to gain additional knowledge in specific fields, giving them a choice of usually 5-8 courses/study field to suit their interests and to boost their future employment prospects. These courses are categorised into elective course groups (called units) in the following study fields:These courses can relate to all sorts of study fields. Each curriculum contains a certain number of credits assigned to such courses. They are mandatory to complete to graduate but the selection is wide: students can either choose courses from other ELTE GTK programmes than their own, or even any courses offered by the University.
A subject is compulsory if – based on the training and graduation requirements, – its completion is necessary for all students in order to obtain the diploma, and all subjects that are defined as such by the curriculum. The form of the compulsory subject is a class-lecture and/or group work (seminar, practice).Completing compulsory elective subjects are compulsory for students by choosing them from the thematic list offered by the current university schedule at the time.Completing elective subject is compulsory for students through the free subject choosing prescribed by the training and graduation requirements. Students may choose from the whole university’s full offered subject selection.
In the BSC programme you have to complete 180 credits:
Compulsory subjects 127 credits
Compulsory elective subjects 23 credits
Elective subjects 10 credits
Thesis Consultation 20 credits

Prerequisite Flowchart (With Compulsory Elective + Weak Prerequisite)

graph LR
  subgraph S1["Semester 1"]
    SZGREG["Computer Systems<br/>IP-18fSZGREG<br/>L+Pr"]
    PROGG["Programming<br/>IP-18fPROGEG<br/>L+Pr"]
    IMPROGG["Imperative Programming<br/>IP-18fIMPROGEG<br/>L+Pr"]
    FUNPEG["Functional Programming<br/>IP-18fFUNPEG<br/>L+Pr"]
    MATAG["Basic Mathematics<br/>IP-18fMATAG<br/>Pr"]
    TMKG["Learning Methodology<br/>IP-18fTMKG<br/>Pr"]
    IVMEG["Business Fundamentals<br/>IP-18fIVMEG<br/>L+Pr"]
  end

  subgraph S2["Semester 2"]
    PNVEG["Programming Languages<br/>IP-18fPNVEG<br/>L+Pr"]
    OEPREG["Object-Oriented Programming<br/>IP-18fOEPREGEG<br/>L+Pr"]
    WF1EG["Web Development<br/>IP-18fWF1EG<br/>L+Pr"]
    AA1["Algorithms and Data Structures I<br/>IP-18fAA1<br/>L+Pr"]
    DM1["Discrete Mathematics I<br/>IP-18fDM1<br/>L+Pr"]
    AN1["Analysis I<br/>IP-18fAN1<br/>L+Pr"]
    KVSZKBIZTE["Cybersecurity Basic<br/>IP-24fKVSZKBIZTE<br/>L (Elective)"]
  end

  subgraph S3["Semester 3"]
    AA2["Algorithms and Data Structures II<br/>IP-18fAA2<br/>L+Pr"]
    WPEG["Web Programming<br/>IP-18fWPEG<br/>L+Pr"]
    PROGTEG["Programming Technology<br/>IP-18fPROGTEG<br/>L+Pr"]
    AN2["Analysis II<br/>IP-18fAN2<br/>L+Pr"]
    DMAG["Application of Discrete Models<br/>IP-18fDMAG<br/>Pr"]
    KVBGTE["Introduction to Machine Learning<br/>IP-18fKVBGTE<br/>L (Elective)"]
    KVPRE["Programming Theory<br/>IP-18fKVPRE<br/>L+Pr (Elective)"]
    KVPVEG["Python<br/>IP-18fKVPVEG<br/>L+Pr (Elective)"]
    KVIADS["Applied Data Science<br/>IP-18fKVIADSE<br/>L (Elective)"]
    KVSZG["Computer Graphics<br/>IP-24fKVSZG<br/>L+Pr (Elective)"]
  end

  subgraph S4["Semester 4"]
    OPREG["Operating Systems<br/>IP-18fOPREG<br/>L+Pr"]
    AB1["Databases I<br/>IP-18fAB1<br/>L+Pr"]
    SZTEG["Software Technology<br/>IP-18fSZTEG<br/>L+Pr"]
    SZEAE1["Fundamentals of Theory of Computation I<br/>IP-18fSZEAE1<br/>L+Pr"]
    NM1["Numerical Methods<br/>IP-18fNM1<br/>L+Pr"]
    KVKB["Cryptography and Security<br/>IP-18fKVKB<br/>L+Pr (Elective)"]
    KVKHSZG["Intermediate Computer Graphics<br/>IP-24fKVKHSZGG<br/>Pr (Elective)"]
    KVNFIATEG["Native Cloud Computing Applications<br/>IP-24fKVNFIATEG<br/>L+Pr (Elective)"]
    KVHWPEG["Advanced Web Programming<br/>IP-24fKVHWPEG<br/>L+Pr (Elective)"]
  end

  subgraph S5["Semester 5"]
    KPROGG["Concurrent Programming<br/>IP-18fKPROGEG<br/>L+Pr"]
    TKH["Telecommunication Networks<br/>IP-18fTKH<br/>L+Pr"]
    MIAE["Artificial Intelligence<br/>IP-18fMIAE<br/>L"]
    AB2["Databases II<br/>IP-18fAB2<br/>L+Pr"]
    SZEAE2["Fundamentals of Theory of Computation II<br/>IP-18fSZEAE2<br/>L+Pr"]
    VSZG["Probability and Statistics<br/>IP-18fVSZG<br/>Pr"]
    KVPRJG["Tools of Software Projects<br/>IP-18fKVPRJG<br/>Pr (Elective)"]
    KVFPP["Compilers<br/>IP-18fKVFPP<br/>L+Pr (Elective)"]
    KVADA["ADA<br/>IP-18fKVADA<br/>L+Pr (Elective)"]
  end

  %% Semester 1 → 2
  IMPROGG --> PNVEG
  PROGG --> OEPREG
  SZGREG -.-> WF1EG
  MATAG --> AA1
  IMPROGG --> AA1
  MATAG --> DM1
  MATAG --> AN1
  WF1EG -.-> KVSZKBIZTE

  %% Semester 1/2 → 3
  AA1 --> AA2
  WF1EG --> WPEG
  OEPREG --> PROGTEG
  AN1 --> AN2
  DM1 --> DMAG
  MATAG --> KVBGTE
  MATAG --> KVPRE
  MATAG --> KVSZG
  IMPROGG --> KVSZG

  %% Semester 2/3 → 4
  SZGREG --> OPREG
  AA1 --> AB1
  PROGTEG --> SZTEG
  DM1 --> SZEAE1
  AN2 --> NM1
  DMAG --> KVKB
  KVSZG --> KVKHSZG
  KVPVEG --> KVNFIATEG
  WPEG --> KVHWPEG

  %% Semester 3/4 → 5
  PNVEG --> KPROGG
  OEPREG --> TKH
  AB1 --> AB2
  SZEAE1 --> SZEAE2
  AN2 --> VSZG
  PNVEG --> KVPRJG
  OEPREG --> KVFPP
  IMPROGG --> KVADA

References