The Tables of Courses of Computer Science are as follows:
Table No. 1-1: Compulsory courses in logic and formal methods branches:
| No |
Course |
Units |
| 1 |
Computational data mining |
3 |
| 2 |
Advanced algorithms |
3 |
| 3 |
Model checker |
3 |
Table No. 1-2: Specialized – optional courses of official languages branch and formal methods:
| No |
Course |
Units |
Hours/ theory |
Hours/applied |
Total hours |
Prerequisites or simultaneous courses |
| 1 |
Model checker |
3 |
48 |
|
48 |
|
| 2 |
Automatic proof |
3 |
48 |
|
48 |
|
| 3 |
Logic programming |
3 |
48 |
|
48 |
|
| 4 |
Formal semantics |
3 |
48 |
|
48 |
|
| 5 |
Formal description of software |
3 |
48 |
|
48 |
|
| 6 |
Software authentication |
3 |
48 |
|
48 |
|
| 7 |
Special topics in formal methods |
3 |
48 |
|
48 |
Lecturer permission |
The student is required to take at least 6 units of the courses in Table 2-1.
The student must take two of the courses in Tables 1-1 to7-1 or 1-2 to7-2 or one of the related master's degree courses according to the group advice.
Table No2-1: Compulsory courses in the field of scientific computing:
| No |
Course |
Units |
| 1 |
Computational data |
3 |
| 2 |
Advanced algorithms |
3 |
| 3 |
Matrix computations |
3 |
Table 2-2: Specialized – optional courses of scientific computations.
| No |
Course |
Units |
Hours / theory |
Hours/ applied |
Total hours |
Prerequisites or simultaneous courses |
| 1 |
Advanced math software |
3 |
48 |
|
48 |
Numerical analysis 1 |
| 2 |
Linear numerical programming |
3 |
48 |
|
48 |
Linear algebra |
| 3 |
Nonlinear-numerical optimization |
3 |
48 |
|
48 |
Numerical linear algebra or numerical analysis 1 or matrix computations |
| 4 |
Advanced linear programming |
3 |
48 |
|
48 |
Linear numerical programming or instructor permission |
| 5 |
Advanced nonlinear optimization |
3 |
48 |
|
48 |
Numerical linear algebra or numerical analysis 1 or matrix calculations or group permission
|
| 6 |
Numerical Integral and differential equations |
3 |
48 |
|
48 |
Numerical analysis 1 |
| 7 |
Numerical partial differential equations |
3 |
48 |
|
48 |
Numerical analysis 1 |
| 8 |
Sparse matrices technology |
3 |
48 |
|
48 |
Numerical linear algebra or matrix calculations or instructor permission |
| 91 |
Modeling and geometric design |
3 |
48 |
|
48 |
Numerical linear algebra or matrix calculations or instructor permission |
| 11 |
Integer programing and networking |
3 |
48 |
|
48 |
Numerical algebra, or numerical linear programming, or instructor permission |
| 12 |
Combinatory optimization |
3 |
48 |
|
48 |
Numerical algebra, or numerical linear programming, or instructor permission |
| 13 |
Parallel algorithms for scientific computing |
3 |
48 |
|
48 |
Numerical analysis 1 or instructor permission |
| 14 |
Numerical stochastic differential equations |
3 |
48 |
|
48 |
Numerical analysis 1 or instructor permission |
| 15 |
Numerical stochastic partial differential equations |
3 |
48 |
|
48 |
Ordinary stochastic differential equations, Simulation |
| 16 |
Simulation |
3 |
48 |
|
48 |
Probability theory and stochastic processes, statistics |
| 17 |
Special topics in scientific computing
|
3 |
48 |
|
48 |
Instructor permission |
The student is required to take at least 6 units of the courses in Table 2-2.
The student must take two of the courses in Tables 1-1 to 7-1 or 1-2 to 7-2 or one of the related master's degree courses according to the group advice.
Table No. 3-1: Compulsory courses in Algorithm branch and theory of computations:
| No |
Course |
Units |
| 1 |
Computational data |
3 |
| 2 |
Advanced algorithms |
3 |
| 3 |
Advanced theory of computation |
3 |
Table No. 3-2: Specialized-optional courses in computational theory:
| Course code |
Course |
Units |
Hours/ theory |
Hours/ applied |
Total hours |
Prerequisites or simultaneous courses |
| 1 |
Recursion theory and computability |
3 |
48 |
|
48 |
Instructor permission |
| 2 |
Computation complexity |
3 |
48 |
|
48 |
|
| 3 |
Advanced computation complexity |
3 |
48 |
|
48 |
|
| 4 |
Parallel algorithms |
3 |
48 |
|
48 |
|
| 5 |
Stochastic algorithms |
3 |
48 |
|
48 |
|
| 6 |
Design and analysis of algorithms |
3 |
48 |
|
48 |
|
| 7 |
Fundamentals of cryptography theory |
3 |
48 |
|
48 |
|
| 8 |
Games theory |
3 |
48 |
|
48 |
|
| 9 |
Advanced graph theory |
3 |
48 |
|
48 |
Graphs and algorithms |
| 10 |
Combinatorial algorithms |
3 |
48 |
|
48 |
|
| 11 |
Graphs and algorithms |
3 |
48 |
|
48 |
|
| 12 |
Approximate algorithms |
3 |
48 |
|
48 |
|
| 13 |
Computational geometry |
3 |
48 |
|
48 |
|
| 14 |
combinatorics |
3 |
48 |
|
48 |
Combinatorial analysis 1 |
| 15 |
Structural compounds |
3 |
48 |
|
48 |
|
| 16 |
Computational analysis |
3 |
48 |
|
48 |
Mathematical logic, Mathematical analysis |
| 17 |
Special Topics in computational theory |
3 |
48 |
|
48 |
Instructor permission |
The student is must take at least 6 units of the courses from Table 2-3
The student must take two of the courses in Tables 1-1 to 7-1 or 2-1 to 7-2 or one of the related master's degree courses, depending on the group advice.
Table 4-1: Compulsory courses in soft computing and artificial intelligence.
| No |
Course |
Units |
| 1 |
Computational data |
3 |
| 2 |
Advanced algorithms |
3 |
| 3 |
Advanced artificial intelligence 3 |
3 |
Table No. 4-2: Specialized- optional courses - Soft computing and artificial intelligence:
| Course code |
Course |
Units |
Hours/ theory |
Hours/applied |
Total hours |
Prerequisites or simultaneous courses |
| 1 |
Soft computing |
3 |
48 |
|
48 |
- |
| 2 |
Advanced artificial intelligence |
3 |
48 |
|
48 |
- |
| 3 |
Expert systems |
3 |
48 |
|
48 |
- |
| 4 |
Machine learning |
3 |
48 |
|
48 |
- |
| 5 |
Natural languages processing |
3 |
48 |
|
48 |
- |
| 6 |
Statistical Machine learning |
3 |
48 |
|
48 |
Machine learning |
| 7 |
Discrete dynamic systems |
3 |
48 |
|
48 |
- |
| 8 |
Intelligent algorithms |
3 |
48 |
|
48 |
- |
| 9 |
Multi agent systems |
3 |
48 |
|
48 |
- |
| 10 |
Deep learning |
3 |
48 |
|
48 |
Machine learning |
| 11 |
Data mining |
3 |
48 |
|
48 |
- |
| 12 |
Advanced network optimization |
3 |
48 |
|
48 |
- |
| 13 |
Special Topics in Artificial Intelligence |
3 |
48 |
|
48 |
Instructor permission |
| 14 |
Special Topics in Soft Computing |
3 |
48 |
|
48 |
Instructor permission |
The student is required to take at least 6 units of the courses in Table 4-2.
The student must take two of the courses in Tables 1-1to 7-1 or 1-2 to 7-1, or one of the related master's degree courses according to the group advice.
Table 5-1: Compulsory courses in systems theory:
| No |
Course |
Units |
| 1 |
Computational data mining |
3 |
| 2 |
Advanced algorithms |
3 |
| 3 |
Advanced software design |
3 |
Table No. 5-2: Specialized-optional courses in systems theory:
| Course code |
Course |
Units |
Hours/theory |
Hours/ applied |
Total hours |
Prerequisites or simultaneous courses |
| 1 |
Advanced software design |
3 |
48 |
|
48 |
- |
| 2 |
Advanced agent system |
3 |
48 |
|
48 |
- |
| 3 |
Advanced data base |
3 |
48 |
|
48 |
- |
| 4 |
Real time systems |
3 |
48 |
|
48 |
- |
| 5 |
Decision support systems |
3 |
48 |
|
48 |
- |
| 6 |
Advanced compiler |
3 |
48 |
|
48 |
- |
| 7 |
Distributed systems |
3 |
48 |
|
48 |
Artificial intelligence |
| 8 |
Advanced computer networks |
3 |
48 |
|
48 |
- |
| 9 |
Special Topics in Systems Theory |
3 |
48 |
|
48 |
Instructor permission |
The student is required to take at least 6 units of the courses in Table 5-2. advice.
Table No. 6-1: Compulsory courses in Decision Science and Knowledge:
| No |
Course |
Units |
| 1 |
Computational data mining |
3 |
| 2 |
Advanced algorithms |
3 |
| 3 |
Convex optimization
|
3 |
Table No 6-2: Specialized-optional Courses in Decision Science and Knowledge:
| Course code |
Course |
Units |
Hours/theory |
Hours/applied |
Total hours |
Prerequisites or simultaneous courses |
| 1 |
Decision with multiple criteria |
3 |
48 |
|
48 |
Operations Research |
| 2 |
Soft computing |
3 |
48 |
|
48 |
- |
| 3 |
Machine learning |
3 |
48 |
|
48 |
- |
| 4 |
Information and uncertainty |
3 |
48 |
|
48 |
- |
| 5 |
Fuzzy decision systems |
3 |
48 |
|
48 |
Decision with multiple criteria |
| 6 |
Learning mathematics |
3 |
48 |
|
48 |
- |
| 7 |
Combinatorial optimization |
3 |
48 |
|
48 |
- |
| 8 |
Stochastic processes |
3 |
48 |
|
48 |
- |
| 9 |
Probability and fuzzy statistics |
3 |
48 |
|
48 |
Soft computing |
| 10 |
Games theory |
3 |
48 |
|
48 |
- |
| 11 |
Transcendental optimization |
3 |
48 |
|
48 |
Operational research |
| 12 |
Data mining |
3 |
48 |
|
48 |
- |
| 13 |
Advanced data mining |
3 |
48 |
|
48 |
Data mining |
| 14 |
Text mining & web mining |
3 |
48 |
|
48 |
Data mining |
| 15 |
Artificial Neural Networks |
3 |
48 |
|
48 |
Mathematical optimization or Instructor permission |
| 16 |
Multi agent systems |
3 |
48 |
|
48 |
- |
| 17 |
Special topics in decision science and knowledge |
3 |
48 |
|
48 |
Instructor permission |
The student is required to take at least 6 units of the courses in Table 2-6.
The student must take two of the courses in Tables 1-1 to 7-1 or 1-2to 7-1, or one of the related master's degree courses, depending on the group permission.
Table 7-1: Compulsory courses of Data Mining branch:
| No |
Course |
units |
| 1 |
Computational data mining |
3 |
| 2 |
Advanced algorithms |
3 |
| 3 |
Data mining |
3 |
Table 7-2: Specialized-optional courses in data mining branch:
| Course code |
Course |
Units |
Hours/ theory |
Hours/applied |
Total hours |
Prerequisites or simultaneous courses |
| 1 |
Learning mathematics |
3 |
48 |
|
48 |
- |
| 2 |
Convex optimization |
3 |
48 |
|
48 |
- |
| 3 |
Combinatorial optimization |
3 |
48 |
|
48 |
- |
| 4 |
Machine learning |
3 |
48 |
|
48 |
- |
| 5 |
Statistical machine learning |
3 |
48 |
|
48 |
Machine learning |
| 6 |
Advanced data mining |
3 |
48 |
|
48 |
Data mining |
| 7 |
Text mining and web mining
|
3 |
48 |
|
48 |
Data mining |
| 8 |
Feature selection and feature extraction |
3 |
48 |
|
48 |
Data mining or Instructor permission |
| 9 |
Graph mining |
3 |
48 |
|
48 |
Data mining or Instructor permission |
| 10 |
Probabilistic graph models |
3 |
48 |
|
48 |
Data mining or Instructor permission |
| 11 |
Complex Networks |
3 |
48 |
|
48 |
Data mining or Instructor permission |
| 12 |
Data visualization |
3 |
48 |
|
48 |
Data mining or Instructor permission |
| 13 |
Outlier detection |
3 |
48 |
|
48 |
Data mining or Instructor permission |
| 14 |
Modeling and data processing |
3 |
48 |
|
48 |
Data mining |
| 15 |
Deep learning |
3 |
48 |
|
48 |
Machine learning |
| 16 |
Special topics in data mining |
3 |
48 |
|
48 |
Instructor decision |
The student is required to take at least 6 units of the courses in Table 7-2.
The student must take two of the courses in Tables 1-1to 7-1 or 1-2to 7-2, or one of the related master's degree courses, depending on the group permission.