2. Understand the Program
An overview of a typical Computer Science curriculum β general orientation only. Your actual credits, course codes and prerequisites depend on your own program and cohort.
Total credits and course groupsβ
The program is divided into course groups (knowledge blocks):
- General education β math, basic sciences, politics, foreign languages.
- Core foundations β programming and computer-systems fundamentals.
- Specialization β core courses and direction-specific courses.
- Electives β chosen according to your career direction.
- Internship & projects β internship, specialized project, graduation thesis.
Total credits and the exact breakdown: check your cohort's official program (each cohort can differ). Don't rely on memory β always cross-check the official document.
Program mapβ
A typical path from foundations β specialization β graduation:
Foundations (Y1) β Core systems & DSA (Y2) β Specialization (Y3)
β Internship + specialized project (Y3βY4) β Graduation thesis (Y4+)
Detail by knowledge block: see Course Map. Detail by year: see Semester-by-Semester Guide.
Key milestonesβ
- Foundation courses β math, intro to programming, discrete structures.
- Core courses β DSA, OOP, computer architecture, operating systems, databases, networks.
- Specialization courses β by direction (AI / Software / Data / Security / Systems).
- Electives β reinforce your chosen direction.
- Internship β real-world work at a company or lab.
- Specialized project β a large project in your chosen direction.
- Graduation thesis β a complete product/research work (see an example in Projects).
Symbols explainedβ
- Prerequisite: you must finish course A before taking course B.
- Corequisite: take A in the same term as B.
- Recommended: a background is advisable, but not mandatory.
- Required: a course that cannot be substituted.
- Elective: chosen from a list to meet the required number of credits.
Registering courses in the wrong prerequisite order is a common mistake β see the Student Survival Guide.