The Bachelor of Science in Computer Science program provides students with a world-class education that allows them the flexibility to enter the market upon graduation or pursue graduate studies at top international universities. Graduates of the program acquire fundamental knowledge of modern programming languages, software design methodologies, and computer security. Particular emphasis is placed on developing project design skills and participating in external internship opportunities.
The School of Computer Science and Mathematics’ mission is to educate students and produce graduates who are prepared to enter the workforce or seek graduate-level education at reputable international universities. School of Computer Science and Mathematics graduates are ethical, tech-savvy communicators with the critical thinking skills necessary to thrive in any environment.
INTENDED LEARNING OUTCOMES
ILO1 Knowledge:
- Apply standard mathematical techniques to solve algebraic and analytical problems.
- Apply the scientific method to solve problems encountered in chemistry, physics, or biology.
- Analyze a complex computing problem and apply computing principles to identify solutions.
ILO2 Research:
Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
ILO3 Communication:
- Prepare and present effective oral presentations.
- Prepare effective written documents.
- Utilize specialized computer programs to construct scientific documents and communicate technical written concepts.
- Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
- Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.
ILO4 Application:
Apply computer science theory and software development fundamentals to produce computing-based solutions.
Requirements for the Bachelor of Science in Computer Science degree are as follows:
Discipline Module |
KIMEP Credits |
ECTS |
General Education Courses* |
36 |
56 |
Program Foundation Required Courses |
37 |
63 |
Program Foundation Elective Courses |
6 |
10 |
Program Specialization Required Courses |
45 |
73 |
Required Program Elective Courses |
9 |
15 |
Free Program Elective Courses |
9 |
15 |
Final Attestation |
4 |
8 |
TOTAL |
146 |
240 |
* For the General Education component please refer to the “GENERAL EDUCATION REQUIREMENTS” part.
Program Foundation Requirements (43 credits, 73 ECTS):
- Program foundation required courses (37 KIMEP, 63 ECTS) – Table 1
- Program foundation elective courses (6 KIMEP credits, 10 ECTS) – Table 2
Table 1: Program Foundation Required Courses
Course Code |
Course Title |
KIMEP Credits |
ECTS |
Prerequisite(s) |
Required Courses |
||||
ENG/GEN1100 |
Academic English Speaking |
3 |
5 |
ENG/GEN1110 |
ENG/GEN1121 |
Academic Reading and Writing II |
3 |
5 |
ENG0103 Academic Reading and Writing I |
KAZ2101-2102/RUS2101-2103 |
Professional Russian/Kazakh |
2 |
3 |
RUS1302, RUS1304/RUS1306, RUS1308/RUS2001 KAZ1502 or KAZ1504/KAZ1506 or KAZ1508 |
SCS0101 |
College Algebra |
0 |
0 |
None |
SCS1101 |
Calculus I |
4 |
7 |
SCS0101 |
SCS1201 |
Calculus II |
4 |
7 |
SCS1101 Calculus I with a minimum grade of C- |
SCS1102 |
Physics I |
3 |
5 |
SCS1101 Calculus I as a co-requisite or prerequisite, or permission of the instructor. |
SCS1103 |
Physics I Lab |
1 |
2 |
None |
SCS1202 |
Physics II |
3 |
5 |
SCS1102 Physics I |
SCS1203 |
Physics II Lab |
1 |
2 |
SCS1103 Physics I Lab |
SCS2101 SCS2102 SCS2103 SCS2104 |
Chemistry I and Chemistry I Lab Or General Biology and General Biology Lab |
4 |
7 |
None |
SCS2105 |
Discrete Mathematics |
3 |
5 |
None |
SCS2203 |
Linear Algebra |
3 |
5 |
SCS1101 Calculus I with a minimum grade of C-, or permission of the instructor. |
SCS3101 |
Probability and Statistics |
3 |
5 |
SCS1101 Calculus I with a minimum grade of C- or permission of the instructor. |
Table 2: Program Foundation Elective Courses
Course Code |
Course Title |
KIMEP Credits |
ECTS |
Prerequisite(s) |
Elective Courses |
6 |
10 |
||
ECN2102 |
Principles of Macroeconomics |
3 |
5 |
All required GE English courses |
ECN2103 |
Principles of Microeconomics |
3 |
5 |
All required GE English courses |
GEN1201 |
Mathematics for Business and Economics |
3 |
5 |
None |
GEN/ASC2103.3 |
Introduction to Drama |
3 |
5 |
None |
GEN/ASC1623 |
Introduction to Theatre |
3 |
5 |
None |
GEN/ASC2209 |
Introduction to Fashion Design |
3 |
5 |
None |
GEN/ASC2108.3 |
Introduction to Films |
3 |
5 |
None |
GEN/ASC2102.3 |
Introduction to World Literature |
3 |
5 |
None |
GEN/ASC1102 |
Mythology and Folklore |
3 |
5 |
None |
JMC/ASC2126 |
Design Thinking for Innovation |
3 |
5 |
None |
GEN/ASC2104.3 |
Digital Photography |
3 |
5 |
None |
GEN/CLP2103 |
Introduction to Computer Science |
3 |
5 |
None |
GEN/ASC3202 |
The History of Writing |
3 |
5 |
None |
GEN/ASC2105 |
Drawing/Painting |
3 |
5 |
None |
GEN/ASC2127 |
Kazakh Spirituality |
3 |
5 |
None |
GEN/ASC2106.3 |
Art and Visual Culture |
3 |
5 |
None |
GEN/ASC2107.3 |
Introduction to World Art History |
3 |
5 |
None |
ENG/GEN2100 |
Introduction to Creative Writing |
3 |
5 |
ENG/GEN1121 Academic Reading and Writing II |
GEN/ASC2110.3 |
Transmedia: The Art of Contemporary Storytelling |
3 |
5 |
None |
GEN/ASC2112.3 |
History of Social Media |
3 |
5 |
None |
GEN/ASC2113.3 |
Globalization and Diversity: A World Regional Approach |
3 |
5 |
None |
GEN/ASC2114.3 |
Cheating, Corruption, and Fraud in Society |
3 |
5 |
None |
Program Specialization Requirements (63 credits, 103 ECTS):
- Program specialization required courses (45 KIMEP credits, 73 ECTS) – Table 3
- Required program elective group (9 KIMEP credits, 15 ECTS): Choose one group, and complete all three courses within the selected group – Table 4
- Free program elective courses (9 KIMEP credits, 15 ECTS): Choose any three courses from the following list – Table 5
Table 3: Program Specialization Required Courses
Course Code |
Course Title |
KIMEP Credits |
ECTS |
Prerequisite(s) |
Required Courses |
||||
SCS2201 |
Introduction to Information Security and Ethics |
3 |
5 |
None |
SCS1104 |
Structured Programming 1 |
3 |
5 |
None |
SCS1204 |
Structured Programming 2 |
3 |
5 |
SCS1104 Structured Programming 1 |
SCS2202 |
Object Oriented Programming |
3 |
5 |
SCS1104 Structured Programming 1 |
SCS2106 |
Data Structures and Algorithms |
3 |
5 |
SCS1104 Structured Programming 1 |
SCS3102 |
Introduction to Artificial Intelligence |
3 |
5 |
None |
SCS3201 |
Operating Systems |
3 |
5 |
SCS3103 Computer Architecture |
SCS3103 |
Computer Architecture |
3 |
5 |
None |
SCS3104 |
Computer Networks |
3 |
5 |
None |
SCS3202 |
Software Engineering |
3 |
5 |
SCS2106 Data Structures and Algorithms |
SCS3203 |
Distributed Computing |
3 |
5 |
SCS3104 Computer Networks |
SCS4101 |
Computer Graphics |
3 |
5 |
None |
SCS4102 |
Database Systems |
3 |
5 |
SCS2106 Data Structures and Algorithms |
SCS4201 |
Analysis of Algorithms |
3 |
5 |
SCS2106 Data Structures and Algorithms |
SCS4400 |
Internship |
3 |
3 |
Fourth-year student in BSCS program |
Table 4: Required Program Elective Group
Course Code |
Course Title |
KIMEP Credits |
ECTS |
Prerequisite(s) |
|
||||
SCS4301 |
Machine Learning |
3 |
5 |
SCS2203 Linear Algebra and SCS2105 Discrete Mathematics |
SCS4302 |
Big Data Management and Analysis |
3 |
5 |
None |
SCS4303 |
Data Analysis and Visualization |
3 |
5 |
None |
|
||||
SCS4401 |
Mobile Programming |
3 |
5 |
SCS1104 Structured Programming 1 |
SCS4402 |
Advanced Software Engineering |
3 |
5 |
SCS3202 Software Engineering |
SCS4403 |
Web Applications |
3 |
5 |
SCS2106 Data Structures and Algorithms or SCS1104 Structured Programming 1 |
|
||||
SCS4501 |
Computer Vision |
3 |
5 |
None |
SCS4502 |
Introduction to Deep Learning |
3 |
5 |
None |
SCS4503 |
Digital Image Processing |
3 |
5 |
None |
|
||||
SCS4601 |
Introduction to Cybersecurity |
3 |
5 |
None |
SCS4602 |
Network Traffic Analysis |
3 |
5 |
SCS4601 Introduction to Cybersecurity |
SCS4603 |
Infrastructure Security Technologies |
3 |
5 |
SCS4601 Introduction to Cybersecurity |
Table 5: Free Program Electives
Course Code |
Course Title |
KIMEP Credits |
ECTS |
Prerequisite(s) |
SCS4301 |
Machine Learning |
3 |
5 |
SCS2203 Linear Algebra and SCS2105 Discrete Mathematics |
SCS4302 |
Big Data Management and Analysis |
3 |
5 |
None |
SCS4303 |
Data Analysis and Visualization |
3 |
5 |
None |
SCS4401 |
Mobile Programming |
3 |
5 |
SCS1104 Structured Programming 1 |
SCS4402 |
Advanced Software Engineering |
3 |
5 |
SCS3202 Software Engineering |
SCS4403 |
Web Applications |
3 |
5 |
SCS2106 Data Structures and Algorithms or SCS1104 Structured Programming 1 |
SCS4501 |
Computer Vision |
3 |
5 |
None |
SCS4502 |
Introduction to Deep Learning |
3 |
5 |
None |
SCS4503 |
Digital Image Processing |
3 |
5 |
None |
SCS4601 |
Introduction to Cybersecurity |
3 |
5 |
None |
SCS4602 |
Network Traffic Analysis |
3 |
5 |
SCS4601 Introduction to Cybersecurity |
SCS4603 |
Infrastructure Security Technologies |
3 |
5 |
SCS4601 Introduction to Cybersecurity |
SCS3205 |
Video Processing |
3 |
5 |
None |
SCS2301 |
Calculus III |
4 |
7 |
SCS1201 Calculus II with a minimum grade of C- or permission of the instructor |
SCS2101 |
Chemistry I |
3 |
5 |
None |
SCS3204 |
Chemistry II |
3 |
5 |
SCS2101 Chemistry I |
SCS2103 |
General Biology |
3 |
5 |
None |
ECN2083 |
Introduction to Statistics |
3 |
5 |
GEN1201/ECN1201 (Not available to students who have credit for OPM2201 or STAT2101) |
OPM3131 |
Introduction to Operations Management |
3 |
5 |
IFS2402 Probability and Mathematical Statistics |
Final Attestation (4 credits, 8 ECTS):
Course Code |
Course Title |
KIMEP Credits |
ECTS |
Prerequisite |
Final Attestation Course |
||||
SCS3900 |
Project 1 |
1 |
2 |
Third-year student in the Bachelor of Science in Computer Science degree program |
SCS3901 |
Project 2 |
1 |
2 |
|
SCS4900 |
Project 3 |
1 |
2 |
|
SCS4901 |
Project 4 |
1 |
2 |
EXAMPLE STUDY PLAN
Table 6-9 are examples of study plan that will help students to finish the BSCS in four years.
Table 6: Year 1 Study Plan
1st Year |
|||||
Fall Semester |
Spring Semester |
||||
Course Code |
Course Title |
Credits |
Course Code |
Course Title |
Credits |
SCS1101 |
Calculus I |
4 |
SCS1201 |
Calculus II |
4 |
SCS1102 |
Physics I |
3 |
SCS1202 |
Physics II |
3 |
SCS1103 |
Physics I Lab |
1 |
SCS1203 |
Physics II Lab |
1 |
GEN/IRL1000 |
History of Kazakhstan |
3 |
IHE Component and/or Elective Component (ASC Elective) |
3 |
|
SCS1104 |
Structured Programming I |
3 |
SCS1204 |
Structured Programming II |
3 |
ENG1110 |
Academic Listening and Note Taking |
3 |
ENG/GEN1100 |
Academic English Speaking |
3 |
TOTAL |
17 |
TOTAL |
17 |
Table 7: Year 2 Study Plan
2nd Year |
|||||
Fall Semester |
Spring Semester |
||||
Course Code |
Course Title |
Credits |
Course Code |
Course Title |
Credits |
SCS2101 OR SCS2103 |
Chemistry I or Biology |
3 |
SCS2201 |
Introduction to Information Security and Ethics |
3 |
SCS2102 OR SCS2104 |
Chemistry I or Biology Lab |
1 |
SCS2202 |
Object Oriented Programming |
3 |
SCS2105 |
Discrete Mathematics |
3 |
SCS2203 |
Linear Algebra |
3 |
SCS2106 |
Data Structure and Algorithms |
3 |
GEN/OPM1300 or GEN/OPM2301 |
Information and Communication Technologies or Business Computer Applications |
3 |
KAZxxxx |
Kazakh language 1 |
3 |
KAZxxxx |
Kazakh language 2 |
3 |
GEN2502 |
Cultural Studies 1 Kazakhstan |
2 |
XXXX |
Cultural Studies 1 Kazakhstan |
3 |
Program Free Electives |
3 |
||||
TOTAL |
18 |
TOTAL |
18 |
Table 8: Year 3 Study Plan
3rd Year |
|||||
Fall Semester |
Spring Semester |
||||
Course Code |
Course Title |
Credits |
Course Code |
Course Title |
Credits |
SCS3101 |
Probability and Statistics |
3 |
SCS3201 |
Operating Systems |
3 |
SCS3102 |
Intro to Artificial Intelligence |
3 |
SCS3202 |
Software Engineering |
3 |
SCS3103 |
Computer Architecture |
3 |
SCS3203 |
Distributed Computing |
3 |
SCS3104 |
Computer Networks |
3 |
Required Program Elective Group |
3 |
|
GENxxxx |
Physical Training |
4 |
|||
ENG1120 |
Academic Reading and Writing I |
3 |
ENG/GEN1121 |
Academic Reading and Writing II |
3 |
SCS3900 |
Project 1 |
1 |
SCS3901 |
Project 2 |
1 |
GEN/IRL2500 or GEN/IRL2510 |
Introduction to Philosophy or Principles of Ethics |
3 |
|||
TOTAL |
20 |
TOTAL |
19 |
Table 9: Year 4 Study Plan
4th Year |
|||||
Fall Semester |
Spring Semester |
||||
Course Code |
Course Title |
Credits |
Course Code |
Course Title |
Credits |
SCS4101 |
Computer Graphics |
3 |
SCS4201 |
Analysis of Algorithms |
3 |
SCS4102 |
Database Systems |
3 |
SCS4400 |
Internship |
5 |
Required Program Elective Group |
3 |
Required Program Elective Group |
3 |
||
KIMEP wide- electives |
3 |
KIMEP wide- electives |
3 |
||
Program free elective |
3 |
Program free elective |
3 |
||
GEN2501 |
Introduction to Social Sciences |
3 |
|||
SCS4900 |
Project 3 |
1 |
SCS4901 |
Project 4 |
1 |
TOTAL |
19 |
TOTAL |
18 |
SCS0101 College Algebra (0 credits, 0 ECTS)
Prerequisite: None
This foundation course aims to strengthen students’ working knowledge of algebra and trigonometry. Topics include numbers and arithmetic operations (including decimals and fractions), solving equations and inequalities, absolute values, elementary functions, coordinate geometry, and graphing. The course also covers key trigonometric concepts such as the main trigonometric functions, angles, the unit circle, identities and formulas, and inverse trigonometric functions.
SCS1101 Calculus I (4 credits, 7 ECTS)
Prerequisites: Placement Test score 12–20 or SCS0101 College Algebra.
This course provides an introduction to calculus, covering limits, differentiation, and integration. Applications such as linear approximation, optimization, average value, and calculating areas and volumes are integrated throughout the course using a variety of examples.
SCS1201 Calculus II (4 credits, 7 ECTS)
Prerequisites: SCS1101 Calculus I with a minimum grade of C-
This course is a continuation of differential and integral calculus. Topics include techniques of integration and applications such as arc length and surface area of revolution; parametric equations and polar coordinates; Taylor’s theorem and series; functions of several variables; partial derivatives with applications to optimization with and without constraints; and multiple integrals.
SCS 1102 Physics I (3 credits, 5 ECTS)
Prerequisites: SCS1101 Calculus I as a corequisite or prerequisite, or permission of the instructor
Physics I is a calculus-based introduction to motion, work, energy and momentum, physics of solids and fluids, and thermodynamics.
SCS1103 Physics I Lab (1 credits, 2 ECTS)
Prerequisite: None
Students will utilize the scientific method while conducting experiments related to the Physics I curriculum. This course should be taken concurrently with Physics I.
SCS1202 Physics II (3 credits, 5 ECTS)
Prerequisites: SCS1102 Physics I
Physics II is a calculus-based introduction to electricity, magnetism, harmonic motion, light, and optics.
SCS1203 Physics II Lab (1 credits, 2 ECTS)
Prerequisite: SCS1103 Physics I Lab
Students will utilize the scientific method while conducting experiments related to the Physics II curriculum. This course should be taken concurrently with Physics II.
SCS2101 Chemistry I (3 credits, 5 ECTS)
Prerequisite: None
This course will cover general concepts and theories of chemistry. These topics will include atomic and molecular structure, stoichiometry, reactions in solution, gases, the periodic table, covalent bonding/molecular geometry, and thermochemistry.
SCS2102 Chemistry I Lab (1 credits, 2 ECTS)
Prerequisite: None
Students will utilize the scientific method while conducting experiments related to the Chemistry I curriculum. This course should be taken concurrently with Chemistry I.
SCS2103 General Biology (3 credits, 5 ECTS)
Prerequisite: None
This course will serve to introduce the student to the scientific method, characteristics of life, chemistry, macromolecule structure and function, cell structure and function, enzymology, metabolism, cellular respiration, photosynthesis, DNA replication, nuclear and cell division, transcription and translation and heredity.
SCS2104 General Biology Lab (1 credits, 2 ECTS)
Prerequisite: None
Students will utilize the scientific method while conducting experiments related to the General Biology curriculum. This course should be taken concurrently with General Biology.
SCS2105 Discrete Mathematics (3 credits, 5 ECTS)
Prerequisite: None.
This course provides the mathematical foundation essential for computer science, focusing on discrete structures and their applications. Students will develop proficiency in logical reasoning, combinatorial analysis, and algorithmic problem-solving, with connections to cryptography, hardware design, and network systems. The course emphasizes proof techniques and computational modeling, preparing students for advanced study in algorithms and theoretical computer science.
SCS2203 Linear Algebra (3 credits, 5 ECTS)
Prerequisites: None
This course covers the fundamental concepts and tools of linear algebra, including matrices, determinants, systems of linear equations, vector spaces, linear operators, eigenvalues and eigenvectors, inner product spaces, and quadratic forms. Additional topics—such as applications to computer graphics, difference equations, Markov chains, image processing, the least-squares problem, and linear programming—may be included at the instructor’s discretion.
SCS3101 Probability and Statistics (3 credits, 5 ECTS)
Prerequisites: SCS1101 Calculus I with a minimum grade of C- or permission of the instructor.
This course covers foundational concepts in probability theory and their applications in statistical analysis. Topics include probability distributions, random variables, expectation, variance, and joint distributions. The course also introduces inferential statistics, covering hypothesis testing, confidence intervals, regression analysis, and correlation. Students learn to apply these concepts to real-world scenarios, developing skills in data analysis, decision-making under uncertainty, and statistical modeling.
SCS2201 Introduction to Information Security and Ethics (3 credits, 5 ECTS):
Prerequisite: None
This course handles ethical dilemmas in computer science related to technology, addressing topics like digital rights, cybercrime, and the social impact of technology. It embraces cybersecurity fundamentals, network security, encryption techniques, vulnerability assessment, and defensive strategies. Students will learn to use various cybersecurity tools and ethical hacking methodologies.
SCS1104 Structured Programming 1 (3 credits, 5 ECTS):
Prerequisite: None
An introductory course in programming focusing on logical thinking and problem-solving. It covers the basics of programming using Python language, including variables, control structures (loops, conditionals), arrays, lists, dictionaries, functions, and modules. The course will be handled in practical labs where students use IDEs to develop and debug Python programs.
SCS1204 Structured Programming 2 (3 credits, 5 ECTS):
Prerequisites: SCS1104 Structured Programming 1
This course covers advanced programming concepts using C or C++. Topics include dynamic memory management, file I/O operations, basic data structures, and the use of pointers. Students will undertake practical projects to develop modular, advanced, and efficient coding skills. They will gain a deeper understanding of how complex programs are structured.
SCS2202 Object-Oriented Programming (3 credits, 5 ECTS):
Prerequisites: SCS1104 Structured Programming 1
This course introduces the principles and practices of Object-Oriented Programming. Students will learn core OOP concepts such as encapsulation, inheritance, and polymorphism, and apply them in building modular, reusable, and maintainable software systems. Emphasis is placed on class design, abstraction, exception handling, file I/O, and UML modeling. Java, C++, or Python can be used as the primary language of instruction.
SCS2106 Data Structures and Algorithms (3 credits, 5 ECTS):
Prerequisites: SCS1104 Structured Programming 1
This course focuses on studying and implementing essential data structures and algorithms using C++ or Java. It covers arrays, linked lists, stacks, queues, trees, graphs, and sorting and searching algorithms. Students will learn to do basic time and space complexity analysis and apply these notions to solve complex computational problems.
SCS3102 Introduction to Artificial Intelligence (3 credits, 5 ECTS):
Prerequisite: None
This course provides an introduction to the field of AI, covering key concepts like machine learning, neural networks, genetic algorithms, and natural language processing. Using Python and AI libraries such as Sklearn or PyTorch, students will build and train models for various AI applications, including image and speech recognition and data analysis.
SCS3201 Operating Systems (3 credits, 5 ECTS):
Prerequisites: SCS3103 Computer Architecture
This course explores operating system principles and architecture in depth. Topics include process management, inter-process communication, memory management, file systems, and I/O systems. Students will gain hands-on experience with Linux/Unix, learning to manipulate and manage an operating system’s core functions.
SCS3103 Computer Architecture (3 credits, 5 ECTS):
Prerequisite: None
This course introduces the fundamentals of computer architecture and organization. Topics include the design and operation of CPU components, instruction sets, memory hierarchy, input/output systems, and modern processor architectures. Students will understand how hardware and software interact to optimize system performance, including concepts like pipelining, caching, and parallelism.
SCS3104 Computer Networks (3 credits, 5 ECTS):
Prerequisite: None
This course is based on a top-down approach. It is dedicated to teaching students about computer network concepts and functions of various layers (for example, application, transport, network). Moreover, students will learn to work and analyze computer networks. By the end of the course, students are expected to have sufficient knowledge to use computer networks.
SCS3202 Software Engineering (3 credits, 5 ECTS):
Prerequisites: SCS2106 Data Structures and Algorithms
In the course, students will learn basic activities common to all software engineering process models: software specification –functional requirements obtained from the user; software design and implementation – production of the software system as a product; software validation – an activity that assures that customer specifications are met; software evolution – system modification to meet continuing customer needs.
SCS3203 Distributed Computing (3 credits, 5 ECTS):
Prerequisites: SCS3104 Computer Networks
This course provides basic elements and concepts related to distributed systems. Topics include the basics of distributed computing systems, global state management in distributed computing systems, communication in distributed systems, distributed file systems, fault tolerance, synchronization and deadlocks, load balancing and process migration, and distributed operating systems issues.
SCS4101 Computer Graphics (3 credits, 5 ECTS):
Prerequisite: None
The Computer Graphics course provides an introduction to the principles and techniques used in creating 2D and 3D computer graphics. Students will explore the mathematical foundations of graphics, graphical transformations, rendering, 3D modeling, and animation. The course includes practical work using software tools and libraries such as OpenGL, Unity, or others.
SCS4102 Database Systems (3 credits, 5 ECTS):
Prerequisites: SCS2106 Data Structures and Algorithms
This course covers the fundamentals of databases & database management systems. The course introduces types and models of database logical organization and relational structure of database systems based on entity relationship diagrams. The course contains basic relational database management systems principles with key fields and relationship models.
SCS4201 Analysis of Algorithms (3 credits, 5 ECTS):
Prerequisites: SCS2106 Data Structures and Algorithms
The aim of this course is to introduce some important algorithms, basic algorithm design techniques, and analysis of algorithms. The course consists of selected computer algorithms: sorting, searching, string processing and graph algorithms, algorithm design and analysis techniques, time and computational complexities of algorithms, introduction to NP-completeness, parallelization of algorithms, and linear and dynamic programming.
SCS4400 Internship (3 credits, 5 ECTS):
Prerequisite: Fourth-year student in Bachelor of Science in Computer Science degree program
This course allows students to apply their knowledge and skills to address a series of real computer science issues that have arisen in organizations. Students can expect to develop and apply their critical, analytical, and decision-making skills, as well as written and oral communication skills.
SCS4301 Machine Learning (3 credits, 5 ECTS):
Prerequisites: SCS2203 Linear Algebra and SCS2105 Discrete Mathematics
Explore core machine learning concepts and algorithms, including decision trees, neural networks, and SVMs. Practical sessions involve using Python and libraries like scikit-learn to implement models, evaluate performance, and apply techniques to real-world datasets. Topics include data pre-processing, feature engineering, model selection, and ethical implications of machine learning.
SCS4302 Big Data Management and Analysis (3 credits, 5 ECTS):
Prerequisite: None
This course covers the end-to-end handling of big data, emphasizing distributed storage, processing frameworks like Hadoop and Spark, and big data analytics. Students engage in hands-on activities, learning to manage, process, and analyze large-scale datasets. The course also introduces NoSQL databases and discusses big data’s role in data science.
SCS4303 Data Analysis and Visualization (3 credits, 5 ECTS):
Prerequisite: None
Focusing on extracting insights from data, this course covers statistical analysis techniques, data preprocessing, and data visualization. Using tools like Python, R, Power BI, Tableau, Looker Studio Google students work on real-world datasets, learning to communicate results effectively through visual storytelling. The course also introduces interactive dashboards and data-driven decision-making processes.
SCS4401 Mobile Programming (3 credits, 5 ECTS):
Prerequisites: SCS1104 Structured Programming 1
This course provides a deep dive into mobile application development for platforms like Android and iOS. Topics include UI/UX design principles, responsive layouts, mobile programming languages (Swift, Kotlin), and app lifecycle management. Students gain practical experience by developing and deploying functional mobile apps and learning about app store submission processes.
SCS4402 Advanced Software Engineering (3 credits, 5 ECTS):
Prerequisites: SCS3202 Software Engineering
Expanding on foundational software engineering concepts, this course explores advanced topics like software architecture design, design patterns, and software testing strategies. Agile and DevOps methodologies are emphasized, along with the importance of software maintenance and scalability. Students engage in project-based learning to develop high-quality software systems. It includes also testing and evaluation process.
SCS4403 Web Applications (3 credits, 5 ECTS):
Prerequisites: SCS2106 Data Structures and Algorithms or SCS1104 Structured Programming 1
This comprehensive course covers both front-end and back-end development for web applications. Students learn HTML, CSS, JavaScript, and modern frameworks like React or Angular, along with server-side languages and database integration. Emphasis is on creating dynamic, data-driven websites with a focus on user experience and web security.
SCS4501 Computer Vision (3 credits, 5 ECTS):
Prerequisite: None
This course introduces students to the fundamental principles and techniques of computer vision. Topics include image processing, feature extraction, object detection, image segmentation, camera models, 3D reconstruction, and deep learning-based vision methods. Students will implement vision algorithms and develop applications using OpenCV, PyTorch/TensorFlow, and other vision libraries.
SCS4502 Introduction to Deep Learning (3 credits, 5 ECTS):
Prerequisite: None
This course provides a foundational understanding of deep learning, its algorithms, models, and applications. Students will learn how deep neural networks work, explore architectures such as CNNs, RNNs, and Transformers, and apply them to real-world problems like image classification, language modeling, and time series forecasting. Hands-on programming assignments using TensorFlow or PyTorch are included throughout the course.
SCS4503 Digital Image Processing (3 credits, 5 ECTS):
Prerequisite: None
This course provides a comprehensive introduction to digital image processing. It covers the fundamental techniques for manipulating, analyzing, and enhancing digital images. Students will learn about image transformations, filtering, edge detection, feature extraction, and image segmentation. The course includes hands-on practice using popular tools and libraries (such as OpenCV, Python, and MATLAB) to implement algorithms and solve real-world image processing problems.
SCS4601 Introduction to Cybersecurity (3 credits, 5 ECTS):
Prerequisite: None
This course covers fundamental cybersecurity concepts, including network security, encryption, and ethical hacking. Students learn about risk management, cybersecurity frameworks, and countermeasures against various cyber threats. Labs include hands-on activities in penetration testing and vulnerability assessments, emphasizing the importance of ethical considerations in cybersecurity practices.
SCS4602 Network Traffic Analysis (3 credits, 5 ECTS):
Prerequisites: SCS4601 Introduction to Cybersecurity
This course provides students with the theoretical background and practical skills required to analyze and interpret network traffic. The course covers traffic capture, protocol analysis, intrusion detection, malware communications, and traffic behavior profiling. Tools such as Wireshark, Zeek (Bro), tcpdump, and Suricata are used to analyze packet data and extract insights for security operations.
SCS4603 Infrastructure Security Technologies (3 credits, 5 ECTS):
Prerequisites: SCSS4601 Introduction to Cybersecurity
This course focuses on securing IT infrastructure through a combination of preventive, detective, and corrective security technologies. It covers various tools and techniques to protect servers, networks, and cloud environments, including firewalls, intrusion detection/prevention systems (IDS/IPS), access control mechanisms, encryption technologies, and network traffic monitoring. Students will gain practical hands-on experience in securing different infrastructure components and managing security vulnerabilities in a real-world context.
SCS3205 Video Processing (3 credits, 5 ECTS):
Prerequisite: None
The course covers essential video processing techniques, focusing on video compression, enhancement, and content analysis. Students work with tools to process and analyze video streams, learning about applications in digital media, surveillance, and communication technologies. Topics include video codecs, motion detection, and video content retrieval.
SCS2301 Calculus III (4 credits, 7 ECTS)
Prerequisites: SCS1201 Calculus II with a minimum grade of C- or permission of the instructor.
This course continues the study of differential and integral calculus. It completes the topic of multiple integrals by covering double integrals in polar coordinates, triple integrals, and their applications. Additional topics include vectors, the geometry of space, vector functions, vector fields, line and surface integrals, as well as the concepts of curl and divergence.
SCS3204 Chemistry II (3 credits, 5 ECTS)
Prerequisite: SCS2101 Chemistry I
This is a continuation of Chemistry I. Topics will include liquids and solids, solution chemistry, kinetics, chemical equilibrium, acid-base reactions, spontaneity, and an introduction to organic chemistry.
SCS3900; SCS3901; SCS4900; SCS4901 Capstone Project (4 credits, 8 ECTS):
Prerequisite: Third-year student in the Bachelor of Science in Computer Science degree program
The course requires the student to work closely with one or more faculty members to complete a multi-semester project. Presentation of results is required upon completion of the project.