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):

  1. Program foundation required courses (37 KIMEP, 63 ECTS) – Table 1
  2. 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):

  1. Program specialization required courses (45 KIMEP credits, 73 ECTS) – Table 3
  2. Required program elective group (9 KIMEP credits, 15 ECTS): Choose one group, and complete all three courses within the selected group – Table 4
  3. 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)

  1. Data Analytics

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

  1. Software Engineering

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

  1. Artificial Intelligence

SCS4501

Computer Vision 

3

5

None

SCS4502

Introduction to Deep Learning 

3

5

None

SCS4503

Digital Image Processing 

3

5

None

  1. Cybersecurity

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.