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)

flowchart LR

%% ==================================================
%% Semester 1
%% ==================================================
subgraph S1["Semester 1"]
    MAT["Basic Mathematics<br/>IP-18fMATAG Pr"]
    PROG["Programming<br/>IP-18fPROGEG L+Pr"]
    IMP["Imperative Programming<br/>IP-18fIMPROGEG L+Pr"]
    CS["Computer Systems<br/>IP-18fSZGREG L+Pr"]
    LM["Learning Methodology<br/>IP-18fTMKG Pr"]
    BUS["Business Fundamentals<br/>IP-18fIVMEG L+Pr"]
    FUNP["Functional Programming<br/>IP-18fFUNPEG L+Pr"]
end

%% ==================================================
%% Semester 2
%% ==================================================
subgraph S2["Semester 2"]
    PNY["Programming Languages<br/>IP-18fPNYEG L+Pr"]
    OOP["Object-Oriented Programming<br/>IP-18fOEPROGEG L+Pr"]
    WEB1["Web Development<br/>IP-18fWF1EG L+Pr"]

    AA1["Algorithms & Data Structures I<br/>IP-18fAA1G Pr"]
    DM1["Discrete Mathematics I<br/>IP-18fDM1G Pr"]
    AN1["Analysis I<br/>IP-18fAN1G Pr"]

    CYBER["Cybersecurity Basics<br/>IP-24fKVSZKBIZTE L+Pr"]
end

%% ==================================================
%% Semester 3
%% ==================================================
subgraph S3["Semester 3"]
    AA2["Algorithms & Data Structures II<br/>IP-18fAA2G Pr"]
    WPROG["Web Programming<br/>IP-18fWPEG L+Pr"]
    PROGT["Programming Technology<br/>IP-18fPROGTEG L+Pr"]
    AN2["Analysis II<br/>IP-18fAN2G Pr"]
    DMAPP["Application of Discrete Models<br/>IP-18fDMAG Pr"]

    ML["Intro to Machine Learning<br/>IP-18fKVBGTE L+Pr"]
    PY["Python<br/>IP-18fKVPYEG L+Pr"]
    GPU["GPU Programming<br/>IP-18fKVGPUEG L+Pr"]
end

%% ==================================================
%% Semester 4
%% ==================================================
subgraph S4["Semester 4"]
    OS["Operating Systems<br/>IP-18fOPREG L+Pr"]
    DB1["Databases I<br/>IP-18fAB1G Pr"]
    ST["Software Technology<br/>IP-18fSZTG Pr"]
    TOC1["Theory of Computation I<br/>IP-18fSZEA1G Pr"]
    NUM["Numerical Methods<br/>IP-18fNM1G Pr"]

    CRYPTO["Cryptography & Security<br/>IP-18fKVKRBG Pr"]
end

%% ==================================================
%% Semester 5
%% ==================================================
subgraph S5["Semester 5"]
    CONC["Concurrent Programming<br/>IP-18fKPROGEG L+Pr"]
    NET["Telecommunication Networks<br/>IP-18fTKHG Pr"]
    AI["Artificial Intelligence<br/>IP-18fMIAE L+Pr"]
    DB2["Databases II<br/>IP-18fAB2G Pr"]
    TOC2["Theory of Computation II<br/>IP-18fSZEA2G Pr"]
    STAT["Probability & Statistics<br/>IP-18fVSZG Pr"]

    PTH["Programming Theory<br/>IP-18fKVPREG Pr"]
    TOOLS["Tools of Software Projects<br/>IP-18KVPRJG Pr"]
    COMP["Compilers<br/>IP-18fKVFPG Pr"]
end

%% ==================================================
%% Strong prerequisites (PDF-exact)
%% ==================================================
IMP --> PNY
PROG --> OOP
CS --> WEB1

MAT --> AA1
MAT --> DM1
MAT --> AN1

AA1 --> AA2
WEB1 --> WPROG
OOP --> PROGT
AN1 --> AN2
DM1 --> DMAPP

CS --> OS
AA1 --> DB1
PROGT --> ST
DM1 --> TOC1
AN2 --> NUM

PNY --> CONC
OOP --> NET
DB1 --> DB2
TOC1 --> TOC2
AN2 --> STAT

%% ==================================================
%% Weak prerequisites (PDF-marked only)
%% ==================================================
AN2 -.-> STAT
CS -.-> WEB1
WEB1 -.-> CYBER

%% ==================================================
%% Elective prerequisites
%% ==================================================
MAT --> ML
MAT --> GPU
MAT --> PTH
DMAPP --> CRYPTO
PNY --> TOOLS
OOP --> COMP
IMP --> PY

References