Skip to main content

Software Engineering program

Bachelor

Levels
8
Courses
58
Credits
137
Number of students
350
    Overview
    The Software Engineering Department offers a leading academic program aimed at preparing distinguished professionals in the field of software engineering. The program focuses on equipping students with the knowledge and skills necessary to design and develop innovative software systems that meet the needs of both local and global markets. It is characterized by advanced curricula aligned with the latest technological developments and academic quality standards, along with an interactive learning environment that integrates theory and practice. The department strives to enhance scientific research and encourage innovation while ensuring the provision of community services and technical consultancy to support sustainable development in line with Saudi Arabia's Vision 2030. The program includes specialized teams and committees dedicated to quality assurance, academic advising, curriculum development, and graduate follow-up, contributing to academic excellence and fostering a generation capable of addressing the challenges of the digital age. Vision: Leadership in education and scientific research and ranking among the best software engineering program at the local level. Mission: Preparation of qualified scientific cadres in the various fields of Software Engineering through innovative education and scientific research, which develops creative and analytical abilities that can serve the society. Goals: 1..High-Quality Graduates: Equip students with the fundamental principles and advanced techniques in Software Engineering to prepare them as qualified professionals ready to contribute effectively in the field. 2.Problem-Solving Skills: Foster an environment that enables students to develop problem-solving skills through engaging in challenging projects, utilizing modern technologies, and addressing real- world problems effectively. 3.Scientific Research: Promote a culture of scientific research that enhances knowledge in Software Engineering, focusing on areas that offer significant societal benefits. 4.Analytical Skills: Develop robust analytical and design skills in students, enabling them to tackle complex engineering problems with optimal solutions. 5.Serve the Community: Prepare graduates to use their expertise in Software Engineering to contribute to societal needs, emphasizing ethical considerations and sustainable practices.

    Program levels

    Level One
    EDU 101 - University Life Skills - mandatory
    Credits
    2
    Theoretical
    2
    Pratical
    Training
    Total Content
    2
    Prerequisite
    Course Description:
    This course aims to equip students with essential life skills needed for success in university and beyond. It covers time management, effective communication, study strategies, goal setting, critical thinking, and adapting to university life. The course fosters personal development and prepares students to face academic and social challenges with confidence.
    CIS 101 - Computer Skills - mandatory
    Credits
    3
    Theoretical
    2
    Pratical
    2
    Training
    Total Content
    4
    Prerequisite
    Course Description:
    This course gives a definition of components and units of computers and their functions, input and output units, main and secondary memory, computer types, operating systems, and data processing. Also This course gives a tough knowledge of office applications such as MS-Word, MS-Excel, spreadsheets, graphs, networks and the internet. 
    MTH 101 - Introductory Mathematics - mandatory
    Credits
    3
    Theoretical
    2
    Pratical
    Training
    Total Content
    4
    Prerequisite
    Course Description:
    This course provides a foundational understanding of key mathematical concepts essential for various academic disciplines. It covers topics such as algebra, basic geometry, functions, and introductory statistics. The course aims to develop problem-solving skills and mathematical reasoning, helping students build the necessary tools to succeed in more advanced mathematics courses and apply mathematical concepts in real-world situations.
    ENGL 001 - English Language (1) - mandatory
    Credits
    6
    Theoretical
    5
    Pratical
    5
    Training
    Total Content
    20
    Prerequisite
    Course Description:
    This course aims to develop basic English language skills with a focus on improving grammar and vocabulary, along with listening, reading, and writing skills.
    Level Two
    CIS 102 - Problem Solving and Programming - mandatory
    Credits
    3
    Theoretical
    2
    Pratical
    2
    Training
    Total Content
    4
    Prerequisite
    Course Description:
    This course introduces the fundamental concepts of problem solving and computer programming using the Python language. Students will learn how to analyze problems, develop algorithms, and write efficient and readable code. Key topics include variables, data types, control structures, functions, and basic data structures. The course emphasizes logical thinking and structured programming techniques to build real-world applications.
    MTH 102 - Differential Calculus - mandatory
    Credits
    3
    Theoretical
    2
    Pratical
    Training
    Total Content
    4
    Prerequisite
    Course Description:
    Covers the basics of differential calculus, including derivatives, maxima/minima, and their applications in engineering.
    CHM 103 - Chemistry - mandatory
    Credits
    3
    Theoretical
    2
    Pratical
    2
    Training
    Total Content
    4
    Prerequisite
    Course Description:
    Covers the fundamental concepts of chemistry, including atoms and molecules, chemical reactions, and the laws governing reactions.
    ENGL 002 - English Language (2) - mandatory
    Credits
    6
    Theoretical
    5
    Pratical
    5
    Training
    Total Content
    20
    Prerequisite
    Course Description:
    Aims to develop intermediate English language skills with a focus on reading, writing, listening, and speaking.
    Level Three
    ARB 100 - Arabic language skills - mandatory
    Credits
    2
    Theoretical
    2
    Pratical
    Training
    Total Content
    2
    Prerequisite
    Course Description:
    This course aims to develop university students’ Arabic language skills by enhancing their abilities in reading comprehension, written and oral expression, and academic writing. It focuses on the proper application of grammar rules, improvement of spelling skills, and the development of eloquent expression. The course contributes to students’ academic achievement and enhances their language proficiency within and beyond the university environment.
    ISL 101 - Fundamentals of Islamic Culture - mandatory
    Credits
    2
    Theoretical
    2
    Pratical
    Training
    Total Content
    2
    Prerequisite
    Course Description:
    This course introduces students to the key principles, beliefs, and practices of Islamic culture. It explores the historical, social, and cultural contributions of Islam to the world, including its impact on art, science, politics, and society. The course also examines Islamic values, traditions, and ethics, helping students understand the significance of Islam in shaping modern and historical civilizations.
    PHS 101 - General physics 1 - mandatory
    Credits
    4
    Theoretical
    3
    Pratical
    2
    Training
    Total Content
    5
    Prerequisite
    Course Description:
    Covers the basic concepts of physics, including motion, forces, energy, and momentum, with practical applications.
    MTH 203 - Integral Calculus - mandatory
    Credits
    3
    Theoretical
    2
    Pratical
    Training
    Total Content
    4
    Prerequisite
    Course Description:
    Covers the fundamentals of integral calculus, including definite and indefinite integrals and their applications in science and engineering.
    CIS 203 - Computer programming (1) - mandatory
    Credits
    4
    Theoretical
    3
    Pratical
    2
    Training
    Total Content
    5
    Prerequisite
    Course Description:
    Introduction. Procedural programming. Object-oriented programming using JAVA, Object-oriented versus procedural programming. Program organization and object-oriented design style. Classes (Abstract data types, structured data, attributes, and methods). Objects. Overloading. Inheritance. Input/output systems and predefined classes. Examples and applications (Arrays, linked lists, stacks, and queues).
    CIS 211 - Discrete Maths - mandatory
    Credits
    3
    Theoretical
    3
    Pratical
    Training
    Total Content
    4
    Prerequisite
    Course Description:
    Basics (Logic, sets and functions). Function development. Algorithms, integers and matrices. Mathematical reasoning. Proof methods and mathematical inference, definitions and self-algorithms. Mixing styles (enumeration means, interaction and accommodation). Abstract probabilities and probability theory. Abstract structures (Sets, Relations, graphs and trees).
    Level Four
    SWE 201 - Introduction to Software Eng. - mandatory
    Credits
    3
    Theoretical
    3
    Pratical
    Training
    Total Content
    3
    Prerequisite
    Course Description:
    This course provides a comprehensive introduction to the concepts of software engineering and software system development methods. It covers the software lifecycle from requirements gathering to delivery and maintenance. Students will learn about various development methodologies such as: Traditional models like the waterfall model and iterative development. Common design techniques such as object-oriented design and design patterns. Software project management and software metrics. The course enables students to understand the relationship between system analysis, design, and implementation, with a focus on quality and security during software development.
    MTH 204 - Advanced Calculus - mandatory
    Credits
    3
    Theoretical
    2
    Pratical
    Training
    Total Content
    4
    Prerequisite
    Course Description:
    This course delves deeper into the concepts and techniques of calculus, building on foundational knowledge. It covers advanced topics such as multivariable functions, partial derivatives, multiple integrals, vector calculus, and theorems of Green, Stokes, and Gauss. The course aims to enhance students' problem-solving abilities and their understanding of the theoretical aspects of calculus, with applications in physics, engineering, and other disciplines.
    PHS 202 - General physics 2 - mandatory
    Credits
    4
    Theoretical
    3
    Pratical
    2
    Training
    Total Content
    5
    Prerequisite
    Course Description:
    This course covers topics in thermodynamics, electricity and magnetism, and waves, focusing on physical applications in engineering and science.
    CIS 204 - Computer Programming (2 - mandatory
    Credits
    4
    Theoretical
    3
    Pratical
    2
    Training
    Total Content
    5
    Prerequisite
    Course Description:
    This course is the third course on computer programming; it deals with the application of advanced object-oriented concepts using Java. Emphasizes graphical user interface, event-driven programming, error handling, files and streams, inner classes and threads. We will learn to solve problems for which these are the primary tools.
    CNE 261 - Logic Design - mandatory
    Credits
    4
    Theoretical
    3
    Pratical
    2
    Training
    Total Content
    5
    Prerequisite
    Course Description:
    This course provides students with basic knowledge on Combinational machines. Firstly recalling Boolean algebra Rules and Logic Gates to attack after Topics lied to combinational circuits such as but not limited to: Adders (Half and Full Adders), Subtractors, Multipliers, Coder/Decoders, Multiplexors, Parity Generators, Comparators. It also serves as a foundation course for the Digital Logic Design II.
    Level Five
    MTH 281 - Statistics and Probabilities - mandatory
    Credits
    3
    Theoretical
    2
    Pratical
    Training
    Total Content
    4
    Prerequisite
    Course Description:
    This course provides a comprehensive introduction to the fundamentals of statistics and probability, including probability distributions, hypothesis testing, and data analysis, with a focus on applications in engineering and science.
    CIS 205 - Data Structures - mandatory
    Credits
    4
    Theoretical
    3
    Pratical
    2
    Training
    Total Content
    5
    Prerequisite
    Course Description:
    Introduction to problem solving (problem solving, structural design, abstraction and encapsulation, object-oriented design). Important programming concepts: structure and modifiability. Ease of use and reliability. Error detection and correction methods. Recursion. Abstract data types. Linked lists, stacks, and queues. Algorithms performance (measurement techniques, execution time). Sorting techniques: selection, bubble, insertion, merging, and quick sort. Trees: (Terminology, binary trees, tree traversal).
    MTH 285 - Principles of Linear Algebra - mandatory
    Credits
    3
    Theoretical
    2
    Pratical
    Training
    Total Content
    4
    Prerequisite
    Course Description:
    Introduces the fundamentals of linear algebra, including matrices, determinants, linear systems, vector spaces, eigenvalues, and practical applications.
    CIS 343 - Computer organization - mandatory
    Credits
    3
    Theoretical
    3
    Pratical
    Training
    Total Content
    3
    Prerequisite
    Course Description:
    Basis of computer design (introduction, performance, and quantitative principles), cost and performance. Instructions and commands design. The role of high-level languages and compilers. Instruction set examples. Simple techniques in the design and implementation of memory priorities. Input/output. General concepts of primary and virtual memory. Future trends in computer architectures.
    SWE 321 - Software Requirement Engineering - mandatory
    Credits
    3
    Theoretical
    3
    Pratical
    Training
    Total Content
    4
    Prerequisite
    Course Description:
    This course covers the process of gathering and analyzing software requirements in detail and teaches students how to understand customer needs and translate them into specific and precise requirements. The course includes: • Requirement gathering techniques such as surveys, interviews, workshops, and document analysis. • Documentation tools and techniques such as flowcharts, structural diagrams, and use cases. • Addressing challenges in understanding conflicting requirements and managing changing requirements. • The importance of reviewing and validating requirements periodically throughout the project lifecycle.
    ISL 100 - Studies in the Biography of the Prophet - optional 1
    Credits
    2
    Theoretical
    2
    Pratical
    Training
    Total Content
    2
    Prerequisite
    Course Description:
    This course provides an in-depth study of the life of the Prophet Muhammad (peace be upon him), exploring key events, stages, and lessons from his biography (Sīrah). It highlights his character, leadership, moral values, and how his life serves as a model for individuals and communities. The course also examines the historical, social, and spiritual context of the Prophet’s mission.
    ISL 108 - Contemporary Issues - optional 1
    Credits
    2
    Theoretical
    2
    Pratical
    Training
    Total Content
    2
    Prerequisite
    Course Description:
    This course explores the major contemporary social, political, economic, and cultural issues facing Saudi Arabia today. It provides students with a comprehensive understanding of the Kingdom’s development, challenges, and policies in the context of globalization and regional dynamics. The course aims to foster critical thinking and discussions on Saudi Arabia’s role in the modern world and its evolving identity.
    ISL 109 - The Role of Women in Development - optional 1
    Credits
    2
    Theoretical
    2
    Pratical
    Training
    Total Content
    2
    Prerequisite
    Course Description:
    This course examines the critical role of women in socio-economic development, focusing on their contributions to various sectors such as education, healthcare, business, and politics. It explores how gender equality and women's empowerment are integral to sustainable development, both locally and globally. The course encourages students to analyze policies, challenges, and initiatives aimed at improving the status of women and promoting gender equity.
    Level Six
    SWE 391 - Field Training - mandatory
    Credits
    1
    Theoretical
    1
    Pratical
    Training
    Total Content
    1
    Prerequisite
    Course Description:
    Field Training is a 1-credit-hour industry-based learning course for college students to get practical experience in the area of their field of study at reputable organizations as approved by the Department and guided by a Field Training advisor. The basic objective is to enable the students to relate what they learned in the core courses of their majors to what they find in practice and be able to identify business problems and recommend practical solutions for them. A Field Training student is required to spend 8 continuous weeks of practical work in a relevant field of software engineering.
    SWE 341 - Software Testing and Quality Assurance - mandatory
    Credits
    3
    Theoretical
    2
    Pratical
    2
    Training
    Total Content
    4
    Prerequisite
    Course Description:
    This course emphasizes the importance of quality assurance during software development through various testing methods. It covers software testing techniques including: • Unit testing, integration testing, and system testing. • Automated testing methods and code coverage.
    SWE 342 - Software Project Management - mandatory
    Credits
    3
    Theoretical
    3
    Pratical
    Training
    Total Content
    4
    Prerequisite
    Course Description:
    This course is designed to provide an introduction to project management concepts, tools, and techniques. It gives an overview about integration management and project planning, scope management, scheduling, budget control, human resource management, communication management, risk analysis and management, project quality management, and procurement management.
    SWE 322 - Software Design and Architecture - mandatory
    Credits
    3
    Theoretical
    2
    Pratical
    2
    Training
    Total Content
    4
    Prerequisite
    Course Description:
    The course focuses on designing software systems to ensure efficiency, sustainability, and scalability. It introduces students to architectural principles such as separation of concerns, abstraction, and reliability, as well as architectural patterns like MVC and Microservices.
    CIS 342 - Operating Systems - mandatory
    Credits
    3
    Theoretical
    3
    Pratical
    Training
    Total Content
    4
    Prerequisite
    Course Description:
    Introduction to Operating Systems: Operating system services. CPU scheduling. Disk scheduling. Memory management. Process management.
    CIS 322 - Concepts of Database Systems - mandatory
    Credits
    4
    Theoretical
    3
    Pratical
    2
    Training
    Total Content
    5
    Prerequisite
    Course Description:
    Files organization. Digitization techniques. Databases concepts and architecture. Relational model. Relational Algebra. Standard Sequential Query Languages (SQL). Relational integrity rules. Introduction to EER. Introduction to Object-Oriented Database Management Systems.
    Level Seven
    SWE 423 - Design Patterns - optional 2
    Credits
    3
    Theoretical
    3
    Pratical
    Training
    Total Content
    4
    Prerequisite
    Course Description:
    This course provides a detailed overview of advanced principles of Object-Oriented design by studying key software design patterns. Patterns are standard solutions to common software problems.
    IS 427 - Fundamentals of Big Data - optional 2
    Credits
    3
    Theoretical
    2
    Pratical
    2
    Training
    Total Content
    4
    Prerequisite
    Course Description:
    This course provides an introduction to the concepts, tools, and techniques used to handle and analyze large-scale datasets, commonly known as Big Data. Topics include data storage, data mining, Hadoop, MapReduce, cloud computing, and real-time data processing. Students will learn about the challenges and opportunities presented by Big Data, including issues related to data privacy, security, and scalability. The course also covers practical applications of Big Data in various industries such as healthcare, finance, and e-commerce.
    ARB 102 - Writing skills - mandatory
    Credits
    2
    Theoretical
    2
    Pratical
    Training
    Total Content
    2
    Prerequisite
    Course Description:
    This course focuses on developing students' writing abilities for academic and professional contexts. It covers sentence structure, paragraph development, essay writing, and proper grammar usage. Students will practice organizing ideas clearly, using appropriate language, and editing their writing effectively. The course aims to enhance written communication and critical thinking skills.
    ISL 107 - Professional Ethics - mandatory
    Credits
    2
    Theoretical
    2
    Pratical
    Training
    Total Content
    2
    Prerequisite
    Course Description:
    This course explores the principles and standards that govern professional behavior in various fields. It focuses on the importance of ethical decision-making, integrity, and responsibility in the workplace. Students will examine real-life case studies to understand the challenges professionals face and learn how to apply ethical guidelines to promote trust, fairness, and accountability in their careers.
    CNE 484 - Digital Image Processing - optional 2
    Credits
    3
    Theoretical
    3
    Pratical
    Training
    Total Content
    3
    Prerequisite
    Course Description:
    This course introduces students to the techniques used in processing digital images. Topics include image enhancement, filtering, segmentation, edge detection, image compression, and pattern recognition. Students will learn about algorithms for manipulating and analyzing images, with applications in areas such as computer vision, medical imaging, and digital media. The course emphasizes practical skills in using software tools and programming languages to implement image processing techniques.
    IS 472 - Enterprise Resources Planning - optional 2
    Credits
    3
    Theoretical
    2
    Pratical
    2
    Training
    Total Content
    4
    Prerequisite
    Course Description:
    This course introduces students to the principles and practices of Enterprise Resource Planning (ERP) systems, which integrate various business processes and functions within an organization. Topics include ERP software, modules such as finance, human resources, supply chain management, and customer relationship management, as well as the implementation and customization of ERP systems. The course emphasizes understanding how ERP systems improve organizational efficiency, decision-making, and overall business performance.
    CNE 478 - Intelligent Systems and Robotics - optional 2
    Credits
    3
    Theoretical
    2
    Pratical
    2
    Training
    Total Content
    4
    Prerequisite
    Course Description:
    This course explores the design and development of intelligent systems and robots that can perceive, learn, and act autonomously. Topics include robot kinematics, dynamics, control systems, sensors, machine learning, and artificial intelligence algorithms used in robotics. Students will also study the integration of intelligent systems into real-world applications such as autonomous vehicles, industrial automation, and healthcare robotics. The course emphasizes hands-on experience in building and programming robots to solve complex tasks.
    SWE 491 - Graduation Project (1) - mandatory
    Credits
    2
    Theoretical
    2
    Pratical
    Training
    Total Content
    2
    Prerequisite
    Course Description:
    The first part of the graduation project enables students to apply theoretical knowledge in a practical environment. The course includes: • Selecting a project topic based on the student's interests and research or practical focus. • Gathering and analyzing initial requirements through interviews and reviews with the supervisor.
    CIS 313 - Artificial Intelligence - optional 2
    Credits
    3
    Theoretical
    3
    Pratical
    Training
    Total Content
    3
    Prerequisite
    Course Description:
    This course introduces students to the fundamentals of Artificial Intelligence (AI), focusing on key techniques and algorithms that enable machines to perform tasks that typically require human intelligence. Topics include machine learning, neural networks, search algorithms, natural language processing, and expert systems. The course explores both theoretical concepts and practical applications, preparing students to develop AI-based solutions for real-world problems in fields like robotics, data science, and automation.
    SWE 421 - User Interface Design - mandatory
    Credits
    3
    Theoretical
    3
    Pratical
    Training
    Total Content
    4
    Prerequisite
    Course Description:
    This course focuses on designing and developing user interfaces that provide an excellent user experience. It includes the following topics: • Principles of user interface design such as consistency, simplicity, and responsiveness.
    CIS 414 - Design and analysis of Algorithms - mandatory
    Credits
    3
    Theoretical
    3
    Pratical
    Training
    Total Content
    4
    Prerequisite
    Course Description:
    This course provides an in-depth study of algorithm design and analysis techniques. Topics include algorithmic strategies such as divide and conquer, dynamic programming, greedy algorithms, and backtracking. The course covers the analysis of algorithm efficiency using time and space complexity, including Big O notation. Students will also learn how to apply algorithms to solve computational problems and optimize solutions, with an emphasis on problem-solving skills and algorithmic thinking.
    SWE 493 - Selected Topics - optional 2
    Credits
    3
    Theoretical
    3
    Pratical
    Training
    Total Content
    3
    Prerequisite
    Course Description:
    From time to time, new advanced courses will be designed and offered according to the interests of the college, industry, and the students to explore those areas of software engineering that are not part of the core of the curriculum. The intention is to provide a rapid response to current trends, with topic and content changing with each offering.
    CIS 434 - Cloud Computing - optional 2
    Credits
    3
    Theoretical
    2
    Pratical
    2
    Training
    Total Content
    4
    Prerequisite
    Course Description:
    This course introduces students to the fundamentals of cloud computing, which allows for the delivery of computing services over the internet. Topics include cloud service models (IaaS, PaaS, SaaS), cloud deployment models (public, private, hybrid), virtualization, data storage, security, and scalability in cloud environments. The course also explores the practical applications of cloud computing in businesses, as well as emerging trends in cloud technologies.
    SWE 411 - Web Application Development - optional 2
    Credits
    3
    Theoretical
    2
    Pratical
    2
    Training
    Total Content
    4
    Prerequisite
    Course Description:
    This course introduces students to the latest techniques in web application development, from front-end design to back-end server development. The course covers: • Basic web technologies like HTML, CSS, JavaScript, and front-end frameworks like React and Vue.js.
    CIS 462 - Natural Language Processing - optional 2
    Credits
    3
    Theoretical
    3
    Pratical
    Training
    Total Content
    3
    Prerequisite
    Course Description:
    This course introduces students to the field of Natural Language Processing (NLP), which focuses on the interaction between computers and human language. Topics include text preprocessing, tokenization, syntactic parsing, sentiment analysis, machine translation, and language models. The course provides students with practical skills in applying algorithms and techniques to process, analyze, and generate human language data, with applications in AI, data science, and computational linguistics.
    SWE 422 - Software Reuse - optional 2
    Credits
    3
    Theoretical
    2
    Pratical
    2
    Training
    Total Content
    4
    Prerequisite
    Course Description:
    This course provides a detailed overview about the business, organizational, and technical implications of large‐scale software reuse in modern environments. Topics include architecture, design for reuse, domain engineering, model‐driven development, frameworks, library design, reuse tools, and design patterns.
    CIS 463 - Bioinformatics - optional 2
    Credits
    3
    Theoretical
    2
    Pratical
    2
    Training
    Total Content
    4
    Prerequisite
    Course Description:
    This course introduces students to the interdisciplinary field of bioinformatics, which combines biology, computer science, and mathematics to analyze and interpret biological data. Topics include sequence alignment, protein structure prediction, genomics, computational biology, and data mining techniques for large biological datasets. The course equips students with the skills to analyze genomic sequences, understand biological networks, and apply computational tools in modern biological research.
    SWE 442 - Software Configuration Management - optional 2
    Credits
    3
    Theoretical
    3
    Pratical
    Training
    Total Content
    3
    Prerequisite
    Course Description:
    Software Configuration Management (SCM) is required to control evolving and changing software systems. This course introduces basic concepts, phases, tools, and roles in SCM.
    CNE 463 - Computer networks - mandatory
    Credits
    3
    Theoretical
    3
    Pratical
    Training
    Total Content
    4
    Prerequisite
    Course Description:
    Benefits of computer networks. Networks topologies. Networks layers' architecture. Study of the different layers (functions, services and protocols). Local networks. Internetworking. Data security. Case studies.
    Level Eight
    CHIN 101 - Introduction To Chinese - optional 3
    Credits
    2
    Theoretical
    2
    Pratical
    Training
    Total Content
    2
    Prerequisite
    Course Description:
    This course provides students with a foundational understanding of the Chinese language and culture. It covers essential language skills including basic vocabulary, pronunciation, simple sentence structures, and common expressions. The course also introduces the Chinese writing system, including pinyin and basic characters. Students will develop introductory skills in listening, speaking, reading, and writing in Chinese, and gain insights into Chinese customs, traditions, and history.
    SWE 441 - Software Maintenance and Evolution - mandatory
    Credits
    3
    Theoretical
    3
    Pratical
    Training
    Total Content
    4
    Prerequisite
    Course Description:
    This course focuses on the principles and practices involved in maintaining and evolving software systems after deployment. Topics include types of software maintenance (corrective, adaptive, perfective, and preventive), software evolution models, code refactoring, regression testing, version control, and documentation. The course emphasizes techniques to enhance software quality, extend system lifespan, and manage changes efficiently. Students will gain practical skills in maintaining large-scale and legacy systems.
    SWE 492 - Graduation Project (2) - mandatory
    Credits
    3
    Theoretical
    3
    Pratical
    Training
    Total Content
    3
    Prerequisite
    Course Description:
    The second part of the graduation project focuses on the implementation and delivery of the software solutions proposed in Part I. The course includes: Implementing the software system using the technologies and tools agreed upon in Part I. Conducting comprehensive tests to ensure the system meets the specified requirements and to guarantee its quality. Writing the final report, which includes complete documentation of all stages from analysis to implementation. Presenting the project to a panel of professors and supervisors and engaging in discussions with them. The course enables students to provide innovative and practical solutions to software challenges and helps them develop their presentation and communication skills.
    SWE 481 - Software security - mandatory
    Credits
    3
    Theoretical
    2
    Pratical
    2
    Training
    Total Content
    4
    Prerequisite
    Course Description:
    This course focuses on ensuring the security of software and protecting it from cyberattacks and threats. Topics include: Data protection methods through encryption, key management, and authentication techniques. Strategies for securing software against common security vulnerabilities such as SQL Injection and Cross-Site Scripting (XSS). Methods for detecting security vulnerabilities and penetration testing. Security practices integrated into the design and development stages. The course aims to train students to build secure software capable of withstanding cyberattacks.
    EDU 102 - Volunteer Work - optional 3
    Credits
    2
    Theoretical
    2
    Pratical
    Training
    Total Content
    2
    Prerequisite
    Course Description:
    This course explores the concept of volunteerism and its importance in contributing to societal development. Students will learn about the benefits of volunteering, its impact on communities, and the various fields in which volunteer work is vital. The course also focuses on developing practical skills for organizing and managing volunteer activities, encouraging students to engage in volunteer opportunities and contribute to positive social change.
    BUS 101 - Entrepreneurship - optional 3
    Credits
    2
    Theoretical
    2
    Pratical
    Training
    Total Content
    2
    Prerequisite
    Course Description:
    Covers the fundamentals of entrepreneurship, including starting small businesses, market analysis, marketing strategies, and business plan development.
    Contact