Postgraduate Certificate in Computer Science: Software Engineering

Fully Online
6 months
750 hours | 30 ECTS
Certificate
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

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

Introduction to Problem-Solving Techniques :Part 1
125 hours | 5 ECTS

About

The ability to solve problems is a skill, and just like any other skill, the more one practices, the better one gets. So how exactly does one practice problem solving?Learning about different problem-solving strategies and when to use them will give a good start. Problem solving is a process. Most strategies provide steps that help you identify the problem and choose the best solution.Building a toolbox of problem-solving strategies will improve problem solving skills.With practice, students will be able to recognize and choose among multiple strategies to find the most appropriate one to solve complex problems. The course will focus on developing problem-solving strategies such as abstraction, modularity, recursion, iteration, bisection, and exhaustive enumeration.The course will also introduce arrays and some of their real-world applications, such as prefix sum, carry forward, subarrays, and 2-dimensional matrices. Examples will include industry-relevant problems and dive deeply into building their solutions with various approaches, recognizing each’s limitations (i.e when to use a data structure and when not to use a data structure).By the end of this course a student can come up with the best strategy which can optimize both time and space complexities by choosing the best data structure suitable for a given problem.

Teachers

No items found.

Intended learning outcomes

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

About

This course helps students translate advanced mathematical/ statistical/ scientific concepts into code. This is a module for writing code to solve real-world problems. It introduces programming concepts (such as control structures, recursion, classes and objects) assuming no prior programming knowledge, to make this course accessible to advanced professionals from scientific fields like Biology, Physics, Medicine, Chemistry, Civil & Mechanical Engineering etc. After building a strong foundation for converting scientific knowledge into programming concepts, the course advances to dive deeply into Object-Oriented Programming and its methodologies. It also covers when and how to use inbuilt-data structures like 1-Dimensional and 2-Dimensional Arrays before introducing the concepts of computational complexity to help students write optimised code using appropriate data structures and algorithmic design methods. The module can be taught to allow students to learn these concepts using a modern programming language such as Java or Python. The course offers students the ability to identify and solve computer programming problems in scientific fields at a graduate level. The course prepares students to handle advanced data structures and algorithm design methods in the separate module, ‘Data Structures’.

Teachers

Soumya Ranjan Mishra
Soumya Ranjan Mishra
Chirag Beniwal
Chirag Beniwal
Ravi Kumar Gupta
Ravi Kumar Gupta
Alok Anand
Alok Anand

Intended learning outcomes

Knowledge
  • Develop a critical understanding of a modern programming language such as Java or Python.
  • Acquire knowledge of various methods for structuring data.
  • Critically assess the relevance of theories for business applications in the domain of technology.
  • Critically evaluate diverse scholarly views on computational complexity.
  • Develop a specialised knowledge of key strategies related to Object-Oriented Programming.
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
  • Act autonomously in identifying research problems and solutions related to Object-Oriented programming
  • Create synthetic contextualised discussions of key issues related to converting scientific knowledge into programming concepts, and how to instantiate these using Object-Oriented methods
  • Apply a professional and scholarly approach to research problems pertaining to computational complexity
  • Efficiently manage interdisciplinary issues that arise in connection to data structured in 1- and 2-dimensional arrays
  • Demonstrate self-direction in research and originality in solutions developed for modern programming languages
  • Solve problems and be prepared to take leadership decisions related to the methods and principles of computer programming
Mathematics for Computer Science
125 hours | 5 ECTS

About

Mathematics and computer science are closely related fields. Problems in computer science are often formalized and solved with mathematical methods. It is likely that many important problems currently facing computer scientists will be solved by researchers skilled in algebra, analysis, combinatorics, logic and/or probability theory, as well as computer science. This course covers discrete mathematics for computer science and engineering. Topics may include asymptotic notation and growth of functions; permutations and combinations; counting principles; discrete probability. Further selected topics may also be covered, such as recursive definition and structural induction; state machines and invariants; recurrences; generating functions. Students will be able to explain and apply the basic methods of discrete(noncontinuous) mathematics in computer science. They will be able to use these methods in subsequent courses in the design and analysis of algorithms, computability theory, software engineering, and computer systems. The focus of the course is real-world problems and applications often found in business and industry.

Teachers

Soumya Ranjan Mishra
Soumya Ranjan Mishra
Ravi Kumar Gupta
Ravi Kumar Gupta
Alok Anand
Alok Anand

Intended learning outcomes

Knowledge
  • Develop a specialised knowledge of evaluating and describing algorithmic performance using tools from discrete mathematics.
  • Develop a critical knowledge of discrete mathematics as a tool in software development.
  • Critically assess the relevance of theories of recursivity and induction for business applications in the domain of computational problem-solving.
  • Acquire knowledge of various methods for optimizing algorithm design.
  • Critically evaluate diverse scholarly views on the appropriateness of various mathematical approaches to software development problems.
Skills
  • Autonomously gather material and organise it into a coherent presentation or essay.
  • Apply an in-depth domain-specific knowledge and understanding of discrete mathematics to algorithmic designs.
  • Creatively apply various programming methods to most efficiently implement state machines in algorithmic design.
  • Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing.
Competencies
  • Efficiently manage interdisciplinary issues that arise in connection to permutations and combinations in algorithm design.
  • Apply a professional and scholarly approach to research problems pertaining to the growth of functions.
  • Act autonomously in identifying research problems and solutions related to the real-world application of discrete mathematics.
  • Create synthetic contextualised discussions of key issues related to applications of discrete mathematics in computer science.
  • Solve problems and be prepared to take leadership decisions related to applying discrete mathematics to optimizing algorithms.
  • Demonstrate self-direction in research and originality in solutions developed for solving problems related to discrete probability.
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

Soumya Ranjan Mishra
Soumya Ranjan Mishra
Chirag Beniwal
Chirag Beniwal
Ravi Kumar Gupta
Ravi Kumar Gupta
Alok Anand
Alok Anand

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 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 specialised knowledge of key strategies related to front end development.
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.
  • Employ the standard modern conventions for the presentation of scholarly work and scholarly referencing.
  • Apply an in-depth domain-specific knowledge and understanding to front end development solutions.
Competencies
  • Solve problems and be prepared to take leadership decisions related to the methods and principles of front end development.
  • Create synthetic contextualised discussions of key issues related to front end development.
  • Apply a professional and scholarly approach to research problems pertaining to front end development.
  • Demonstrate self-direction in research and originality in solutions developed for front end development.
  • Act autonomously in identifying research problems and solutions related to front end development.
  • Efficiently manage interdisciplinary issues that arise in connection to front end development.
Backend Development
125 hours | 5 ECTS

About

This is a foundational course on building server-side (or backend) applications using popular JavaScript runtime environments like Node.js. Students will learn event driven programming for building scalable backend for web applications. The module teaches various aspects of Node.js like setup, package manager, client- server programming and connecting to various databases and REST APIs. Most of these concepts would be covered in a hands-on manner with real world examples and applications built from scratch using Node.js on Linux servers. This course also provides an introduction to Linux server administration and scripting with special focus on web-development and networking. Students learn to use Linux monitoring tools (like Monit) to track the health of the servers. The module also provides an introduction to Express.js which is a popular light-weight framework for Node.js applications. Given the practical nature of this course, this would involve building actual website backends via assignments/projects for ecommerce, online learning and/or photo-sharing.

Teachers

Soumya Ranjan Mishra
Soumya Ranjan Mishra
Chirag Beniwal
Chirag Beniwal
Ravi Kumar Gupta
Ravi Kumar Gupta
Alok Anand
Alok Anand

Intended learning outcomes

Knowledge
  • Acquire knowledge of key aspects of Node.js like setup, package manager, client- server programming and connecting to various databases and REST
  • Develop a specialised knowledge of key strategies related to Back End Development
  • Critically assess the relevance of theories for business applications in the domain of technology
  • Critically evaluate diverse scholarly views on Back End Development
  • Develop a critical knowledge of Back End Development
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
  • Creatively apply Back End Development tools to develop critical and original solutions for computational problems
  • 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 Back End Development
  • Act autonomously in identifying research problems and solutions related to Back End Development
  • Create synthetic contextualised discussions of key issues related to Back End Development
  • Demonstrate self-direction in research and originality in solutions developed for Back End Development
  • Solve problems and be prepared to take leadership decisions related to the methods and principles of Back End Development
  • Efficiently manage interdisciplinary issues that arise in connection to Back End Development
Product Management for Software Engineers
125 hours | 5 ECTS

About

Every organisation is building products to solve the pain points of its customers. Product managers are a critical part of an organisation, who make sure that evolving customer needs, and market trends are observed and converted into delightful solutions which help businesses get its outcomes. In this course, students will get a fundamental understanding of product management practices. This will give them a comprehensive view of the complete product management life cycle.

Teachers

Soumya Ranjan Mishra
Soumya Ranjan Mishra
Chirag Beniwal
Chirag Beniwal
Ravi Kumar Gupta
Ravi Kumar Gupta
Alok Anand
Alok Anand

Intended learning outcomes

Knowledge
  • Critically evaluate diverse scholarly views on assessing user behaviours
  • Critically assess the relevance of theories of user behaviour for product development
  • Develop a critical understanding of product design and development
  • 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 i
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 solution
  • Autonomously gather material and organise it into a coherent presentation or essay
  • Apply an in-depth domain-specific knowledge and understanding of product roadmaps and lifecycles in business
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.
  • Demonstrate self-direction in research and originality in testing and validating hypotheses about a product and its users.
  • Efficiently manage interdisciplinary issues that arise in connection to designing a product and bringing it to market.
  • Apply a professional and scholarly approach to research problems pertaining to measuring user engagement.
  • 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

Entry Requirements

Tuition Cost
1,00,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