Master of Science in Computer Science

Fully Online
18 months
2250 hours | 90 ECTS
Degree
Scaler Neovarsity
Accreditation:
EQF7

About

The course teaches students comprehensive and specialised subjects in computer science; it teaches students cutting edge engineering skills to solve real-world problems using computational thinking and tools, as well as soft skills in communication, collaboration, and project management that enable students to succeed in real-world business environments. Most of this program is case (or) project-based where students learn by solving real-world problems end to end. This program has core courses that focus on computational thinking and problems solving from first principles. The core courses are followed by specialization courses that teach various aspects of building real-world systems. This is followed by more advanced courses that focus on research level topics, which cover state of the art methods. The program also has a capstone project at the end, wherein students can either work on building end to end solutions to real world problems (or) work on a research topic. The program also focuses on teaching the students the “ability to learn” so that they can be lifelong learners constantly upgrading their skills. Students can choose from a spectrum of courses to specialize in a specific sub-area of Computer Science like Artificial Intelligence and Machine Learning, Cloud Computing, Software Engineering, or Data Science, etc.

Target Audience

-  Ages 19-30, 31-65, 65+
  • Target Group

    • This course is designed for individuals who wish to enhance their knowledge of computer science and its various applications used in different fields of employment. It is designed for those that will have responsibility for planning, organizing, and directing technological operations. In all cases, the target group should be prepared to pursue substantial academic studies. Students must qualify for the course of study by entrance application. A prior computer science degree is not required; however the course does assume technical aptitude; and it targets students with finance, engineering, or STEM training or professional experience.

  • Mode of attendance

    • Online/Blended Learning

  • 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 Master of Science in Computer Science combines asynchronous components (lecture videos, 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. Students have direct access to their teacher and their peers at all times through the use of direct message and group chat; teachers are also able to initiate voice and video calls with students outside the regularly scheduled synchronous sessions. Modules are offered continuously on a publicly advertised schedule consisting of cohort sequences designed to accommodate adult students at different paces. Although there are few formal prerequisites identified throughout the programme, enrollment in courses depends on advisement from Woolf faculty and staff.The degree has 3 tiers: The first tier is required for all students, who must take 15 ECTS. In the second tier, students must select 45 ECTS from elective tiers. Under the guidance of the Academic Staff at Woolf, students may either select exclusively from one specialization track (in which case they will earn that specialization), or they may mix tracks (in which case they will finish without a specialization). Tier Three may be completed in two different ways: a) by completing a 30ECTS Advanced Applied Computer Science capstone project, or b) by completing a 10 ECTS Applied Computer Science project and 20 ECTS of electives from the program.

  • 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

    • 2023 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/

    • Passing requirement: minimum of 60% overall

  • Dates of Next Intake

    • Rolling admission

  • Pass rates

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
- Develop advanced, innovative, and multi-disciplinary problem-solving skills - Communicate computer science methods and tools clearly and unambiguously to specialised and non-specialised audiences - Develop advanced abilities related to computer science operational procedures and implement them in response to changing environments - Critically evaluate alternative approaches to solving real world engineering and technological problems using cutting edge techniques in computer science on the basis of academic scholarship and case studies, demonstrating reflection on social and ethical responsibilities - Formulate technological judgments and plans despite incomplete information by integrating knowledge and approaches from various computer science domains including machine learning, distributed computing, and cloud computing. - Enquire critically into the theoretical strategies for solving real-world problems using computational thinking and tools. - Develop new skills in response to emerging knowledge and techniques and demonstrate leadership skills and innovation in complex and unpredictable contexts

Course Structure

Data Structures
125 hours | 5 ECTS

About

Teachers

Shraddha Hosatti
Shraddha Hosatti

Intended learning outcomes

Knowledge
  • Acquire knowledge widely used basic data structures like Dynamic arrays, multi- dimensional arrays, Lists, Strings, Hash Tables, Binary Trees, Balanced Binary Trees, Priority Queues and Graphs
  • Critically assess the relevance of theories for business applications in the domain of technology
  • Develop a critical knowledge of Data Structures and their implementation
  • Critically evaluate diverse scholarly views on data structures
  • Develop a specialised knowledge of key strategies related to Data Structures and their usage in computer science
Skills
  • Autonomously gather material and organise it into coherent data structures
  • Apply data structures in a creative way to develop original, critical solutions to real world problems.
  • Apply an in-depth domain-specific knowledge and understanding of Data Structures
  • Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
Competencies
  • Apply a professional and scholarly approach to research problems pertaining to Data Structures and their implementation
  • Act autonomously in identifying research problems and solutions related to Data Structures and their implementation
  • Demonstrate self-direction in research and originality in solutions developed for Data Structures and their implementation
  • Create synthetic contextualised discussions of key issues related to Data Structures and the different approached to their implementation
  • Solve problems and be prepared to take leadership decisions related to the methods and principles of Data Structures and their implementation
  • Efficiently manage interdisciplinary issues that arise in connection to Data Structures and their implementation
Introduction to Problem Solving Techniques: Part 1
125 hours | 5 ECTS

About

Teachers

Shraddha Hosatti
Shraddha Hosatti

Intended learning outcomes

Knowledge
  • Critically evaluate diverse scholarly views on the appropriateness of various problem-solving strategies
  • Develop a critical understanding of problem-solving strategies in computing
  • Acquire knowledge of various methods for structuring data in arrays
  • Critically assess the relevance of theories of problem-solving for business applications in the domain of software development
  • Develop a specialised knowledge of key strategies related to structuring data
Skills
  • Autonomously gather material and organise it into a coherent presentation or essay
  • Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
  • Creatively apply various programming methods to develop critical and original solutions to computational problems
  • Apply an in-depth domain-specific knowledge and understanding to problem solving
Competencies
  • Apply a professional and scholarly approach to research problems pertaining to data structures
  • Create synthetic contextualised discussions of key issues related to problem- solving, and moving from algorithmic to heuristic problem-solving strategies.
  • Solve problems and be prepared to take leadership decisions related to applying problem-solving heuristics
  • Efficiently manage interdisciplinary issues that arise in connection to problem solving
  • Demonstrate self-direction in research and originality in solutions developed for solving problems related to data structures
  • Act autonomously in identifying research problems and solutions related to arrays and their real-world applications
Introduction to Computer Programming: Part 1
125 hours | 5 ECTS

About

Teachers

Shraddha Hosatti
Shraddha Hosatti

Intended learning outcomes

Knowledge
  • Critically evaluate diverse scholarly views on computational complexity
  • Develop a critical understanding of a modern programming language such as Java or Python
  • Critically assess the relevance of theories for business applications in the domain of technology
  • Develop a specialised knowledge of key strategies related to Object-Oriented Programming
  • Acquire knowledge of various methods for structuring data
Skills
  • Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
  • Autonomously gather material and organise it into a coherent presentation or essay
  • Apply an in-depth domain-specific knowledge and understanding to computer programming
  • Creatively apply various programming methods to develop critical and original solutions to computational problems
Competencies
  • Solve problems and be prepared to take leadership decisions related to the methods and principles of computer programming
  • Act autonomously in identifying research problems and solutions related to Object-Oriented programming
  • Demonstrate self-direction in research and originality in solutions developed for modern programming languages
  • Efficiently manage interdisciplinary issues that arise in connection to data structured in 1- and 2-dimensional arrays
  • Apply a professional and scholarly approach to research problems pertaining to computational complexity
  • Create synthetic contextualised discussions of key issues related to converting scientific knowledge into programming concepts, and how to instantiate these using Object-Oriented methods
Design and Analysis of Algorithms
125 hours | 5 ECTS

About

Teachers

Shraddha Hosatti
Shraddha Hosatti

Intended learning outcomes

Knowledge
  • Critically evaluate diverse scholarly views on design and analysis of algorithms
  • Develop a specialised knowledge of key strategies related to design and analysis of algorithms
  • Acquire knowledge of various algorithmic design methods
  • Develop a critical knowledge of design and analysis of algorithms
  • Critically assess the relevance of theories for business applications in the domain of technology
Skills
  • Autonomously gather material and organise it into a coherent presentation or essay
  • Apply an in-depth domain-specific knowledge and understanding to design and analysis of algorithms
  • Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
  • Creatively apply various algorithmic design methods to develop critical and original solutions to computational problems
Competencies
  • Act autonomously in identifying research problems and solutions related to design and analysis of algorithms
  • Efficiently manage interdisciplinary issues that arise in connection to design and analysis of algorithms
  • Create synthetic contextualised discussions of key issues related to design and analysis of algorithms to provide solutions to computational problems
  • Apply a professional and scholarly approach to research problems pertaining to design and analysis of algorithms
  • Demonstrate self-direction in research and originality in solutions developed for design and analysis of algorithms
  • Solve problems and be prepared to take leadership decisions related to the methods and principles of design and analysis of algorithms
Advanced Algorithms
125 hours | 5 ECTS

About

Teachers

Shraddha Hosatti
Shraddha Hosatti

Intended learning outcomes

Knowledge
  • Develop a specialised knowledge of describing, analysing, and evaluating algorithmic performance in time and space
  • Critically evaluate diverse scholarly views on the appropriateness of various algorithmic concepts to software development problems
  • Develop a critical understanding of important algorithmic concepts and principles, such as greedy algorithms, dynamic programming, minimum spanning trees, and graph algorithms
  • Critically assess the relevance of theories of algorithmic performance for business applications in the domain of software engineering
  • Acquire knowledge of various methods for optimizing algorithm design
Skills
  • Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
  • Apply an in-depth domain-specific knowledge and understanding of efficiency to algorithmic designs
  • Creatively apply various programming methods to most efficiently design algorithms for specified time and space constraints
  • Autonomously gather material and organise it into a coherent presentation or essay
Competencies
  • Act autonomously in identifying research problems and solutions related to the real-world application of common controls and data structures in high-level programming languages
  • Create synthetic contextualised discussions of key issues related to the efficient construction of algorithms
  • Apply a professional and scholarly approach to research problems pertaining to the comparative performance of algorithms
  • Efficiently manage interdisciplinary issues that arise in connection to the performance of algorithms and data structures in time and space
  • Solve problems and be prepared to take leadership decisions related to selecting the most appropriate algorithm for a software engineering problem
  • Demonstrate self-direction in research and originality in solutions developed for solving problems related to algorithmic design
Front End Development
125 hours | 5 ECTS

About

This course builds upon the introductory JavaScript course to acquaint students of popular and modern frameworks to build the front end. We focus on three very popular frameworks/libraries in use: React.js, jQuery and AngularJS. We start with React.js, one of the most popular and advanced ones amongst the three. students learn various components and data flow to learn to architect real world front end using React.js. This would be achieved via multiple code examples and code-walkthroughs from scratch. We would also dive into React Native which is a cross platform Framework to build native mobile and smart-TV apps using JavaScript. This helps students to build applications for various platforms using only JavaScript. jQuery is one of the oldest and most widely used JavaScript libraries, which students cover in detail. Students specifically focus on how jQuery can simplify event handling, AJAX, HTML DOM tree manipulation and create CSS animations. We also provide a hands-on introduction to AngularJS to architect model-view- controller (MVC) based dynamic web pages.

Teachers

Shraddha Hosatti
Shraddha Hosatti

Intended learning outcomes

Knowledge
  • Develop a specialised knowledge of key strategies related to front end development
  • Acquire knowledge of popular frameworks/libraries in use: React.js, jQuery and AngularJS
  • Critically evaluate diverse scholarly views on front end development
  • Develop a critical knowledge of front end development
  • Critically assess the relevance of theories for business applications in the domain of technology
Skills
  • Autonomously gather material and organise it into coherent problem sets or presentations
  • Creatively apply front end development applications to develop critical and original solutions for computational problems
  • Apply an in-depth domain-specific knowledge and understanding to front end development solutions
  • Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
Competencies
  • Create synthetic contextualised discussions of key issues related to front end development
  • Efficiently manage interdisciplinary issues that arise in connection to front end development
  • Solve problems and be prepared to take leadership decisions related to the methods and principles of front end development
  • Act autonomously in identifying research problems and solutions related to front end development
  • Demonstrate self-direction in research and originality in solutions developed for front end development
  • Apply a professional and scholarly approach to research problems pertaining to front end development
Practical Software Engineering
125 hours | 5 ECTS

About

Teachers

Shraddha Hosatti
Shraddha Hosatti

Intended learning outcomes

Knowledge
  • Critically assess the relevance of theories of software design processes for business applications in the realm of software engineering
  • Develop a specialised knowledge of Process Design Languages and flowchart methods for describing desired functions and behaviours
  • Critically evaluate diverse scholarly views on the appropriateness of various approaches to converting high-level or architectural software design to low-level, component-oriented design
  • Acquire knowledge of various methods for specifying the logical and functional design of a system
  • Develop a critical understanding of software design and refinement processes
Skills
  • Creatively apply various visual and written methods for converting architectural/high-level designs to component-oriented, low-level design
  • Autonomously gather material and organise it into a coherent presentation or essay
  • Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
  • Apply an in-depth domain-specific knowledge and understanding of the importance of refinement in software design processes
Competencies
  • Efficiently manage interdisciplinary issues that arise in connection to developing hierarchical input process output (HIPO) models
  • Solve problems and be prepared to take leadership decisions related to developing code-ready low-level design documents
  • Create synthetic contextualised discussions of key issues related to specifying the internal logic of software
  • Apply a professional and scholarly approach to research problems pertaining to logical and functional design of software components
  • Demonstrate self-direction in research and originality in solutions developed for using Program Design Languages
  • Act autonomously in identifying research problems and solutions related to refining software designs
Backend Development
125 hours | 5 ECTS

About

Teachers

Shraddha Hosatti
Shraddha Hosatti

Intended learning outcomes

Knowledge
  • Critically evaluate diverse scholarly views on Back End Development
  • Critically assess the relevance of theories for business applications in the domain of technology
  • Develop a specialised knowledge of key strategies related to Back End Development
  • Develop a critical knowledge of Back End Development
  • Acquire knowledge of key aspects of Node.js like setup, package manager, client- server programming and connecting to various databases and REST
Skills
  • Apply an in-depth domain-specific knowledge and understanding to Back End Development applications
  • Autonomously gather material and organise it into coherent problem sets or presentations
  • Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
  • Creatively apply Back End Development tools to develop critical and original solutions for computational problems
Competencies
  • Solve problems and be prepared to take leadership decisions related to the methods and principles of Back End Development
  • Act autonomously in identifying research problems and solutions related to Back End Development
  • Efficiently manage interdisciplinary issues that arise in connection to Back End Development
  • Create synthetic contextualised discussions of key issues related to Back End Development
  • Apply a professional and scholarly approach to research problems pertaining to Back End Development
  • Demonstrate self-direction in research and originality in solutions developed for Back End Development
Data Engineering
125 hours | 5 ECTS

About

Teachers

Shraddha Hosatti
Shraddha Hosatti

Intended learning outcomes

Knowledge
  • Develop a specialised knowledge of standard tools for data processing, such as Apache Kafka, Airflow, and Spark (with PySpark), and the Hadoop Ecosystem
  • Critically assess the relevance of theories of data modelling for efficient pipeline creation
  • Develop a critical understanding of data engineering.
  • Critically evaluate diverse scholarly views on best practices in developing data- intensive applications
  • Acquire knowledge of various methods for warehousing data
Skills
  • Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
  • Apply an in-depth domain-specific knowledge and understanding of orchestrating complete ETL pipelines
  • Creatively apply various visual and written methods for dashboarding data with Grafana/Tableau.
  • Autonomously gather material and organise it into a coherent presentation or essay
Competencies
  • Apply a professional and scholarly approach to research problems pertaining to data warehousing and modeling.
  • Create synthetic contextualised discussions of key issues related to the data engineering lifecycle.
  • Act autonomously in identifying research problems and solutions related to developing for data at scale
  • Efficiently manage interdisciplinary issues that arise in connection to developing cloud solutions for data engineering problems.
  • Solve problems and be prepared to take leadership decisions related to developing pipelines to handle massive datasets for engineering purposes.
  • Demonstrate self-direction in research and originality in creating advanced SQL queries.
Product Management for Software Engineers
125 hours | 5 ECTS

About

Teachers

Shraddha Hosatti
Shraddha Hosatti

Intended learning outcomes

Knowledge
  • Develop a specialised knowledge of frameworks for measuring user engagement, such as diagnostics, key performance indicators (KPI), and other metrics
  • Acquire knowledge of various methods for testing hypotheses about the viability of a product and about how users engage with it
  • Develop a critical understanding of product design and development
  • Critically evaluate diverse scholarly views on assessing user behaviours
  • Critically assess the relevance of theories of user behaviour for product development
Skills
  • Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
  • Creatively apply various visual and written methods for proposing a technical solution to a real-world problem to other technical and managerial-level audiences, and for documenting that solutio
  • Apply an in-depth domain-specific knowledge and understanding of product roadmaps and lifecycles in business
  • Autonomously gather material and organise it into a coherent presentation or essay
Competencies
  • Solve problems and be prepared to take leadership decisions related to developing data-informed business cases about bringing products to market and iterating upon them
  • Efficiently manage interdisciplinary issues that arise in connection to designing a product and bringing it to market.
  • Act autonomously in identifying research problems and solutions related to product analytics.
  • Create synthetic contextualised discussions of key issues related to product sense, and how to tell whether a product is worth bringing to market.
  • Apply a professional and scholarly approach to research problems pertaining to measuring user engagement.
  • Demonstrate self-direction in research and originality in testing and validating hypotheses about a product and its users.
Low-Level Design and Design Patterns
125 hours | 5 ECTS

About

Teachers

Shraddha Hosatti
Shraddha Hosatti

Intended learning outcomes

Knowledge
  • Develop a critical understanding of object-oriented analysis and design
  • Critically assess the relevance of theories of reusable design for business applications in the domain of software engineering
  • Critically evaluate diverse scholarly views on the appropriateness of various approaches to design patterns for object-oriented design
  • Develop a specialised knowledge of modelling data, behaviour, and function in software
  • Acquire knowledge of various methods for specifying modular elements in a software subsystem
Skills
  • Apply an in-depth domain-specific knowledge and understanding of the importance of object-oriented design in software engineering
  • Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
  • Autonomously gather material and organise it into a coherent presentation or essay
  • Creatively apply various design patterns to most efficiently design software that meets specified criteria
Competencies
  • Create synthetic contextualised discussions of key issues related to Object- Oriented Analysis and Design
  • Demonstrate self-direction in research and originality in solutions developed for designing reusable software elements
  • Solve problems and be prepared to take leadership decisions related to developing design patterns to solve problems in software design
  • Apply a professional and scholarly approach to research problems pertaining to building software with reusable elements
  • Act autonomously in identifying research problems and solutions related to the modular, procedural software design
  • Efficiently manage interdisciplinary issues that arise in connection to modelling data, behaviour, and function
Distributed Systems with High-Level System Design
125 hours | 5 ECTS

About

Teachers

Shraddha Hosatti
Shraddha Hosatti

Intended learning outcomes

Knowledge
  • Critically assess the relevance of theories of distributed system design for business applications in the realm of software engineering
  • Acquire knowledge of various methods for optimising the tradeoffs between consistency and availability in the presence of partitions
  • Develop a specialised knowledge of hashing and caching strategies in distributed systems
  • Critically evaluate diverse scholarly views on containerisation as a system architecture strategy
  • Develop a critical understanding of software architecture design
Skills
  • Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
  • Autonomously gather material and organise it into a coherent presentation or essay
  • Creatively apply various visual and written methods for developing high-level system architecture designs
  • Apply an in-depth domain-specific knowledge and understanding of the importance of scalability in software engineering
Competencies
  • Demonstrate self-direction in research and originality in solutions developed for search across distributed environments
  • Efficiently manage interdisciplinary issues that arise in connection to micro services and containerisation
  • Solve problems and be prepared to take leadership decisions related to designing distributed systems that can scale
  • Apply a professional and scholarly approach to research problems pertaining to tradeoffs between consistency and availability when distributed systems are partitioned
  • Create synthetic contextualised discussions of key issues related to designing system architecture that is capable of scaling
  • Act autonomously in identifying research problems and solutions related to implementing SQL and NoSQL designs
Front End UI/UX Development
125 hours | 5 ECTS

About

Teachers

Shraddha Hosatti
Shraddha Hosatti

Intended learning outcomes

Knowledge
  • Critically assess the relevance of theories for business applications in the domain of technology
  • Develop a critical knowledge of Front end UI/UX development
  • Critically evaluate diverse scholarly views on Front end UI/UX development
  • Acquire knowledge of HTML5, CSS and Frameworks like Bootstrap 4
  • Develop a specialised knowledge of key strategies related to Front end UI/UX development
Skills
  • Creatively apply Front end UI/UX development applications to develop critical and original solutions for computational problems.
  • Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
  • Autonomously gather material and organise into a coherent problem sets or presentation
  • Apply an in-depth domain-specific knowledge and understanding to technology
Competencies
  • Act autonomously in identifying research problems and solutions related to Front end UI/UX development
  • Efficiently manage interdisciplinary issues that arise in connection to Front end UI/UX development
  • Solve problems and be prepared to take leadership decisions related to the methods and principles of Front end UI/UX developmen
  • Apply a professional and scholarly approach to research problems pertaining to Front end UI/UX development
  • Demonstrate self-direction in research and originality in solutions developed for Front end UI/UX development
  • Create synthetic contextualised discussions of key issues related to Front end UI/UX development
System Design
125 hours | 5 ECTS

About

Teachers

Shraddha Hosatti
Shraddha Hosatti

Intended learning outcomes

Knowledge
  • Critically evaluate diverse scholarly views on System Design
  • Critically assess the relevance of theories for business applications in the domain of technology
  • Develop a critical knowledge of System Design
  • Develop a specialised knowledge of key strategies related to System Design
  • Acquire knowledge of popular data encoding schemes like XML and JSON
Skills
  • Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
  • Autonomously gather material and organise it into coherent problem sets or presentations
  • Creatively apply system design components to develop critical and original solutions for computational problems
  • Apply an in-depth domain-specific knowledge and understanding to System Design solutions
Competencies
  • Apply a professional and scholarly approach to research problems pertaining to System Design
  • Act autonomously in identifying research problems and solutions related to System Design
  • Solve problems and be prepared to take leadership decisions related to the methods and principles of System Design
  • Demonstrate self-direction in research and originality in solutions developed for System Design
  • Create synthetic contextualised discussions of key issues related to System Design
  • Efficiently manage interdisciplinary issues that arise in connection to System Design
Design Patterns
125 hours | 5 ECTS

About

Teachers

Shraddha Hosatti
Shraddha Hosatti

Intended learning outcomes

Knowledge
  • Acquire knowledge of the pros and cons of popular UML design patterns
  • Critically evaluate diverse scholarly views on design patterns
  • Develop a specialised knowledge of key strategies related to design patterns
  • Critically assess the relevance of theories for business applications in the domain of technology
  • Develop a critical knowledge of design patterns
Skills
  • Apply an in-depth domain-specific knowledge and understanding to object- oriented design patterns
  • Creatively utilize design patterns tools to develop critical and original solutions for computational problems
  • Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
  • Autonomously gather material and organise it into coherent problem sets or presentations
Competencies
  • Demonstrate self-direction in research and originality in solutions developed for design patterns
  • Create synthetic contextualised discussions of key issues related to design pattern
  • Solve problems and be prepared to take leadership decisions related to the methods and principles of design patterns
  • Efficiently manage interdisciplinary issues that arise in connection to design patterns
  • Act autonomously in identifying research problems and solutions related to design patterns
  • Apply a professional and scholarly approach to research problems pertaining to design patterns
Foundations of Cloud Computing
125 hours | 5 ECTS

About

Teachers

Shraddha Hosatti
Shraddha Hosatti

Intended learning outcomes

Knowledge
  • Acquire knowledge of virtualization and how virtualized compute instances are created and configured
  • Develop a critical knowledge of cloud computing
  • Critically assess the relevance of theories for business applications in the domain of technology
  • Critically evaluate diverse scholarly views on cloud computing
  • Develop a specialised knowledge of key strategies related to cloud computing
Skills
  • Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
  • Apply an in-depth domain-specific knowledge and understanding to cloud computing services
  • Creatively apply cloud computing applications to develop critical and original solutions for computational problems
  • Autonomously gather material and organise it into coherent problems sets or presentations
Competencies
  • Apply a professional and scholarly approach to research problems pertaining to cloud computing
  • Demonstrate self-direction in research and originality in solutions developed for cloud computing
  • Efficiently manage interdisciplinary issues that arise in connection to cloud computing
  • Act autonomously in identifying research problems and solutions related to cloud computing
  • Create synthetic contextualised discussions of key issues related to cloud computing
  • Solve problems and be prepared to take leadership decisions related to the methods and principles of cloud computing
Advanced Cloud Computing
125 hours | 5 ECTS

About

Teachers

Shraddha Hosatti
Shraddha Hosatti

Intended learning outcomes

Knowledge
  • resource management strategies in a cloud setup to ensure low costs and high availability
  • critical evaluations of the architecture and design of load balancers and their role in most horizontally scalable web-applications
  • specialised knowledge of key strategies related to advanced cloud computing
Skills
  • use content delivery networks (CDNs) to deliver live streaming and website content fast using globally distributed servers and caching
  • ability to autonomously gather material and organise it into coherent plan for solving problems related to advanced cloud computing
  • develop critical and original solutions to solve real world engineering problems to emerging issues in cloud computing
Competencies
  • efficiently manage horizontally scalable web-applications
  • understand the serverless computing model and how it is achieved by most cloud providers in order to configure complex cloud systems
  • deploy advanced cloud computing systems, and track various key metrics, trigger alarms, detect anomalous behaviour and act upon them in near real-time
  • Demonstrate self-direction, autonomy, and leadership in research and originality in solutions for complex cloud systems with many components and services
Advanced Applied Computer Science
750 hours | 30 ECTS

About

Advanced Applied Computer Science is a capstone project, an end-to-end deployable solution to a real-world computational problem that students build in the last phase of the programme. Its objective is to help students rigorously solve a technically challenging problem where they would apply all of the concepts, techniques and tools learned in the programme. Students typically pick a problem from their specialisation after discussing it with the course instructor(s). Students also have the option of working on a real-world problem in their company/organisation/institution. They can be mentored by an expert supervisor from their organisation along with an academic supervisor from Woolf. All external expert-supervisors and projects need to be approved by the instructor(s) to ensure that the project is technically challenging and the solution being built is rigorous and of high quality. Students start with identifying a technically challenging problem. Once approved by the instructor(s), they start the literature survey to read research papers and technical reports of prior related work. Then, they build the system design and write a design document to solve the problem. This would be followed by designing and implementing individual modules and testing them. This would be followed by deploying the solution and making it available to end users while satisfying the problem’s real-world constraints and objectives. Students then document their work into a detailed technical report

Teachers

Shraddha Hosatti
Shraddha Hosatti

Intended learning outcomes

Knowledge
  • Critically evaluate diverse scholarly views on modern computational applications
  • Critically assess the relevance of theories for business applications in the domain of technology
  • Acquire knowledge of an end-to-end deployable solution to a real-world computational problem
  • Develop a specialised knowledge of key strategies related to modern computational applications
  • Develop a critical knowledge of modern computational applications
Skills
  • Autonomously gather material and organise it into coherent problem sets or presentations
  • Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
  • Apply an in-depth domain-specific knowledge and understanding of modern day computational applications
  • Creatively apply computational applications to develop critical and original solutions for computational problems
Competencies
  • Solve problems and be prepared to take leadership decisions related to the methods and principles of modern computational applications
  • Demonstrate self-direction in research and originality in solutions developed for robust and reliable systems using interacting modules
  • Efficiently manage interdisciplinary issues that arise in connection to modern day computational methods and principles
  • Apply a professional and scholarly approach to research problems pertaining to real-world modern computational complexities
  • Create synthetic contextualised discussions of key issues related to real-world computational problems
  • Act autonomously in identifying research problems and solutions related to modern computational tools and methods
Front End Development
125 hours | 5 ECTS

About

This course builds upon the introductory JavaScript course to acquaint students of popular and modern frameworks to build the front end. We focus on three very popular frameworks/libraries in use: React.js, jQuery and AngularJS. We start with React.js, one of the most popular and advanced ones amongst the three. students learn various components and data flow to learn to architect real world front end using React.js. This would be achieved via multiple code examples and code-walkthroughs from scratch. We would also dive into React Native which is a cross platform Framework to build native mobile and smart-TV apps using JavaScript. This helps students to build applications for various platforms using only JavaScript. jQuery is one of the oldest and most widely used JavaScript libraries, which students cover in detail. Students specifically focus on how jQuery can simplify event handling, AJAX, HTML DOM tree manipulation and create CSS animations. We also provide a hands-on introduction to AngularJS to architect model-view- controller (MVC) based dynamic web pages.

Teachers

Shraddha Hosatti
Shraddha Hosatti

Intended learning outcomes

Knowledge
  • Develop a specialised knowledge of key strategies related to front end development
  • Acquire knowledge of popular frameworks/libraries in use: React.js, jQuery and AngularJS
  • Critically evaluate diverse scholarly views on front end development
  • Develop a critical knowledge of front end development
  • Critically assess the relevance of theories for business applications in the domain of technology
Skills
  • Autonomously gather material and organise it into coherent problem sets or presentations
  • Creatively apply front end development applications to develop critical and original solutions for computational problems
  • Apply an in-depth domain-specific knowledge and understanding to front end development solutions
  • Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
Competencies
  • Create synthetic contextualised discussions of key issues related to front end development
  • Efficiently manage interdisciplinary issues that arise in connection to front end development
  • Solve problems and be prepared to take leadership decisions related to the methods and principles of front end development
  • Act autonomously in identifying research problems and solutions related to front end development
  • Demonstrate self-direction in research and originality in solutions developed for front end development
  • Apply a professional and scholarly approach to research problems pertaining to front end development
Practical Software Engineering
125 hours | 5 ECTS

About

Teachers

Shraddha Hosatti
Shraddha Hosatti

Intended learning outcomes

Knowledge
  • Critically assess the relevance of theories of software design processes for business applications in the realm of software engineering
  • Develop a specialised knowledge of Process Design Languages and flowchart methods for describing desired functions and behaviours
  • Critically evaluate diverse scholarly views on the appropriateness of various approaches to converting high-level or architectural software design to low-level, component-oriented design
  • Acquire knowledge of various methods for specifying the logical and functional design of a system
  • Develop a critical understanding of software design and refinement processes
Skills
  • Creatively apply various visual and written methods for converting architectural/high-level designs to component-oriented, low-level design
  • Autonomously gather material and organise it into a coherent presentation or essay
  • Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
  • Apply an in-depth domain-specific knowledge and understanding of the importance of refinement in software design processes
Competencies
  • Efficiently manage interdisciplinary issues that arise in connection to developing hierarchical input process output (HIPO) models
  • Solve problems and be prepared to take leadership decisions related to developing code-ready low-level design documents
  • Create synthetic contextualised discussions of key issues related to specifying the internal logic of software
  • Apply a professional and scholarly approach to research problems pertaining to logical and functional design of software components
  • Demonstrate self-direction in research and originality in solutions developed for using Program Design Languages
  • Act autonomously in identifying research problems and solutions related to refining software designs
Backend Development
125 hours | 5 ECTS

About

Teachers

Shraddha Hosatti
Shraddha Hosatti

Intended learning outcomes

Knowledge
  • Critically evaluate diverse scholarly views on Back End Development
  • Critically assess the relevance of theories for business applications in the domain of technology
  • Develop a specialised knowledge of key strategies related to Back End Development
  • Develop a critical knowledge of Back End Development
  • Acquire knowledge of key aspects of Node.js like setup, package manager, client- server programming and connecting to various databases and REST
Skills
  • Apply an in-depth domain-specific knowledge and understanding to Back End Development applications
  • Autonomously gather material and organise it into coherent problem sets or presentations
  • Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
  • Creatively apply Back End Development tools to develop critical and original solutions for computational problems
Competencies
  • Solve problems and be prepared to take leadership decisions related to the methods and principles of Back End Development
  • Act autonomously in identifying research problems and solutions related to Back End Development
  • Efficiently manage interdisciplinary issues that arise in connection to Back End Development
  • Create synthetic contextualised discussions of key issues related to Back End Development
  • Apply a professional and scholarly approach to research problems pertaining to Back End Development
  • Demonstrate self-direction in research and originality in solutions developed for Back End Development
Data Engineering
125 hours | 5 ECTS

About

Teachers

Shraddha Hosatti
Shraddha Hosatti

Intended learning outcomes

Knowledge
  • Develop a specialised knowledge of standard tools for data processing, such as Apache Kafka, Airflow, and Spark (with PySpark), and the Hadoop Ecosystem
  • Critically assess the relevance of theories of data modelling for efficient pipeline creation
  • Develop a critical understanding of data engineering.
  • Critically evaluate diverse scholarly views on best practices in developing data- intensive applications
  • Acquire knowledge of various methods for warehousing data
Skills
  • Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
  • Apply an in-depth domain-specific knowledge and understanding of orchestrating complete ETL pipelines
  • Creatively apply various visual and written methods for dashboarding data with Grafana/Tableau.
  • Autonomously gather material and organise it into a coherent presentation or essay
Competencies
  • Apply a professional and scholarly approach to research problems pertaining to data warehousing and modeling.
  • Create synthetic contextualised discussions of key issues related to the data engineering lifecycle.
  • Act autonomously in identifying research problems and solutions related to developing for data at scale
  • Efficiently manage interdisciplinary issues that arise in connection to developing cloud solutions for data engineering problems.
  • Solve problems and be prepared to take leadership decisions related to developing pipelines to handle massive datasets for engineering purposes.
  • Demonstrate self-direction in research and originality in creating advanced SQL queries.
Product Management for Software Engineers
125 hours | 5 ECTS

About

Teachers

Shraddha Hosatti
Shraddha Hosatti

Intended learning outcomes

Knowledge
  • Develop a specialised knowledge of frameworks for measuring user engagement, such as diagnostics, key performance indicators (KPI), and other metrics
  • Acquire knowledge of various methods for testing hypotheses about the viability of a product and about how users engage with it
  • Develop a critical understanding of product design and development
  • Critically evaluate diverse scholarly views on assessing user behaviours
  • Critically assess the relevance of theories of user behaviour for product development
Skills
  • Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
  • Creatively apply various visual and written methods for proposing a technical solution to a real-world problem to other technical and managerial-level audiences, and for documenting that solutio
  • Apply an in-depth domain-specific knowledge and understanding of product roadmaps and lifecycles in business
  • Autonomously gather material and organise it into a coherent presentation or essay
Competencies
  • Solve problems and be prepared to take leadership decisions related to developing data-informed business cases about bringing products to market and iterating upon them
  • Efficiently manage interdisciplinary issues that arise in connection to designing a product and bringing it to market.
  • Act autonomously in identifying research problems and solutions related to product analytics.
  • Create synthetic contextualised discussions of key issues related to product sense, and how to tell whether a product is worth bringing to market.
  • Apply a professional and scholarly approach to research problems pertaining to measuring user engagement.
  • Demonstrate self-direction in research and originality in testing and validating hypotheses about a product and its users.
Low-Level Design and Design Patterns
125 hours | 5 ECTS

About

Teachers

Shraddha Hosatti
Shraddha Hosatti

Intended learning outcomes

Knowledge
  • Develop a critical understanding of object-oriented analysis and design
  • Critically assess the relevance of theories of reusable design for business applications in the domain of software engineering
  • Critically evaluate diverse scholarly views on the appropriateness of various approaches to design patterns for object-oriented design
  • Develop a specialised knowledge of modelling data, behaviour, and function in software
  • Acquire knowledge of various methods for specifying modular elements in a software subsystem
Skills
  • Apply an in-depth domain-specific knowledge and understanding of the importance of object-oriented design in software engineering
  • Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
  • Autonomously gather material and organise it into a coherent presentation or essay
  • Creatively apply various design patterns to most efficiently design software that meets specified criteria
Competencies
  • Create synthetic contextualised discussions of key issues related to Object- Oriented Analysis and Design
  • Demonstrate self-direction in research and originality in solutions developed for designing reusable software elements
  • Solve problems and be prepared to take leadership decisions related to developing design patterns to solve problems in software design
  • Apply a professional and scholarly approach to research problems pertaining to building software with reusable elements
  • Act autonomously in identifying research problems and solutions related to the modular, procedural software design
  • Efficiently manage interdisciplinary issues that arise in connection to modelling data, behaviour, and function
Distributed Systems with High-Level System Design
125 hours | 5 ECTS

About

Teachers

Shraddha Hosatti
Shraddha Hosatti

Intended learning outcomes

Knowledge
  • Critically assess the relevance of theories of distributed system design for business applications in the realm of software engineering
  • Acquire knowledge of various methods for optimising the tradeoffs between consistency and availability in the presence of partitions
  • Develop a specialised knowledge of hashing and caching strategies in distributed systems
  • Critically evaluate diverse scholarly views on containerisation as a system architecture strategy
  • Develop a critical understanding of software architecture design
Skills
  • Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
  • Autonomously gather material and organise it into a coherent presentation or essay
  • Creatively apply various visual and written methods for developing high-level system architecture designs
  • Apply an in-depth domain-specific knowledge and understanding of the importance of scalability in software engineering
Competencies
  • Demonstrate self-direction in research and originality in solutions developed for search across distributed environments
  • Efficiently manage interdisciplinary issues that arise in connection to micro services and containerisation
  • Solve problems and be prepared to take leadership decisions related to designing distributed systems that can scale
  • Apply a professional and scholarly approach to research problems pertaining to tradeoffs between consistency and availability when distributed systems are partitioned
  • Create synthetic contextualised discussions of key issues related to designing system architecture that is capable of scaling
  • Act autonomously in identifying research problems and solutions related to implementing SQL and NoSQL designs
Design and Analysis of Algorithms
125 hours | 5 ECTS

About

Teachers

Shraddha Hosatti
Shraddha Hosatti

Intended learning outcomes

Knowledge
  • Critically evaluate diverse scholarly views on design and analysis of algorithms
  • Develop a specialised knowledge of key strategies related to design and analysis of algorithms
  • Acquire knowledge of various algorithmic design methods
  • Develop a critical knowledge of design and analysis of algorithms
  • Critically assess the relevance of theories for business applications in the domain of technology
Skills
  • Autonomously gather material and organise it into a coherent presentation or essay
  • Apply an in-depth domain-specific knowledge and understanding to design and analysis of algorithms
  • Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
  • Creatively apply various algorithmic design methods to develop critical and original solutions to computational problems
Competencies
  • Act autonomously in identifying research problems and solutions related to design and analysis of algorithms
  • Efficiently manage interdisciplinary issues that arise in connection to design and analysis of algorithms
  • Create synthetic contextualised discussions of key issues related to design and analysis of algorithms to provide solutions to computational problems
  • Apply a professional and scholarly approach to research problems pertaining to design and analysis of algorithms
  • Demonstrate self-direction in research and originality in solutions developed for design and analysis of algorithms
  • Solve problems and be prepared to take leadership decisions related to the methods and principles of design and analysis of algorithms
Advanced Algorithms
125 hours | 5 ECTS

About

Teachers

Shraddha Hosatti
Shraddha Hosatti

Intended learning outcomes

Knowledge
  • Develop a specialised knowledge of describing, analysing, and evaluating algorithmic performance in time and space
  • Critically evaluate diverse scholarly views on the appropriateness of various algorithmic concepts to software development problems
  • Develop a critical understanding of important algorithmic concepts and principles, such as greedy algorithms, dynamic programming, minimum spanning trees, and graph algorithms
  • Critically assess the relevance of theories of algorithmic performance for business applications in the domain of software engineering
  • Acquire knowledge of various methods for optimizing algorithm design
Skills
  • Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
  • Apply an in-depth domain-specific knowledge and understanding of efficiency to algorithmic designs
  • Creatively apply various programming methods to most efficiently design algorithms for specified time and space constraints
  • Autonomously gather material and organise it into a coherent presentation or essay
Competencies
  • Act autonomously in identifying research problems and solutions related to the real-world application of common controls and data structures in high-level programming languages
  • Create synthetic contextualised discussions of key issues related to the efficient construction of algorithms
  • Apply a professional and scholarly approach to research problems pertaining to the comparative performance of algorithms
  • Efficiently manage interdisciplinary issues that arise in connection to the performance of algorithms and data structures in time and space
  • Solve problems and be prepared to take leadership decisions related to selecting the most appropriate algorithm for a software engineering problem
  • Demonstrate self-direction in research and originality in solutions developed for solving problems related to algorithmic design
Front End Development
125 hours | 5 ECTS

About

This course builds upon the introductory JavaScript course to acquaint students of popular and modern frameworks to build the front end. We focus on three very popular frameworks/libraries in use: React.js, jQuery and AngularJS. We start with React.js, one of the most popular and advanced ones amongst the three. students learn various components and data flow to learn to architect real world front end using React.js. This would be achieved via multiple code examples and code-walkthroughs from scratch. We would also dive into React Native which is a cross platform Framework to build native mobile and smart-TV apps using JavaScript. This helps students to build applications for various platforms using only JavaScript. jQuery is one of the oldest and most widely used JavaScript libraries, which students cover in detail. Students specifically focus on how jQuery can simplify event handling, AJAX, HTML DOM tree manipulation and create CSS animations. We also provide a hands-on introduction to AngularJS to architect model-view- controller (MVC) based dynamic web pages.

Teachers

Shraddha Hosatti
Shraddha Hosatti

Intended learning outcomes

Knowledge
  • Develop a specialised knowledge of key strategies related to front end development
  • Acquire knowledge of popular frameworks/libraries in use: React.js, jQuery and AngularJS
  • Critically evaluate diverse scholarly views on front end development
  • Develop a critical knowledge of front end development
  • Critically assess the relevance of theories for business applications in the domain of technology
Skills
  • Autonomously gather material and organise it into coherent problem sets or presentations
  • Creatively apply front end development applications to develop critical and original solutions for computational problems
  • Apply an in-depth domain-specific knowledge and understanding to front end development solutions
  • Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
Competencies
  • Create synthetic contextualised discussions of key issues related to front end development
  • Efficiently manage interdisciplinary issues that arise in connection to front end development
  • Solve problems and be prepared to take leadership decisions related to the methods and principles of front end development
  • Act autonomously in identifying research problems and solutions related to front end development
  • Demonstrate self-direction in research and originality in solutions developed for front end development
  • Apply a professional and scholarly approach to research problems pertaining to front end development
Front End UI/UX Development
125 hours | 5 ECTS

About

Teachers

Shraddha Hosatti
Shraddha Hosatti

Intended learning outcomes

Knowledge
  • Critically assess the relevance of theories for business applications in the domain of technology
  • Develop a critical knowledge of Front end UI/UX development
  • Critically evaluate diverse scholarly views on Front end UI/UX development
  • Acquire knowledge of HTML5, CSS and Frameworks like Bootstrap 4
  • Develop a specialised knowledge of key strategies related to Front end UI/UX development
Skills
  • Creatively apply Front end UI/UX development applications to develop critical and original solutions for computational problems.
  • Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
  • Autonomously gather material and organise into a coherent problem sets or presentation
  • Apply an in-depth domain-specific knowledge and understanding to technology
Competencies
  • Act autonomously in identifying research problems and solutions related to Front end UI/UX development
  • Efficiently manage interdisciplinary issues that arise in connection to Front end UI/UX development
  • Solve problems and be prepared to take leadership decisions related to the methods and principles of Front end UI/UX developmen
  • Apply a professional and scholarly approach to research problems pertaining to Front end UI/UX development
  • Demonstrate self-direction in research and originality in solutions developed for Front end UI/UX development
  • Create synthetic contextualised discussions of key issues related to Front end UI/UX development
Backend Development
125 hours | 5 ECTS

About

Teachers

Shraddha Hosatti
Shraddha Hosatti

Intended learning outcomes

Knowledge
  • Critically evaluate diverse scholarly views on Back End Development
  • Critically assess the relevance of theories for business applications in the domain of technology
  • Develop a specialised knowledge of key strategies related to Back End Development
  • Develop a critical knowledge of Back End Development
  • Acquire knowledge of key aspects of Node.js like setup, package manager, client- server programming and connecting to various databases and REST
Skills
  • Apply an in-depth domain-specific knowledge and understanding to Back End Development applications
  • Autonomously gather material and organise it into coherent problem sets or presentations
  • Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
  • Creatively apply Back End Development tools to develop critical and original solutions for computational problems
Competencies
  • Solve problems and be prepared to take leadership decisions related to the methods and principles of Back End Development
  • Act autonomously in identifying research problems and solutions related to Back End Development
  • Efficiently manage interdisciplinary issues that arise in connection to Back End Development
  • Create synthetic contextualised discussions of key issues related to Back End Development
  • Apply a professional and scholarly approach to research problems pertaining to Back End Development
  • Demonstrate self-direction in research and originality in solutions developed for Back End Development
System Design
125 hours | 5 ECTS

About

Teachers

Shraddha Hosatti
Shraddha Hosatti

Intended learning outcomes

Knowledge
  • Critically evaluate diverse scholarly views on System Design
  • Critically assess the relevance of theories for business applications in the domain of technology
  • Develop a critical knowledge of System Design
  • Develop a specialised knowledge of key strategies related to System Design
  • Acquire knowledge of popular data encoding schemes like XML and JSON
Skills
  • Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
  • Autonomously gather material and organise it into coherent problem sets or presentations
  • Creatively apply system design components to develop critical and original solutions for computational problems
  • Apply an in-depth domain-specific knowledge and understanding to System Design solutions
Competencies
  • Apply a professional and scholarly approach to research problems pertaining to System Design
  • Act autonomously in identifying research problems and solutions related to System Design
  • Solve problems and be prepared to take leadership decisions related to the methods and principles of System Design
  • Demonstrate self-direction in research and originality in solutions developed for System Design
  • Create synthetic contextualised discussions of key issues related to System Design
  • Efficiently manage interdisciplinary issues that arise in connection to System Design
Design Patterns
125 hours | 5 ECTS

About

Teachers

Shraddha Hosatti
Shraddha Hosatti

Intended learning outcomes

Knowledge
  • Acquire knowledge of the pros and cons of popular UML design patterns
  • Critically evaluate diverse scholarly views on design patterns
  • Develop a specialised knowledge of key strategies related to design patterns
  • Critically assess the relevance of theories for business applications in the domain of technology
  • Develop a critical knowledge of design patterns
Skills
  • Apply an in-depth domain-specific knowledge and understanding to object- oriented design patterns
  • Creatively utilize design patterns tools to develop critical and original solutions for computational problems
  • Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
  • Autonomously gather material and organise it into coherent problem sets or presentations
Competencies
  • Demonstrate self-direction in research and originality in solutions developed for design patterns
  • Create synthetic contextualised discussions of key issues related to design pattern
  • Solve problems and be prepared to take leadership decisions related to the methods and principles of design patterns
  • Efficiently manage interdisciplinary issues that arise in connection to design patterns
  • Act autonomously in identifying research problems and solutions related to design patterns
  • Apply a professional and scholarly approach to research problems pertaining to design patterns
Foundations of Cloud Computing
125 hours | 5 ECTS

About

Teachers

Shraddha Hosatti
Shraddha Hosatti

Intended learning outcomes

Knowledge
  • Acquire knowledge of virtualization and how virtualized compute instances are created and configured
  • Develop a critical knowledge of cloud computing
  • Critically assess the relevance of theories for business applications in the domain of technology
  • Critically evaluate diverse scholarly views on cloud computing
  • Develop a specialised knowledge of key strategies related to cloud computing
Skills
  • Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
  • Apply an in-depth domain-specific knowledge and understanding to cloud computing services
  • Creatively apply cloud computing applications to develop critical and original solutions for computational problems
  • Autonomously gather material and organise it into coherent problems sets or presentations
Competencies
  • Apply a professional and scholarly approach to research problems pertaining to cloud computing
  • Demonstrate self-direction in research and originality in solutions developed for cloud computing
  • Efficiently manage interdisciplinary issues that arise in connection to cloud computing
  • Act autonomously in identifying research problems and solutions related to cloud computing
  • Create synthetic contextualised discussions of key issues related to cloud computing
  • Solve problems and be prepared to take leadership decisions related to the methods and principles of cloud computing
Advanced Cloud Computing
125 hours | 5 ECTS

About

Teachers

Shraddha Hosatti
Shraddha Hosatti

Intended learning outcomes

Knowledge
  • resource management strategies in a cloud setup to ensure low costs and high availability
  • critical evaluations of the architecture and design of load balancers and their role in most horizontally scalable web-applications
  • specialised knowledge of key strategies related to advanced cloud computing
Skills
  • use content delivery networks (CDNs) to deliver live streaming and website content fast using globally distributed servers and caching
  • ability to autonomously gather material and organise it into coherent plan for solving problems related to advanced cloud computing
  • develop critical and original solutions to solve real world engineering problems to emerging issues in cloud computing
Competencies
  • efficiently manage horizontally scalable web-applications
  • understand the serverless computing model and how it is achieved by most cloud providers in order to configure complex cloud systems
  • deploy advanced cloud computing systems, and track various key metrics, trigger alarms, detect anomalous behaviour and act upon them in near real-time
  • Demonstrate self-direction, autonomy, and leadership in research and originality in solutions for complex cloud systems with many components and services
Design and Analysis of Algorithms
125 hours | 5 ECTS

About

Teachers

Shraddha Hosatti
Shraddha Hosatti

Intended learning outcomes

Knowledge
  • Critically evaluate diverse scholarly views on design and analysis of algorithms
  • Develop a specialised knowledge of key strategies related to design and analysis of algorithms
  • Acquire knowledge of various algorithmic design methods
  • Develop a critical knowledge of design and analysis of algorithms
  • Critically assess the relevance of theories for business applications in the domain of technology
Skills
  • Autonomously gather material and organise it into a coherent presentation or essay
  • Apply an in-depth domain-specific knowledge and understanding to design and analysis of algorithms
  • Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
  • Creatively apply various algorithmic design methods to develop critical and original solutions to computational problems
Competencies
  • Act autonomously in identifying research problems and solutions related to design and analysis of algorithms
  • Efficiently manage interdisciplinary issues that arise in connection to design and analysis of algorithms
  • Create synthetic contextualised discussions of key issues related to design and analysis of algorithms to provide solutions to computational problems
  • Apply a professional and scholarly approach to research problems pertaining to design and analysis of algorithms
  • Demonstrate self-direction in research and originality in solutions developed for design and analysis of algorithms
  • Solve problems and be prepared to take leadership decisions related to the methods and principles of design and analysis of algorithms
Advanced Algorithms
125 hours | 5 ECTS

About

Teachers

Shraddha Hosatti
Shraddha Hosatti

Intended learning outcomes

Knowledge
  • Develop a specialised knowledge of describing, analysing, and evaluating algorithmic performance in time and space
  • Critically evaluate diverse scholarly views on the appropriateness of various algorithmic concepts to software development problems
  • Develop a critical understanding of important algorithmic concepts and principles, such as greedy algorithms, dynamic programming, minimum spanning trees, and graph algorithms
  • Critically assess the relevance of theories of algorithmic performance for business applications in the domain of software engineering
  • Acquire knowledge of various methods for optimizing algorithm design
Skills
  • Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing
  • Apply an in-depth domain-specific knowledge and understanding of efficiency to algorithmic designs
  • Creatively apply various programming methods to most efficiently design algorithms for specified time and space constraints
  • Autonomously gather material and organise it into a coherent presentation or essay
Competencies
  • Act autonomously in identifying research problems and solutions related to the real-world application of common controls and data structures in high-level programming languages
  • Create synthetic contextualised discussions of key issues related to the efficient construction of algorithms
  • Apply a professional and scholarly approach to research problems pertaining to the comparative performance of algorithms
  • Efficiently manage interdisciplinary issues that arise in connection to the performance of algorithms and data structures in time and space
  • Solve problems and be prepared to take leadership decisions related to selecting the most appropriate algorithm for a software engineering problem
  • Demonstrate self-direction in research and originality in solutions developed for solving problems related to algorithmic design

Entry Requirements

Tuition Cost
1,75,000 INR
Student education requirement
Undergraduate (Bachelor’s)

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