Bachelor of Science in Computer Science

Fully Online
36 months
4500 hours | 180 ECTS
Degree
Scaler Neovarsity
Accreditation:
EQF6

About

The course teaches students comprehensive and specialized subjects in computer science; it develops skills in critical thinking and strategic planning for changing and fast-paced environments, including technological and operational analysis; and it develops competences in leadership, including autonomous decision-making, and communication with team members, stakeholders, and other members of a business.

  • Target Group

    • The course is suited for undergraduate students considering a career in technology or the innovation (start-up) economy. The overall programme is designed for those with little or no background in computer programming and only EQF 4 level mathematical knowledge is required. The target group should be prepared to pursue substantial academic studies fitting to the EQF 5-6 level.

  • Mode of attendance

    • Full-Time and Part-Time

  • Structure of the programme

    • Please note that this structure may be subject to change based on faculty expertise and evolving academic best practices. This flexibility ensures we can provide the most up-to-date and effective learning experience for our students.

    • The BS in Computer Science degree combines asynchronous components (lecturevideos, readings, and assignments) and synchronous meetings attended by students and a teacher during a video call. Asynchronous components support the schedule of students from diverse work-life situations, and synchronous meetings provide accountability and motivation for students.

    • The BS in Computer Science is composed of 3 tiers:

      • TIER ONE (60 ECTS)

      • TIER TWO (60 ECTS)

      • TIER THREE (60 ECTS)

    • Each module consists of both regular units and final units devoted to synthetic summaries and examination. Students typically complete one assignment per unit, which is the topic of the synchronous discussion. Final assessment units allow students to deepen their cumulative, synthetic grasp of the course contents.

  • Grading System

    • Scale: 0-100 points

    • Components: 60% of the mark derives from the average of the assignments, and 40% of the mark derives from the cumulative examination

    • Passing requirement: minimum of 60% overall

  • Dates of Next Intake

    • Rolling admission

  • Pass rates

    • Cohort pass rates will be publicised in the next cycle, contingent upon ensuring sufficient student data for anonymization.

  • Identity Malta’s VISA requirement for third country nationals: https://www.identitymalta.com/unit/central-visa-unit/

Supporting your global mobility
Supporting your global mobility

Global Recognition

Woolf degrees align with major international qualification frameworks, ensuring global recognition and comparability. Earn your degree in the most widely recognized accreditation system in the world.

Learn More About Degree Mobility

Our accreditation through the Malta Further and Higher Education Authority (MFHEA) provides a solid foundation for credential recognition worldwide.

Success stories
Success stories

How students have found success through Woolf

"As a working parent, I needed something flexible and manageable. Woolf’s structure fit me perfectly. I was nervous at first, balancing work, parenting, and midnight classes, but the support, resources, and sense of community kept me going."
Andreia Caroll
Clinical Research Nurse
“Woolf and Scaler’s hands-on Master’s program gave me the practical skills and confidence I was missing after my undergraduate degree. Real projects, professional tools, and mentorship transformed how I think, build, and solve problems — leading me to a career as a Software Engineer.”
Bhavya Dhiman
Master’s in Computer Science
"Woolf provided me flexibility, a strong community, and high quality education. It really broadened my perspective and significantly improved my communication skills. I graduated not just more knowledgeable, but also more confident and well-rounded."
Brian Etemesi
Software Engineer
“Woolf’s flexible, accredited program gave me structure, community, and the confidence to grow. From landing my dream internship to winning a hackathon, Woolf opened doors and shaped both my career and mindset.”
Dominion Yusuf
Higher Diploma in Computer Science
"As a working parent, I needed something flexible and manageable. Woolf’s structure fit me perfectly. I was nervous at first, balancing work, parenting, and midnight classes, but the support, resources, and sense of community kept me going."
Andreia Caroll
Clinical Research Nurse
“Woolf and Scaler’s hands-on Master’s program gave me the practical skills and confidence I was missing after my undergraduate degree. Real projects, professional tools, and mentorship transformed how I think, build, and solve problems — leading me to a career as a Software Engineer.”
Bhavya Dhiman
Master’s in Computer Science
"Woolf provided me flexibility, a strong community, and high quality education. It really broadened my perspective and significantly improved my communication skills. I graduated not just more knowledgeable, but also more confident and well-rounded."
Brian Etemesi
Software Engineer
“Woolf’s flexible, accredited program gave me structure, community, and the confidence to grow. From landing my dream internship to winning a hackathon, Woolf opened doors and shaped both my career and mindset.”
Dominion Yusuf
Higher Diploma in Computer Science
Learning Outcomes for Skills obtained at the end of the programme - Students demonstrate some application of theoretical and practical knowledge in responding to problems. - Students formulate their ideas in clearly structured conventional formats and use appropriate evidence to support their claims. - Students will monitor, evaluate, and adjust their own learning needs in order to succeed as independent learners. - Students will also collect and analyse data to respond to both well-defined practical problems and well-specified abstract problems.

Course Structure

Emerging Technologies in AI
75 hours | 3 ECTS

About

Through the course, students will recognize emerging technologies in AI, describe their potential impact on society and industry, and discuss their ethical and social implications. By the end of the module, students will have gained a comprehensive understanding of emerging technologies in AI and their impact, preparing them to make informed decisions about the adoption and development of AI technologies in their future roles.

Teachers

Priti Mondal
Priti Mondal
Piyali Mondal Amitava Mondal
Piyali Mondal Amitava Mondal
Anupriya J
Anupriya J

Intended learning outcomes

Knowledge
  • Learn potential future developments in AI and their anticipated effects on society and industry.
  • Evaluate the implications of AI technologies on different industries.
  • Describe how emerging AI technologies can impact societal norms, ethics, and privacy.
Skills
  • Analyze how these technologies are currently being applied in various fields.
  • Identify and describe key emerging technologies in AI, such as deep learning and natural language processing.
  • Apply knowledge of these technologies to solve practical problems in AI.
Competencies
  • Monitor and assess the ethical and social implications of AI technology adoption in professional environments.
  • Analyze the processes involved in developing and implementing AI solutions.
  • Evaluate different strategies for adopting AI technologies in professional settings.
Optimizing Your Learning
75 hours | 3 ECTS

About

Optimizing Your Learning aims to transform incoming first year students into effective and empowered self-directed learners. In the modern world, long-term academic, professional, and personal success is driven by the ability of individuals to take control of their learning. Therefore, this course helps students to develop the knowledge, skills, and mindsets necessary to take ownership of their learning and build their self-efficacy. During the course, students will develop competence in skills that are most critical for effective self-directed and self-regulated learning (i.e. self-management, self-monitoring, and self-modification), while also learning how to use learning strategies to maximize their overall learning efficiency and efficacy. They will also utilize the Emotional Intelligence framework to explore their identity, self-image, motivation, and self-regulation skills, to support their development as self-directed learners. The course culminates in the creation of a personal learning charter that will help guide students in their learning throughout their undergraduate studies, which can also be applied to their learning activities in other realms of their lives.

Teachers

Priti Mondal
Priti Mondal
Noor Un Nisa Ali Nawaz
Noor Un Nisa Ali Nawaz
Anupriya J
Anupriya J
Anesh Jayantilal Soni
Anesh Jayantilal Soni

Intended learning outcomes

Knowledge
  • Cultivate strategic and creative responses in the search for solutions to well-defined concrete and abstract problems related to self-awareness.
  • Have knowledge of self-directed learning and study-patterns, demonstrated by creating a personal learning charter that will help guide students in their learning throughout their undergraduate studies .
  • Make judgments based on knowledge of the rules and conventions for the proper use of self-awareness, and demonstrate knowledge of the social and ethical issues relevant to self-directed learning.
Skills
  • Evaluates their own learning and identifies the learning deficits to address in further learning.
  • Communicate ideas in a well-structured, coherent format, following appropriate conventions in the field of technology.
  • Ability to apply theoretical and practical knowledge for the purpose of attaining long-term academic, professional, and personal success.
  • Can select appropriate evidence when formulated responses to well-defined concrete and abstract problems of personal career and education planning and success.
Competencies
  • Display creativity and initiative in carrying out self-directed learning.
  • Possess the academic competences to undertake further studies in emotional competence with a degree of autonomy.
  • Monitor and review their own performance and the performance of others; where appropriate collaboratively train others in the correct approach to develop a reflective practice to support deep learning.
  • Independently manage external perceptions that require techniques of self-reflection and self-evaluation.
Communicating for Success
75 hours | 3 ECTS

About

Communicating for Success supports students in developing communication skills that are essential for success in their personal and professional lives. The course will focus on close reading, written communication, verbal communication, and non-verbal communication skills. An emphasis will be placed on weekly submissions, and peer and instructor feedback, to allow students to practice and improve their skills. Students will learn how to effectively read and analyze texts as a precursor to developing their own written communication skills. They will then practice crafting clear communications by learning about topics such as writing structure and organization, grammar, audience awareness, and the iterative writing process. Next, students move on to verbal communication, and will learn how to confidently and skillfully deliver effective oral presentations. Finally, students will learn about the impact of non-verbal communication on how their messages are received. The course will culminate in a project that will require students to develop and implement a strategy for communicating a technical topic to a non-technical audience.

Teachers

Rajnarayan Krishnan
Rajnarayan Krishnan
Rekha Shray Shewakramani
Rekha Shray Shewakramani
Priti Mondal
Priti Mondal
Harshini Esther
Harshini Esther
Piyali Mondal Amitava Mondal
Piyali Mondal Amitava Mondal

Intended learning outcomes

Knowledge
  • Understand writing structure and organization, grammar, the role of audience awareness, and the iterative writing process, demonstrated by delivering effective written and oral presentations.
  • Cultivate close reading skills, written communication skills, verbal communication skills, and non-verbal communication skills.
  • Make judgments based on knowledge of the rules and conventions for the proper forms of communication, and demonstrate knowledge of the social and ethical issues relevant to communication.
Skills
  • Evaluates their own learning and identifies the learning deficits to address in further learning.
  • Having the ability to choose appropriate evidence when formulating responses to well-defined concrete and abstract problems of communicating technology to a non-technical audience.
  • Communicate ideas in a well-structured, coherent format, following appropriate conventions in the field of communication.
  • Cultivate close reading skills, written communication skills, verbal communication skills, and non-verbal communication skills.
Competencies
  • Independently manage a project requiring implementing a strategy for communicating a technical topic to a non-technical audience.
  • Possess the academic competences to undertake further studies in communication with a degree of autonomy.
  • Display creativity and initiative in carrying out complex ideas and arguments, and distill them in their components, assumptions, and evidence.
  • Monitor and review their own performance when seeking to craft clear communications.
Fundamentals of AI and ML
150 hours | 6 ECTS

About

This module introduces the fundamentals of Artificial Intelligence (AI) and Machine Learning (ML). Students will learn the definition of AI and ML, their evolution, and their applications in various fields. They will also explore the different types of machine learning algorithms, including supervised, unsupervised, and reinforcement learning. Through hands-on exercises and case studies, students will gain practical knowledge and experience in applying machine learning algorithms to real-world problems.Moreover, this module covers the principles of selecting the appropriate machine learning algorithm for a given problem. Students will learn about the factors that influence algorithm selection, such as data type, problem complexity, and performance requirements. They will also explore the principles of model training, validation, and testing, and gain practical knowledge and experience in evaluating machine learning models. By the end of this module, students will have a thorough understanding of AI and ML, be able to identify different types of machine learning algorithms, and select the appropriate algorithm for a given problem.

Teachers

Priti Mondal
Priti Mondal
Maria Monica
Maria Monica
Anupriya J
Anupriya J

Intended learning outcomes

Knowledge
  • Learn the importance of responsible AI development and the potential consequences of AI deployment in various sectors.
  • Understand key concepts such as classification, regression.
  • Gain a thorough understanding of the foundational principles of AI and ML, including the difference between AI, ML, and deep learning, and their respective roles in modern technology.
Skills
  • Learn to train, validate, and test AI and ML models, using metrics such as accuracy, precision, recall, F1-score, and confusion matrices.
  • Develop the ability to design, implement, and evaluate basic artificial intelligence (AI) and machine learning (ML) algorithms
  • Acquire skills in collecting, cleaning, and preprocessing datasets for AI and ML applications, including techniques for handling missing data, feature scaling, and data normalization.
Competencies
  • Develop the competency to innovate by adapting existing AI and ML techniques to new problems or by combining multiple techniques to achieve better results.
  • Exhibit the ability to critically evaluate AI and ML models, identifying their strengths and limitations.
  • Competently design and execute end-to-end AI and ML projects, from problem definition and data collection to model deployment and performance evaluation.
Web Application Development
150 hours | 6 ECTS

About

This course builds on Web Foundations, and provides a comprehensive introduction to client and server-side development for the web. In this project-based course, students will work independently to build a web application, and progressively apply new knowledge to their application. Students deepen their knowledge of HTML and learn advanced CSS, including how to use CSS variables and modern frameworks for motion and interaction. They learn about accessible web design, and how to create websites and apps that work well on mobile devices, and that support use of assistive technologies like screen readers. Students will build the front-end of a web application using HTML, CSS and JavaScript then write a supporting back-end using either a JavaScript or Python framework. In doing so, they will demonstrate knowledge of the request-response structure, database management, and JSON-based APIs. Students will also apply technical communication skills by writing technical specs, drafting architecture diagrams, and documenting APIs.

Teachers

Priti Mondal
Priti Mondal
Piyali Mondal Amitava Mondal
Piyali Mondal Amitava Mondal
Anupriya J
Anupriya J

Intended learning outcomes

Knowledge
  • Have knowledge of web development tools, demonstrated by writing technical specification documentation.
  • Gain exposure to accessible web design, understanding the principles of how to create websites and apps that work well on mobile devices, and that support use of assistive technologies like screen readers.
  • Cultivate strategic and creative responses in the search for solutions to well-defined concrete and abstract problems related to web development tools.
  • Demonstrate knowledge of the request-response structure, along with database management and JSON-based APIs.
Skills
  • Communicate ideas in a well-structured, coherent format, following appropriate conventions in the field of technology.
  • Work independently to build a web application, trouble-shooting problems as they rise using self-directed research techniques.
  • Ability to solve front-end web application problems related to design requirements using HTML, CSS and JavaScript.
  • Evaluates their own learning and identifies the learning deficits to address in further learning
Competencies
  • Possess the academic competences to undertake further studies in web application development with a degree of autonomy.
  • Monitor and review their own performance and the performance of others; where appropriate collaboratively train others in the correct approach to computer web application development.
  • Build the front-end of a web application using HTML, CSS and JavaScript then write a supporting back-end using either a JavaScript or Python framework.
  • Independently manage projects that require techniques related to building web applications where the correct use of client and server-side development for the web is essential.
Mathematical Thinking
150 hours | 6 ECTS

About

This course helps students develop the ability to think logically and mathematically. It prepares students for more advanced courses in algorithms and discrete mathematics. An emphasis is placed on the ability to reason logically, and effectively communicate mathematical arguments. The course begins with a brief review of number systems, and their relevance to digital computers. Students review the algebraic operations necessary to perform programming functions. In the unit on logic and proofs, students learn to identify, evaluate, and make convincing mathematical arguments. They are introduced to formal logic, and methods for determining the validity of an argument (truth tables, proofs, Venn Diagrams). Students learn to decompose problems using recursion and induction, and how these methods are used in real-world computational problems. The final unit is an introduction to counting and probability. Topics covered include principles of counting, permutations, combinations, random variables, and probability theory. Throughout the course, students apply their knowledge by solving logic puzzles and creating programs in Python.

Teachers

Priti Mondal
Priti Mondal
Anupriya J
Anupriya J

Intended learning outcomes

Knowledge
  • Cultivate strategic and creative responses in the search for solutions to well-defined concrete and abstract problems related to logic and proofs.
  • Make judgments, relevant to real-world computational problems, based on knowledge of the principles of counting, permutations, combinations, random variables, and probability theory.
  • Display knowledge of algebraic operations in order to perform programming functions that builds upon advanced general education, though at a level still supported by advanced textbooks.
Skills
  • Ability to apply theoretical and practical knowledge in the creation of solutions for problems related to mathematical arguments.
  • Can select appropriate evidence when formulated responses to well-defined concrete and abstract problems of algebraic operations.
  • Identify, evaluate, and make convincing mathematical arguments which are communicated in a well-structured, coherent format, following appropriate conventions.
  • Decompose problems using recursion and induction in the context of real-world computational problems.
Competencies
  • Develop the ability to think logically and mathematically at a level that prepares students for more advanced courses in algorithms and discrete mathematics.
  • Monitor and review their own performance and the performance of others; where appropriate collaboratively train others in the correct approach to effectively communicate mathematical arguments.
  • Display creativity and initiative in carrying out algebraic operations necessary to perform programming functions.
  • Possess the academic competences to undertake further studies in advanced courses in algorithms and discrete mathematics with a degree of autonomy.
Industry Experience 1
300 hours | 12 ECTS

About

Industry Experience is a form of experiential learning that enables students to apply their academic knowledge in a professional context. Students work to build software that meets the needs of a professional organization by completing either (1) an approved internship, or (2) a product studio. During the internship, students work on tasks that meet the needs of the organization, guided by an on-site supervisor. Internships must entail significant, substantial computer science. In the studio, external clients (e.g., businesses, non-profits) sponsor a software development project completed by students. A typical end result is a prototype of or a fully functional software system ready for use by the clients. These projects are completed by teams of 4-6 students, who meet with the client weekly to share progress and get feedback. Students complete online modules under the supervision of a faculty advisor. Pre-work includes instruction in communication, goal-setting, and professional development. During the industry experience, students submit bi-weekly written reflections on their personal goals, challenges, and, for the studio, team feedback. At the end of the term, students obtain written feedback from their organization supervisor.  They also submit a final report which describes the problem statement, approaches/methods used, deliverables, and skills gained. Industry Experience culminates in a final presentation which is shared as a public blog post.

Teachers

Harshini Esther
Harshini Esther
Piyali Mondal Amitava Mondal
Piyali Mondal Amitava Mondal
Anupriya J
Anupriya J
Anesh Jayantilal Soni
Anesh Jayantilal Soni

Intended learning outcomes

Knowledge
  • Make judgments based on knowledge of the rules and conventions for the proper use of communication and demonstrate knowledge of the social and ethical issues relevant to technology.
  • Understand a range of tools and techniques used in professional settings.
  • Utilize detailed theoretical and practical knowledge essential to industry experience.
  • Have industry-relevant knowledge that goes beyond advanced general education textbooks and is applicable to the field of technology.
Skills
  • Translate business requirements that meet the needs of the organization into actionable software development tasks.
  • 1. Implement knowledge and understanding in a way that demonstrates professionalism in a field of technology.
  • Communicate academic knowledge and skills in a well-structured, coherent format, following appropriate conventions in the field of technology.
Competencies
  • Possess the academic competences to undertake further studies in professional development with a high degree of autonomy.
  • Demonstrates administrative planning, resource management, and team management as well as handling unpredictable and complex issues in a professional setting.
  • Show creativity and initiative to develop projects with effective communication.
Computer Systems
150 hours | 6 ECTS

About

This course explores computing beyond software. Students will go a level deeper to better understand the hardware and see how computers are built and programmed.  It is modelled on the popular, project based “Nand to Tetris” textbook, which walks learners through building a computer from scratch.  It aims to help students become better programmers by teaching the concepts underlying all computer systems. The course integrates many of the topics covered in other computer science courses, including algorithms, computer architecture, operating systems, and software engineering.

Students will learn how to build a computer system using progressive steps.  The course starts with a brief review of Boolean algebra, and an introduction to logic gates. Students design a set of elementary logic gates using a Hardware Description Language. They then build chips to perform arithmetic and logical operations and build the computer’s main memory unit. Subsequently, students learn to write low-level machine language, and build a CPU to create a fully functional computer system. Finally, students implement a virtual machine, compiler, and basic operating system. Projects are spread out evenly throughout the course, and are completed in pairs.

By the end of the course, students will develop a strong understanding of the relationships between the architecture of computers, and software that runs on them.

Teachers

Piyali Mondal Amitava Mondal
Piyali Mondal Amitava Mondal
Rupal
Rupal
Anupriya J
Anupriya J

Intended learning outcomes

Knowledge
  • Computer systems, including algorithms, computer architecture, operating systems, and software engineering.
  • The computer science disciplines essential to designing and building general purpose computer systems.
  • Boolean algebra, and logic gates.
Skills
  • Complete projects related to computer system building, while working collaboratively.
  • Write low-level machine language.
  • Consistently evaluates own learning and identifies learning needs.
  • Communicate with clarity about the relationships between the architecture of computers, and software that runs.
  • Build a computer from scratch
Competencies
  • Understanding the relationships between the architecture of computers, and the software that runs on them, to the extent of building a CPU to create a fully functional computer system.
  • Design a set of elementary logic gates using a Hardware Description Language.
  • Possess the academic competences to undertake further studies of the concepts underlying all computer systems.
Database Management
150 hours | 6 ECTS

About

The module's primary learning outcomes are for students to identify different types of database management systems, describe their components, and explain the importance of database normalization. Through the course, students will learn about database design, normalization, and optimization. They will also learn how to use SQL to manipulate and retrieve data from databases. The module emphasizes hands-on learning through database design and development projects. By the end of the module, students will have gained a comprehensive understanding of database management systems and their importance in AI and ML applications. They will be able to identify different types of database management systems and their components, and apply the concepts of database normalization to design and develop efficient databases. This knowledge will prepare them for more advanced courses in the curriculum and for database management roles in the industry.

Teachers

Piyali Mondal Amitava Mondal
Piyali Mondal Amitava Mondal
Mohamed Irfan Shaikh
Mohamed Irfan Shaikh
Anupriya J
Anupriya J

Intended learning outcomes

Knowledge
  • Learn about data consistency and integrity constraints, and how they are enforced within a DBMS.
  • Understand the core principles of database management systems, including relational databases, data models, and database architecture.
  • Gain in-depth knowledge of data storage mechanisms, indexing, and file organization techniques, and how they impact database performance.
Skills
  • Acquire skills in database administration, including tasks such as backup, recovery, user management, and performance tuning.
  • Gain proficiency in constructing efficient and normalized database schemas that meet specific requirements.
  • Master the use of SQL (Structured Query Language) to create, manipulate, and query databases effectively.
Competencies
  • Demonstrate the ability to design and implement robust and efficient databases that meet the needs of various applications and industries.
  • Apply knowledge of database management to real-world scenarios, such as developing databases for business applications, managing large-scale databases, and implementing data-driven solutions.
  • Exhibit the ability to solve complex problems related to database management, such as optimizing query performance, managing large datasets, and ensuring data security.
Programming 1
150 hours | 6 ECTS

About

The course helps students develop an appreciation for programming as a problem-solving tool. It teaches students how to think algorithmically and solve problems efficiently, and serves as the foundation for further computer science studies.

Using a project-based approach, students will learn to manipulate variables, expressions, and statements in Python, and understand functions, loops, and iterations. Students will then dive deep into data structures such as strings, files, lists, dictionaries, tuples, etc. to write complex programs. Over the course of the term, students will learn and apply basic data structures and algorithmic thinking. Finally, the course will explore design and implementation of web apps in Python using the Flask framework.

Throughout the course, students will be exposed to abstraction and will learn a systematic way of constructing solutions to problems. They will work on team projects to practice pair programming, code reviews, and other collaboration methods common to industry. The course culminates in a final group project and presentation during which students demonstrate and reflect on their learning.

Teachers

Piyali Mondal Amitava Mondal
Piyali Mondal Amitava Mondal
Anupriya J
Anupriya J

Intended learning outcomes

Knowledge
  • Make judgments based on knowledge of an abstract, systematic way of constructing solutions to problems.
  • Cultivate strategic and creative responses to problems for which the solutions require a knowledge of data structures such as strings, files, lists, dictionaries, or tuples.
  • Have an introductory knowledge of programming as a problem-solving tool, demonstrated by identifying the jobs to be done and implementing software solutions, such as web-based apps in Python using a Flask framework.
Skills
  • Can select appropriate evidence and formulate code reviews to support the work of others.
  • Evaluates their own learning and identifies the learning deficits to address in further learning.
  • Ability to use abstraction and systematically construct solutions to problems.
  • Communicate ideas in a well-structured, coherent format, following appropriate conventions pair programming and online code collaboration.
Competencies
  • Possess the academic competences to undertake further studies in computer science with a degree of autonomy.
  • Display creativity and initiative in writing complex programs requiring application of a knowledge of basic data structures and algorithmic thinking.
  • Independently manage projects that require programming as a problem-solving tool, requiring the manipulation of variables, expressions, and statements.
  • Monitor and review their own performance and the performance of others; where appropriate collaboratively train others in the correct approach to programming.
Operating Systems
75 hours | 3 ECTS

About

The module's primary learning outcomes are for students to classify different types of operating systems, including Windows, macOS, and Linux, and to describe the functions of an operating system, such as process and memory management.Through the course, students will learn about the architecture and components of operating systems, including user interfaces, device drivers, and file systems. They will also gain an understanding of system calls and APIs, and how to use them to interact with an operating system. By the end of the module, students will have gained a comprehensive understanding of operating systems, their functions, and their importance in computer science and AI. They will be able to identify the different types of operating systems and describe their functions and features. This knowledge will prepare them for more advanced courses in the curriculum that involve developing AI and ML applications on different operating systems.

Teachers

Piyali Mondal Amitava Mondal
Piyali Mondal Amitava Mondal
Mohamed Irfan Shaikh
Mohamed Irfan Shaikh
Maria Monica
Maria Monica
Anupriya J
Anupriya J

Intended learning outcomes

Knowledge
  • Recognize and describe the characteristics of major operating systems like Windows, macOS, and Linux.
  • Analyze the architectural differences and common features among various operating systems.
  • Understand how different operating systems support specific application environments and user interfaces.
Skills
  • Learn how operating systems allocate and manage memory resources effectively.
  • Understand how operating systems handle the creation, scheduling, and termination of processes.
  • Apply logical reasoning to explain how operating systems optimize resource usage through process and memory management.
Competencies
  • Develop and apply skills to use system calls and APIs for performing basic tasks and interacting with the operating system effectively.
  • Create and implement a plan to monitor the development and impact of AI technologies, making adjustments as necessary to optimize outcomes.
  • Apply APIs to facilitate communication between applications and the operating system.
Challenge Studio I
150 hours | 6 ECTS

About

In Challenge Studio 1, students will work in groups to design, develop, and test a solution to a development challenge of their choice. The focus of this course is to provide students with the tools and skills to create meaningful technology solutions(e.g. services, products) to a sustainable development problem. This course builds on the problem identification and analysis skills that were developed in Engineering forImpact, the product management skills that were developed in Product Management and Design, and the ethical engineering skills developed in Ethics in Tech. At the end of Challenge Studio 1 students will submit a Minimum Viable Product (MVP)that is ready to go to market as their final project deliverable.The course will utilize virtual studio time, where groups work together on the key incremental tasks that are required to allow them to successfully create their final project output. Studio time will be supported by lectures, seminars, and learning resources on useful skills such as human centered design, end user identification, requirements gathering, value creation, impact measurement, and creative thinking and innovation.

Teachers

No items found.

Intended learning outcomes

Knowledge
  • Core strategies of problem formulation; user research; and build, measure, learn cycles - demonstrated by submitting a Minimum Viable Product (MVP) that provides a solution to a defined problem.
  • The rules and conventions of problem identification, product management, and sprint management.
  • Human centered design principles, end user identification strategies; best practices for requirements gathering and impact measurement.
Skills
  • Ability to apply theoretical and practical knowledge to the decomposition of problems into actionable tasks.
  • Communicate ideas in a well-structured, coherent format, following appropriate conventions.
  • Consistently evaluates own learning and identifies learning needs.
  • Select appropriate evidence and technologies when formulating responses to well-defined concrete and abstract problems in the domain of Human Centered Design and End User requirements.
Competencies
  • Work as a team to develop a Minimum Viable Product or prototype that provides a practical solution for an identified problem.
  • Possess the academic competences to undertake further collaborative projects leading to an MVP or prototype when solving a well-defined user problem.
  • Organise and execute upon a detailed project plan that employs progress tracking methods using appropriate metrics and tools.
Cyber Security Fundamentals
150 hours | 6 ECTS

About

The Cyber Security Fundamentals covers the basics of cybersecurity threats, principles, and measures. It equips students with the knowledge to identify different types of cyber attacks, understand cybersecurity principles, and select appropriate security measures to safeguard against attacks. The course is designed to ensure that students have a foundational understanding of cybersecurity, which is increasingly important in today's digital landscape where cyber threats are becoming more sophisticated and prevalent. Furthermore, this module covers the principles of security monitoring and incident response. Students will learn to analyze and interpret security event data to detect and respond to security incidents. They will gain practical knowledge and experience in using security incident response procedures, including identification, containment, eradication, and recovery. Additionally, students will learn to document security incidents and produce incident response reports.

Teachers

No items found.

Intended learning outcomes

Knowledge
  • Describe how to analyze security event data for detecting and responding to incidents.
  • Explain principles of cybersecurity, including risk management, security policies, and best practices.
  • Understand how to document security incidents and create incident response reports.
Skills
  • Apply security incident response procedures to handle security incidents effectively.
  • Execute and operate basic security tools and techniques to identify and remediate security vulnerabilities in computer systems and networks.
  • Define and identify the different types of cyber threats and attacks, such as malware, phishing, and denial-of-service attacks.
Competencies
  • Analyze security event data to detect and respond to incidents.
  • Apply risk management principles to assess and mitigate cybersecurity risks.
  • Develop and implement security measures to protect against cyber attacks.
Explorative Data Analysis and Visualization
150 hours | 6 ECTS

About

This module covers the fundamentals of explorative data analysis and visualization. Students will learn how to execute exploratory data analysis techniques and interpret the results to identify patterns and trends in data. They will also learn how to use data visualization tools to present and communicate insights from data. The module will teach students to compare and contrast different visualization techniques and select the appropriate one for a given data set.

Teachers

Mark Anthony Naval
Mark Anthony Naval
Abdalla Mohamed Mahmod Fathi Elnekiti
Abdalla Mohamed Mahmod Fathi Elnekiti
Piyali Mondal Amitava Mondal
Piyali Mondal Amitava Mondal
Maria Monica
Maria Monica
Anupriya J
Anupriya J

Intended learning outcomes

Knowledge
  • Understand the various data visualization techniques and their applications.
  • Interpret visual data to draw meaningful insights.
  • Recognize patterns, trends, and outliers in data through exploratory analysis.
Skills
  • Execute exploratory data analysis to identify patterns and trends in data.
  • Data visualization tools to create and present clear visual representations of data insights.
  • Apply different visualization techniques based on the data set and analysis needs.
Competencies
  • Assess and select the most appropriate visualization methods for different types of data analysis.
  • Apply exploratory data analysis techniques to identify significant patterns in datasets.
  • Communicate data insights through well-chosen visualization techniques.
Network and Computer Security
150 hours | 6 ECTS

About

Network and Computer Security teaches students the principles and practices of security for software, systems, and networks. It aims to make students critical examiners and designers of secure systems. Students will learn the mathematical and theoretical underpinning of security systems, as well as practical skills to help them build, use, and manage secure systems. The first part of the course is focused on applied cryptography. Students learn general cryptographic protocols and investigate real-world algorithms. The second part of the course covers software and system security, including access controls, trends in malicious code, and how to detect system vulnerabilities. There is a special focus on web security, and modern practices for building secure web architectures. The final section of the course focuses on network security and covers concepts of networking, threats, and intrusion protection. Course projects will require students to think both as an attacker and as a defender, and write programs that examine security design.  Students will also examine recent security and privacy breaches. Working in pairs, they’ll conduct an in-depth investigation, and give a presentation to help classmates understand its technical underpinnings and social implications.

Teachers

No items found.

Intended learning outcomes

Knowledge
  • Understand a range of tools and techniques used in computer security.
  • Modern practices for building secure web architectures.
  • Utilize detailed theoretical and practical knowledge essential to network and computer security, demonstrating a knowledge of software and system security, including access controls, trends in malicious code, and how to detect system vulnerabilities.
  • Network and computer security strategies, demonstrated by preparing both attacker and defender computer programmes.
Skills
  • Communicate security principles in a well-structured, coherent format, following appropriate conventions.
  • Evaluate recent security and privacy breaches, diagnosing the core system vulnerabilities
  • Think both as an attacker and as a defender, and write programs that examine security design.
Competencies
  • Show creativity and initiative to read and analyze a variety of cryptographic algorithms and protocols.
  • Possess the academic competences to undertake further studies in network and computer security with a high degree of autonomy.
  • Demonstrates administrative planning, resource management, and team management as well as handling unpredictable and complex issues relating to network and computer security.
Programming in Python
150 hours | 6 ECTS

About

This module is designed to provide students with the necessary knowledge and skills to use Python programming language for developing and implementing machine learning algorithms. Students will learn how to use popular Python libraries such as NumPy, Pandas, and Scikit-learn to perform data preprocessing, feature engineering, and model training. They will also be able to analyze and interpret machine learning results using Python and make data-driven decisions based on them. Through practical exercises and projects, students will gain hands-on experience in using Python for machine learning and be well-prepared for a career in the field of artificial intelligence and machine learning.

Teachers

No items found.

Intended learning outcomes

Knowledge
  • Utilize detailed theoretical and practical knowledge essential to developing solutions using Python programming.
  • Demonstrate knowledge of the rules and conventions for the proper use of Python ina software development environment.
  • Understand a range of techniques used in Python, including variables, expressions, conditional execution, functions, loops, and iterations.
  • Python commands, demonstrated by the ability to construct complex programs from simple instructions.
Skills
  • Compose Python programs in a well-structured, coherent format, following appropriate conventions.
  • Think algorithmically and solve problems efficiently using Python.
  • Implement knowledge and understanding in a way that demonstrates professionalism in team collaboration.
  • Have the ability to analyze Python programs in a code review, or receive feedback in a code review, in order to make substantial improvements to a program.
Competencies
  • Demonstrates planning and time management while handling complex issues relating to Python programming assignments.
  • Possess the academic competences covering variables, expressions, conditional execution, functions, loops, and iterations, and demonstrate an ability to undertake further studies in related topics with a degree of autonomy.
  • Show creativity and initiative to develop projects related to Python programming.
Data Structures and Algorithms 1
150 hours | 6 ECTS

About

This course teaches the fundamentals of data structures and introduces students to the implementation and analysis of algorithms, a critical and highly valued skill for professionals. Students start by examining the basic linear data structures: linked lists, arrays, stacks, and queues. They learn how to build these structures from scratch, represent algorithms using pseudocode, and translate these into running programs. They apply these algorithms to real-life applications to understand how to make complexity and performance tradeoffs. Students will also learn how to develop algorithms for sorting and searching, use iteration and recursion for repetition, and make tradeoffs between the approaches. They will learn to estimate the efficiency of algorithms, and practice writing and refining algorithms in a programming language. This course emphasises big-picture understanding and practical problem-solving in preparation for technical interviews and professional practice. Throughout the course, students will solve common practice problems, and participate in mock interview sessions. As part of their regular assignments, they will also deepen their understanding of these topics and practice technical communication by writing technical blog posts.

Teachers

Abdalla Mohamed Mahmod Fathi Elnekiti
Abdalla Mohamed Mahmod Fathi Elnekiti
Damilare Peter Oyinloye
Damilare Peter Oyinloye
Priti Mondal
Priti Mondal
Piyali Mondal Amitava Mondal
Piyali Mondal Amitava Mondal
Anupriya J
Anupriya J

Intended learning outcomes

Knowledge
  • Demonstrate analytical thinking skills in the development of algorithms, focusing on sorting and searching. This includes applying analysis, synthesis, and evaluation to employ iteration and recursion effectively, and making informed trade-offs between these approaches based on the specific problem context
  • Understanding of the principles and conventions necessary for the effective use of data structures in problem-solving.
  • Exhibit knowledge of analyzing algorithms, demonstrated by solving common algorithmic technical interview problems.
Skills
  • Evaluates their own learning and identifies the learning deficits to address in further learning.
  • Can select appropriate evidence when formulated responses to well-defined concrete and abstract problems of data structures, especially as relates to technical interview questions.
  • Communicate ideas in a well-structured, coherent format, and practice writing and refining algorithms in a programming language.
  • Ability to apply theoretical and practical when estimating the efficiency of algorithms.
Competencies
  • Independently manage projects that require techniques related to data structures where the correct use of analysis of algorithms is essential.
  • Possess the academic competences to undertake further studies in data structures and algorithms with a degree of autonomy.
  • Represent algorithms using pseudocode and translate these into running programs.
  • Monitor and review their own performance and the performance of others; where appropriate collaboratively guide others in the correct approach to examining data structures
Discrete Math
150 hours | 6 ECTS

About

This course builds on Mathematical Thinking and provides the mathematical foundation needed for many fields of computer science, including data science, machine learning, and software engineering. It focuses on core mathematical areas that are essential in the toolkit of every computer scientist: logic, combinatorics and probability, set theory, graph theory, and elementary number theory. Each topic is covered with a focus on applications in modern computer science. It begins with a unit on logic which builds on previous knowledge, with an emphasis on writing readable and precise code. Probability and combinatorics focuses on analysis of algorithms and reliability. There is an in-depth focus on graph theory, and students explore the numerous applications of graph theory in computer science (data mining, clustering, networking, etc.). Finally, the course introduces number theory, beginning with fundamental results such as the Euclidean Algorithm then applications in cryptography. The course culminates in a final group project where students explore original mathematical sources, and describe the historical proof techniques of a discrete math topic.

Teachers

Priti Mondal
Priti Mondal
Piyali Mondal Amitava Mondal
Piyali Mondal Amitava Mondal
Anupriya J
Anupriya J

Intended learning outcomes

Knowledge
  • A range of tools and techniques used in discrete math.
  • The application of discrete math to key problems in modern computer science.
  • Mathematical areas that are essential in the toolkit of every computer scientist: logic, combinatorics and probability, set theory, graph theory, and elementary number theory.
  • The rules and conventions for the proper use of discrete math.
Skills
  • Evaluate self learning and identify learning need.
  • Ability to construct proofs using a variety of techniques of mathematical reasoning.
  • Devise arguments to solve mathematical problems relevant to web development.
  • Communicate ideas in a well-structured, coherent format, following appropriate conventions in the field of Mathematics.
  • Ability to solve problems in data mining, clustering, and networking using graph theory.
Competencies
  • Show creativity and initiative in analysing algorithms and reliability qualities, using probability and combinatorics.
  • Write readable and precise code that demonstrates an in-depth knowledge of discrete math.
  • Possess the academic competences to undertake further studies in developing arithmetic logic unit solutions.
Engineering for Development
150 hours | 6 ECTS

About

Engineering for Development, Challenge Studio 1, and Challenge Studio 2 are courses that help students investigate the role that technology can play in solving some of the world’s most intractable social and economic development challenges. In Engineering for Development, students will learn how to analyze the root causes of development challenges so that they are able to build effective technology solutions. The course aims to introduce students to selected global development challenges using the United Nations Sustainable Development Goals (SDGs) as the framework for selecting the areas of focus. Each term, the course will focus on 1- 2 subject areas (e.g. Quality Education, Affordable and Clean Energy, Climate Action), which will serve as test cases for students to develop the skills required to effectively analyze and understand complex development issues. Students will examine the system level dynamics that are at the root of these challenges, and will also analyze and critique technology related solutions that have been developed to address these challenges.

Teachers

No items found.

Intended learning outcomes

Knowledge
  • Make judgments based on knowledge of the rules and conventions for the proper use of engineering for collaboratively solving a problem.
  • Utilize detailed theoretical and practical knowledge essential to engineering for development.
  • Key strategies for decomposing problems into actionable engineering solutions.
  • Understand a range of tools and techniques used in engineering for development.
Skills
  • Implement knowledge and understanding in a way that demonstrates professionalism.
  • Devise and actionable plans for solving a complex but scoped problem
  • Communicate engineering solutions to a problem in a well-structured, coherent format, following appropriate conventions for technical documentation.
  • Consistently evaluates own learning and identifies learning needs.
Competencies
  • Analyze the root causes of development challenges, formulating and executing upon effective technology solutions.
  • Demonstrates administrative planning, resource management, and team management as well as handling unpredictable and complex issues relating to solving practical problems with software engineering.
  • Possess the academic competences to undertake further studies in engineering with a high degree of autonomy.
Industry Experience 2
300 hours | 12 ECTS

About

Industry Experience 2 provides a form of experiential learning that enables students to apply their academic knowledge in a professional context. Students work to build software that meets the needs of a professional organization by completing either (1) an approved internship, or (2) a product studio. During the internship, students work on tasks that meet the needs of the organization, guided by an on-site supervisor. Internships must entail significant, substantial computer science. In the studio, external clients (e.g., businesses, non-profits) sponsor a software development project completed by students. A typical end result is a prototype of or a fully functional software system ready for an end user. These projects are completed by teams of 4-6 students, who meet with the clients or other end users weekly to share progress and get feedback. Students complete online modules under the supervision of a faculty advisor. Pre-work includes instruction in communication, goal-setting, and professional development. During the industry experience, students submit bi-weekly written reflections on their personal goals, challenges, and, for the studio, team feedback. At the end of the term, students obtain written feedback from their organization supervisor.  They also submit a final report which describes the problem statement, approaches/methods used, deliverables, and skills gained. Industry Experience culminates in a final presentation which is shared as a public blog post.

Teachers

Harshini Esther
Harshini Esther

Intended learning outcomes

Knowledge
  • Make judgments based on knowledge of the rules and conventions for the proper use of communication and demonstrate knowledge of the social and ethical issues relevant to technology.
  • Utilize detailed theoretical and practical knowledge essential to industry experience.
  • Understand a range of tools and techniques used in professional settings.
  • Have industry-relevant knowledge that goes beyond advanced general education textbooks and is applicable to the field of technology.
Skills
  • Devises and sustains arguments to solve problems related to professional settings.
  • Communicate academic knowledge and skills in a well-structured, coherent format, following appropriate conventions in the field of technology.
  • Have the ability to gather academic knowledge and skills in order to make informed judgments that reflect on relevant social, scientific, and ethical issues.
  • Consistently evaluates own learning and identifies learning needs.
  • Implement knowledge and understanding in a way that demonstrates professionalism in a field of technology.
Competencies
  • Show creativity and initiative to develop projects with effective communication.
  • Demonstrates administrative planning, resource management, and team management as well as handling unpredictable and complex issues in a professional setting.
  • Possess the academic competences to undertake further studies in professional development with a high degree of autonomy.
AI and Business Analytics
25 hours | 1 ECTS

About

Upon completion of this course, you will gain a deep understanding of how business analytics supports data-driven decision-making in an evolving business landscape. You will explore key analytics frameworks, learning how organisations leverage data to navigate uncertainty and drive strategic growth. Through practical applications, you will differentiate between various data-driven techniques and examine their real-world implementation across industries such as banking and healthcare. Additionally, you will critically assess the challenges and ethical considerations of integrating analytics tools into business processes, equipping you to apply these insights effectively in your organisation.

Teachers

No items found.

Intended learning outcomes

Knowledge
  • Assess the evolution of business analytics and its role in data-driven decision-making.
Skills
  • Analyse business analytics and AI concepts to real-world case study, focussing on enhancing strategic and operational outcomes.
Competencies
  • Evaluate emerging trends, ethical considerations, and risk mitigation strategies in AI and business analytics.
Basics of Financial Valuation
25 hours | 1 ECTS

About

Upon completion of this programme, you will develop a customer-centric and future-oriented marketing mindset to promote sustainable growth in your organisation, or organisations you might work with in the future. Additionally, you will delve into the foundational topic of finance and economics-valuation. You will gain a comprehensive understanding of how key concepts are applied in financial decision-making and investment strategies.

Teachers

No items found.

Intended learning outcomes

Knowledge
  • Develop a customer-centric marketing mindset to drive sustainable business growth.
Skills
  • Analyse company valuation using comparables analysis and financial modelling techniques, including LBO.
  • Apply segmentation, targeting, positioning (STP), and the marketing mix (4Ps) to optimise brand strategies.
Competencies
  • Evaluate key financial valuation methods, including NPV and DCF, to inform investment decisions.
Fundamentals of Operations Management
25 hours | 1 ECTS

About

Upon completion of this programme, you will develop fluency in the fundamental frameworks and analytical tools needed to effectively assess an organisation's strategic landscape. Through a blend of theoretical exploration and practical application, you'll gain the ability to develop insightful strategic recommendations for organisational success. Additionally, you will develop the knowledge and skills to analyse and improve how work is performed in your organisation.

Teachers

No items found.

Intended learning outcomes

Knowledge
  • Understand and assess an organisation’s environment using key frameworks.
Skills
  • Develop strategic recommendations through analysis and research.
  • Apply frameworks to enhance operational efficiency.
Competencies
  • Optimise processes using operations management principles.
Digital Transformation Essentials for Tech Leaders
25 hours | 1 ECTS

About

In this course, you will develop the strategic awareness and practical skills needed to lead digital transformation effectively within your organisation. You will explore the drivers of digital disruption, learn how to critically assess emerging technologies, and understand how to deliver transformation projects that align with organisational goals. You will also gain essential insights into cyber risk: how

to anticipate, mitigate, and respond to threats, and learn how to embed cyber resilience into your leadership approach. Through case studies, frameworks, and reflection exercises, you will build the confidence to lead digital initiatives in an informed, strategic, and future-ready way.

Teachers

No items found.

Intended learning outcomes

Knowledge
  • Identify and mitigate cyber risks to ensure secure digital environments.
  • Analyse the opportunities and risks associated with digital transformation.
Skills
  • Develop and apply strategies to successfully deliver digital transformation initiatives.
  • Critically evaluate emerging technology trends and their organisational impact.
Competencies
  • Lead digital transformation through a cyber resilience lens, aligning with strategic goals and stakeholder expectations.
Computer Vision Fundamentals
150 hours | 6 ECTS

About

In this module, students will learn about the fundamental concepts and techniques used in computer vision. They will explore image processing techniques such as edge detection and image segmentation, and how these techniques are used to analyze and interpret images. The course will cover various object detection algorithms such as YOLO and Faster R-CNN, and how they can be used to detect and classify objects in images. Additionally, students will be able to evaluate the performance of different computer vision models and apply them to real-world problems.

Teachers

Mohamed Irfan Shaikh
Mohamed Irfan Shaikh

Intended learning outcomes

Knowledge
  • Acquire knowledge of advanced computer vision techniques, including deep learning-based methods like CNNs, recurrent neural networks (RNNs) for sequence data.
  • Understand the theoretical foundations behind different techniques and how they are applied to solve complex vision problems.
  • Gain a deep understanding of the core concepts in computer vision, including image formation, camera models, and 3D vision.
Skills
  • Learn to implement deep learning models, particularly convolutional neural networks (CNNs), for complex vision tasks such as image recognition and facial detection.
  • Develop the ability to process and analyze digital images using fundamental techniques such as filtering, edge detection, and segmentation.
  • Acquire skills in applying machine learning algorithms to computer vision problems, including classification, object recognition, and image segmentation.
Competencies
  • Competently apply vision algorithms and deep learning models to analyze visual data, ensuring high accuracy and robustness in diverse environments.
  • Exhibit the ability to integrate computer vision systems with broader AI and ML frameworks, enabling the creation of intelligent systems that can perceive, understand, and interact with their surroundings.
  • Demonstrate the competency to design and implement computer vision solutions that address real-world problems.
Applied Computer Science
375 hours | 15 ECTS

About

This capstone course enables students to demonstrate their proficiency in the technical and human skills that they have acquired throughout their undergraduate studies. The capstone requires students to conceptualise, plan, and implement a software project to completion, and evaluate their project’s processes and outcomes. The capstone builds on the initial project scoping work that was carried out in Capstone Research Methods, which culminated in students submitting a project proposal, and gaining formal approval for their capstone Project Proposal. In this course, students will implement their proposed project with the support of a supervisor. Students with a common supervisor will be put into capstone advisory peer groups and will be required to meet with their group and supervisor regularly to update each other on their capstone progress and to provide feedback. Students will also have regular meetings with their capstone supervisor to provide additional support and guidance throughout the module. Upon completion of their capstone projects, all students will be required to participate in a capstone symposium at the end of the term, where they will present their working projects/prototypes to internal and external stakeholder.

Teachers

No items found.

Intended learning outcomes

Knowledge
  • Make judgments based on knowledge of the rules and conventions for the proper use of capstone projects and demonstrate knowledge of the social and ethical issues relevant to technology.
  • Understand a range of tools and techniques used in completing capstone projects.
  • Utilize detailed theoretical and practical knowledge essential to capstone projects.
  • Project management techniques required to plan, build, and present a software development project, demonstrated by the presentation of the final working project to internal and external stakeholders.
Skills
  • Have the ability to gather qualitative and quantitative data in order to make informed judgments that reflect on relevant social, scientific, and ethical issues.
  • Devises and sustains arguments to solve problems related to the chosen topic of the capstone project, using effective and extensive evidence.
  • Communicate capstone projects in a well-structured, coherent format, following appropriate conventions in the field of technology.
  • Implement knowledge and understanding in a way that demonstrates professionalism in capstone projects.
  • Consistently evaluates own learning and identifies learning needs.
Competencies
  • Show creativity and initiative to develop projects with effective research skills.
  • Possess the academic competences to undertake further research studies with a high degree of autonomy.
  • Demonstrates administrative planning, resource management, and team management as well as handling unpredictable and complex issues in a capstone project.
Interaction Design
150 hours | 6 ECTS

About

This course introduces students to the principles of human-computer interaction (HCI). Students explore how humans process information (perception, memory, attention) in the context of designing and evaluating interfaces. This course complements programming coursework by helping students understand how to design more usable systems. The course builds on previous knowledge of design thinking and expects students to apply the design thinking methodology as a starting point. The first part of the course focuses on designing for multiple platforms. Students create designs that solve a problem on multiple devices (e.g., web, mobile, wearables) and learn how to create a coherent design system as users move between devices. The second part of the course delves into design beyond visual user interfaces, and teaches students how to design for emerging technologies, for example, sensors, controls and ubiquitous computing. Throughout the course, students learn and apply a variety of evaluation methodologies used to measure the usability of design. This is a project-based course and, in each part, students will work in a team to design, prototype and test a solution to a problem. Students will present their designs in class sessions, and practice giving and receiving meaningful critiques.

Teachers

No items found.

Intended learning outcomes

Knowledge
  • Techniques for creating a coherent design system as users move between devices.
  • Sufficient knowledge of Human-Computer Interaction to work in a team to design, prototype and test a solution to a problem.
  • Understand a range of tools and techniques used in Human-Computer Interaction.
  • Make judgments based on knowledge of the rules and conventions for the proper use of Human-Computer Interaction and demonstrate knowledge of the social and ethical issues relevant to technology.
Skills
  • Consistently evaluates own learning and identifies learning needs.
  • Communicate Human-Computer Interaction methods in a well-structured, coherent format, following appropriate conventions in the field of technology.
  • Have the ability to gather and analyze Human-Computer Interaction data in order to make informed judgments that reflect on relevant social, scientific, and ethical issues.
  • Create designs that solve a problem on multiple devices (e.g., web, mobile, wearables) and learn how to create a coherent design system as users move between devices.
  • Evaluate interfaces, identifying problems, and design solutions using insights from the principles of Human-Computer Interaction.
Competencies
  • Design, prototype, and test a solution to an HCI problem using techniques taught in the course.
  • Possess the academic competences to undertake further studies in Human-Computer Interaction with a high degree of autonomy.
  • Show creativity and initiative when designing for emerging technologies like sensors, controls and ubiquitous computing.
Natural Language Processing Fundamentals
150 hours | 6 ECTS

About

This module is designed to equip students with the fundamental concepts and techniques used in natural language processing (NLP). Students will learn how to perform basic NLP tasks such as tokenization, stemming, and part-of-speech tagging. They will also learn about machine learning models for NLP, including supervised and unsupervised learning, and how to evaluate the performance of these models. Additionally, students will gain practical experience designing and developing custom NLP models for specific applications, such as sentiment analysis and named entity recognition. By the end of this module, students will have a solid understanding of NLP and be able to apply their knowledge to real-world problems.

Teachers

No items found.

Intended learning outcomes

Knowledge
  • Discuss the common applications of NLP, such as sentiment analysis, machine translation, and text summarization.
  • Identify and describe supervised and unsupervised machine learning models used in natural language processing.
  • Identify core NLP techniques, including tokenization, stemming, lemmatization, and part-of-speech tagging.
Skills
  • Schedule and analyze the performance of machine learning models for NLP tasks using appropriate evaluation metrics.
  • Operate and apply fundamental NLP techniques, such as tokenization, stemming, and part-of-speech tagging.
  • Design and implement custom NLP models for specific applications like sentiment analysis and named entity recognition.
Competencies
  • Analyze and apply NLP techniques and models to solve real-world problems in areas such as customer feedback analysis or language translation.
  • Assess and evaluate the performance of NLP models using appropriate metrics, including accuracy, precision, and recall.
  • Optimize machine learning models for natural language processing tasks by improving preprocessing, feature extraction, and model selection.
Ethics and Social Implications of AI
75 hours | 3 ECTS

About

In this course, students will discuss ethical considerations in AI, including bias and privacy concerns, and describe social implications, such as the impact on employment and the economy. Students will also identify stakeholders affected by AI and their respective interests. By the end of the module, students will have a comprehensive understanding of ethical and social considerations in AI, preparing them to make informed decisions about the development and use of AI technologies in their future roles.

Teachers

Mark Anthony Naval
Mark Anthony Naval
Noor Un Nisa Ali Nawaz
Noor Un Nisa Ali Nawaz

Intended learning outcomes

Knowledge
  • Describe the social implications of AI, such as its effects on employment, inequality, and the economy.
  • Identify the key stakeholders affected by AI technologies and understand their diverse interests.
  • Discuss the ethical considerations in AI, such as bias, privacy concerns, and data security.
Skills
  • Analyze ethical concerns in AI, including bias, privacy, and fairness in decision-making.
  • Evaluate the impact of AI on various stakeholders, identifying their interests and ethical concerns.
  • Propose solutions to ethical dilemmas in AI development and use, considering long-term societal impacts.
Competencies
  • Assess the broader societal impact of AI technologies, considering both positive and negative effects.
  • Apply ethical reasoning to make informed decisions about AI development and deployment.
  • Advocate for responsible and transparent use of AI, ensuring alignment with ethical standards and social well-being.
Applied AI & ML Project Management
150 hours | 6 ECTS

About

This module covers the principles of Applied AI & ML Project Management, which involves managing projects that utilize artificial intelligence (AI) and machine learning (ML) techniques to solve real-world problems. Students will learn to develop a project timeline that includes task dependencies and identifies potential project risks. They will gain practical knowledge and experience in understanding the principles of project management, including project planning, resource allocation, risk management, and project monitoring. Additionally, students will learn to apply machine learning algorithms to solve problems in various domains such as healthcare, finance, and marketing.Furthermore, this module covers the principles of managing project resources effectively. Students will learn to identify and address resource constraints and ensure team members meet project milestones. They will gain practical knowledge and experience in understanding the principles of project scheduling, team communication, and performance monitoring. Additionally, students will learn to use project management tools and software to manage project resources effectively.

Teachers

Shakhnoza Rakhim Qizi Shamsuddinova
Shakhnoza Rakhim Qizi Shamsuddinova
Maria Monica
Maria Monica

Intended learning outcomes

Knowledge
  • Familiar with various project management methodologies, such as Agile and Waterfall.
  • Remember the principles of resource allocation, scheduling, and monitoring.
  • Understand the fundamental principles of AI and ML.
Skills
  • Identify and solve complex problems using AI and ML techniques.
  • Apply AI and ML algorithms to real-world problems.
  • Utilize project management software and tools to plan, track, and manage projects.
Competencies
  • Communicate project progress and challenges effectively to stakeholders.
  • Analyze project requirements and identify potential challenges.
  • Collaborate effectively with team members to achieve project goals.
Backend Development
150 hours | 6 ECTS

About

Back End Development builds on previous knowledge of web development and security, and equips students with knowledge of server-side development so that they can become professional back-end developers and build enterprise-scale applications. Students learn to develop and deploy server-side applications with greater scope and complexity.

In this project-based course, students deepen their understanding by building the back end for a cross-platform application. The project will require implementing advanced features that add complexity and uniqueness to a server’s structure. Examples of these include payment gateways, chat rooms, full text search, WebSockets, etc. Students will design and build out all of the API endpoints needed for the application and properly secure them for use in any web or mobile front-end application. In doing so, they will explore the differences and tradeoffs between web services, APIs, and microservices. They will learn best practices for code quality including unit testing and error handling. They will also learn to efficiently document their APIs.

Students will understand key Developer Operations (DevOps) practices including environment design, testing, development controls, and uptime management. They will implement modern DevOps workflows (e.g., containers, cloud virtual machines), and learn tradeoffs between different approaches. They will set up continuous integration and continuous delivery, and explore various strategies for automated testing and application monitoring.

Teachers

No items found.

Intended learning outcomes

Knowledge
  • Knowledge of server-side development and architecture demonstrated by implementing advanced features such as API endpoints, chat rooms, full text search, WebSockets, and CI/CD pipelines.
  • Utilize detailed theoretical and practical knowledge essential to back-end development.
  • Tools and techniques used in back-end development.
  • Best practices for code quality including unit testing and error handling.
Skills
  • Devises and sustains arguments to solve problems related to back end development
  • Set up continuous integration and continuous delivery, and explore various strategies for automated testing and application monitoring.
  • Implement modern DevOps workflows (e.g., containers, cloud virtual machines), and learn tradeoffs between different approaches.
  • Make judgments based on knowledge of the rules and conventions for the proper use of back end development and demonstrate knowledge of the social and ethical issues relevant to technology.
  • Efficiently document their APIs using appropriate conventions.
Competencies
  • Design and build out all of the API endpoints needed for a web application and properly secure them for use in any web or mobile front-end application.
  • Possess the academic competences to undertake further studies in back-end development with a high degree of autonomy.
  • Understand and make reasonable decisions about key Developer Operations (DevOps) practices including environment design, testing, development controls, and uptime management.
Capstone Research Methods
150 hours | 6 ECTS

About

The Capstone Research Methods course supports students in developing critical research skills that are needed for the successful completion of their capstone project (Applied Computer Science). The course provides students with an overview of the research process and types of capstone projects that they can undertake, and includes a detailed exploration of relevant quantitative and qualitative research methods. Students will develop skills in data gathering and analysis, researching and writing an effective literature review, creating a research proposal, and managing ethical considerations with regards intellectual property rights and research with human subjects. At the conclusion of the course, students will be required to submit their formal capstone project proposal which should include details of their project scope, research question, hypothesis, and project plan. Their proposal must receive a passing mark before they are allowed to undertake the capstone course in the final term of the degree program.

Teachers

Shakhnoza Rakhim Qizi Shamsuddinova
Shakhnoza Rakhim Qizi Shamsuddinova
Noor Un Nisa Ali Nawaz
Noor Un Nisa Ali Nawaz

Intended learning outcomes

Knowledge
  • Understand and evaluate the range of potential tools and techniques used in research, including a detailed exploration of relevant quantitative and qualitative research methods to be used in the capstone.
  • Research planning strategies, demonstrated by the completion of a formal project proposal which should include details of the project scope, research question, hypothesis, and project plan.
  • Make judgments based on knowledge of the rules and conventions for the proper use of research proposals and demonstrate knowledge of the social and ethical issues relevant to technology.
  • Utilize detailed theoretical and practical knowledge essential to research skills.
Skills
  • Have the ability to gather qualitative and quantitative data in order to make informed judgments that reflect on relevant social, scientific, and ethical issues.
  • Consistently evaluates own learning and identifies learning needs.
  • Undertake extended research, writing an effective literature review, and creating a research proposal.
  • Communicate research methods in a well-structured, coherent format, following appropriate conventions in the field of technology.
  • Implement knowledge and understanding in a way that demonstrates professionalism in research methods.
Competencies
  • Demonstrates administrative planning, resource management, and team management as well as handling unpredictable and complex issues in research skills.
  • Show creativity and initiative to develop projects with effective research skills.
  • Possess the academic competences to plan a research project, evaluating the types of capstone projects that can be undertaken.
Digital Marketing and Analytics
150 hours | 6 ECTS

About

This module covers the principles of Digital Marketing and Analytics, which involves the use of digital channels to promote products or services and measure their performance. Students will learn to use Google Analytics to optimize digital marketing campaigns and develop a social media marketing plan that reaches target audiences. They will gain practical knowledge and experience in understanding the principles of search engine optimization (SEO), pay-per-click advertising (PPC), email marketing, and content marketing. Additionally, students will learn to evaluate the effectiveness of digital marketing strategies using relevant analytics tools to enhance online brand presence and customer engagement. Furthermore, this module covers the principles of social media marketing and analytics and the knowledge to use social media analytics tools to evaluate the effectiveness of social media marketing strategies.

Teachers

Rekha Shray Shewakramani
Rekha Shray Shewakramani

Intended learning outcomes

Knowledge
  • Explain the principles of social media marketing and the role of social media platforms in digital marketing.
  • Describe the various digital marketing channels, such as SEO, PPC, email marketing, and content marketing.
  • Discuss different digital marketing analytics tools, including their functions and how they contribute to measuring campaign success.
Skills
  • Create and execute a targeted social media marketing plan to reach and engage specific audiences.
  • Apply SEO techniques and manage pay-per-click (PPC) advertising to increase visibility and traffic.
  • Utilize Google Analytics to track, measure, and optimize digital marketing campaigns.
Competencies
  • Analyze data from digital marketing campaigns to make informed decisions on optimization.
  • Use social media analytics tools to evaluate and improve the success of social media marketing strategies.
  • Assess the effectiveness of digital marketing strategies using analytics tools.
Ethics and Social Implications of AI
75 hours | 3 ECTS

About

In this course, students will discuss ethical considerations in AI, including bias and privacy concerns, and describe social implications, such as the impact on employment and the economy. Students will also identify stakeholders affected by AI and their respective interests. By the end of the module, students will have a comprehensive understanding of ethical and social considerations in AI, preparing them to make informed decisions about the development and use of AI technologies in their future roles.

Teachers

Mark Anthony Naval
Mark Anthony Naval
Noor Un Nisa Ali Nawaz
Noor Un Nisa Ali Nawaz

Intended learning outcomes

Knowledge
  • Describe the social implications of AI, such as its effects on employment, inequality, and the economy.
  • Identify the key stakeholders affected by AI technologies and understand their diverse interests.
  • Discuss the ethical considerations in AI, such as bias, privacy concerns, and data security.
Skills
  • Analyze ethical concerns in AI, including bias, privacy, and fairness in decision-making.
  • Evaluate the impact of AI on various stakeholders, identifying their interests and ethical concerns.
  • Propose solutions to ethical dilemmas in AI development and use, considering long-term societal impacts.
Competencies
  • Assess the broader societal impact of AI technologies, considering both positive and negative effects.
  • Apply ethical reasoning to make informed decisions about AI development and deployment.
  • Advocate for responsible and transparent use of AI, ensuring alignment with ethical standards and social well-being.
Natural Language Processing Fundamentals
150 hours | 6 ECTS

About

This module is designed to equip students with the fundamental concepts and techniques used in natural language processing (NLP). Students will learn how to perform basic NLP tasks such as tokenization, stemming, and part-of-speech tagging. They will also learn about machine learning models for NLP, including supervised and unsupervised learning, and how to evaluate the performance of these models. Additionally, students will gain practical experience designing and developing custom NLP models for specific applications, such as sentiment analysis and named entity recognition. By the end of this module, students will have a solid understanding of NLP and be able to apply their knowledge to real-world problems.

Teachers

No items found.

Intended learning outcomes

Knowledge
  • Discuss the common applications of NLP, such as sentiment analysis, machine translation, and text summarization.
  • Identify and describe supervised and unsupervised machine learning models used in natural language processing.
  • Identify core NLP techniques, including tokenization, stemming, lemmatization, and part-of-speech tagging.
Skills
  • Schedule and analyze the performance of machine learning models for NLP tasks using appropriate evaluation metrics.
  • Operate and apply fundamental NLP techniques, such as tokenization, stemming, and part-of-speech tagging.
  • Design and implement custom NLP models for specific applications like sentiment analysis and named entity recognition.
Competencies
  • Analyze and apply NLP techniques and models to solve real-world problems in areas such as customer feedback analysis or language translation.
  • Assess and evaluate the performance of NLP models using appropriate metrics, including accuracy, precision, and recall.
  • Optimize machine learning models for natural language processing tasks by improving preprocessing, feature extraction, and model selection.
Computer Vision Fundamentals
150 hours | 6 ECTS

About

In this module, students will learn about the fundamental concepts and techniques used in computer vision. They will explore image processing techniques such as edge detection and image segmentation, and how these techniques are used to analyze and interpret images. The course will cover various object detection algorithms such as YOLO and Faster R-CNN, and how they can be used to detect and classify objects in images. Additionally, students will be able to evaluate the performance of different computer vision models and apply them to real-world problems.

Teachers

Mohamed Irfan Shaikh
Mohamed Irfan Shaikh

Intended learning outcomes

Knowledge
  • Acquire knowledge of advanced computer vision techniques, including deep learning-based methods like CNNs, recurrent neural networks (RNNs) for sequence data.
  • Understand the theoretical foundations behind different techniques and how they are applied to solve complex vision problems.
  • Gain a deep understanding of the core concepts in computer vision, including image formation, camera models, and 3D vision.
Skills
  • Learn to implement deep learning models, particularly convolutional neural networks (CNNs), for complex vision tasks such as image recognition and facial detection.
  • Develop the ability to process and analyze digital images using fundamental techniques such as filtering, edge detection, and segmentation.
  • Acquire skills in applying machine learning algorithms to computer vision problems, including classification, object recognition, and image segmentation.
Competencies
  • Competently apply vision algorithms and deep learning models to analyze visual data, ensuring high accuracy and robustness in diverse environments.
  • Exhibit the ability to integrate computer vision systems with broader AI and ML frameworks, enabling the creation of intelligent systems that can perceive, understand, and interact with their surroundings.
  • Demonstrate the competency to design and implement computer vision solutions that address real-world problems.
Applied AI & ML Project Management
150 hours | 6 ECTS

About

This module covers the principles of Applied AI & ML Project Management, which involves managing projects that utilize artificial intelligence (AI) and machine learning (ML) techniques to solve real-world problems. Students will learn to develop a project timeline that includes task dependencies and identifies potential project risks. They will gain practical knowledge and experience in understanding the principles of project management, including project planning, resource allocation, risk management, and project monitoring. Additionally, students will learn to apply machine learning algorithms to solve problems in various domains such as healthcare, finance, and marketing.Furthermore, this module covers the principles of managing project resources effectively. Students will learn to identify and address resource constraints and ensure team members meet project milestones. They will gain practical knowledge and experience in understanding the principles of project scheduling, team communication, and performance monitoring. Additionally, students will learn to use project management tools and software to manage project resources effectively.

Teachers

Shakhnoza Rakhim Qizi Shamsuddinova
Shakhnoza Rakhim Qizi Shamsuddinova
Maria Monica
Maria Monica

Intended learning outcomes

Knowledge
  • Familiar with various project management methodologies, such as Agile and Waterfall.
  • Remember the principles of resource allocation, scheduling, and monitoring.
  • Understand the fundamental principles of AI and ML.
Skills
  • Identify and solve complex problems using AI and ML techniques.
  • Apply AI and ML algorithms to real-world problems.
  • Utilize project management software and tools to plan, track, and manage projects.
Competencies
  • Communicate project progress and challenges effectively to stakeholders.
  • Analyze project requirements and identify potential challenges.
  • Collaborate effectively with team members to achieve project goals.

Entry Requirements

Tuition Cost
47,500 AED
Student education requirement
High School

Application Process

1

Submit initial Application

Complete the online application form with your personal information

2

Documentation Review

Submit required transcripts, certificates, and supporting documents

3

Assessment

Your application will be evaluated against program requirements

4

Interview

Selected candidates may be invited for an interview

5

Decision

Receive an admission decision

6

Enrollment

Complete registration and prepare to begin your studies

Ready to advance your education with a globally recognised degree?

Previous
Overview
Next
What you’ll learn