Courses

Course categories

We found 332 courses available for you
See

Ethical Hacking and Penetration Testing: Assessing Network Security Risks

25 Lessons
Intermediate

The “Ethical Hacking and Penetration Testing: Assessing Network Security Risks” …

What you'll learn
Study different hacking methodologies and techniques used by ethical hackers to assess and test network security.
Understand the legal and ethical considerations of ethical hacking, including obtaining proper authorization and respecting user privacy.
Explore the tools and software commonly used in penetration testing to simulate real-world cyberattacks.
Gain knowledge of common network security risks and vulnerabilities, such as weak passwords, outdated software, and misconfigured systems.
Study the process of conducting vulnerability assessments and penetration tests on networks, systems, and applications.
Learn how to analyze and interpret the results of penetration tests and create comprehensive security assessment reports.
Understand the role of penetration testing in improving an organization's overall cybersecurity posture.
Work on practical projects to conduct ethical hacking and penetration testing on simulated network environments.

Software Engineering Fundamentals: Principles and Practices

20 Lessons
Intermediate

The “Software Engineering Fundamentals: Principles and Practices” course is designed …

What you'll learn
Study the software development life cycle (SDLC) and understand the different phases, including requirements gathering, design, implementation, testing, deployment, and maintenance.
Explore software design principles and best practices for creating scalable, maintainable, and modular software architectures.
Gain knowledge of different software development methodologies, such as Agile, Scrum, and Waterfall, and understand when to apply each approach based on project requirements.
Study the importance of software testing and quality assurance in ensuring the reliability and functionality of software systems.
Understand the role of version control systems and collaborative development tools in software engineering projects.
Learn about the significance of documentation and effective communication in software development teams.

Agile Software Development: Managing Projects for Success

17 Lessons
Intermediate

The “Agile Software Development: Managing Projects for Success” course is …

What you'll learn
Learn about the principles and values of Agile software development and its significance in delivering successful projects.
Study different Agile methodologies, such as Scrum, Kanban, and Extreme Programming (XP), and understand their unique approaches to project management and collaboration.
Explore Agile project planning and iteration management, including techniques for backlog prioritization, sprint planning, and release planning.
Gain knowledge of Agile team roles and responsibilities, including the Scrum Master, Product Owner, and development team members.
Understand the importance of customer collaboration and continuous feedback in Agile software development.

Software Quality Assurance: Ensuring Reliable and Efficient Solutions

20 Lessons
Intermediate

The “Software Quality Assurance: Ensuring Reliable and Efficient Solutions” course …

What you'll learn
Study the software testing life cycle and understand the different phases, including test planning, test design, test execution, defect tracking, and test closure.
Explore different types of software testing, such as functional testing, performance testing, security testing, and usability testing, and understand their importance in identifying and resolving software defects.
Gain knowledge of test automation and the use of testing tools to enhance the efficiency and effectiveness of software testing processes.
Understand the role of software quality metrics and performance indicators in evaluating the success of QA efforts.
Study the importance of collaboration between software development and QA teams to achieve high-quality software solutions.

Software Architecture and Design: Building Scalable and Maintainable Systems

16 Lessons
Intermediate

The “Software Architecture and Design: Building Scalable and Maintainable Systems” …

What you'll learn
Explore software design patterns and best practices for creating flexible and reusable software components.
Gain knowledge of architectural principles for designing systems that are robust, extensible, and easy to maintain.
Understand the importance of modularity and separation of concerns in software architecture and design.
Study the role of data modeling and database design in building effective and efficient software systems.
Learn about the use of UML (Unified Modeling Language) and other modeling techniques to visualize and communicate software architecture and design.
Explore the challenges and solutions in designing distributed systems and handling issues related to scalability and performance.

Software Testing Fundamentals: Principles and Techniques

17 Lessons
Intermediate

The “Software Testing Fundamentals: Principles and Techniques” course provides a …

What you'll learn
Explore various types of software testing, such as functional testing, performance testing, security testing, and usability testing, and understand when to apply each type based on testing objectives.
Gain knowledge of test case design techniques, including boundary value analysis, equivalence partitioning, and decision table testing.
Understand the role of test automation and testing tools in enhancing the efficiency and effectiveness of software testing processes.
Learn about the importance of test documentation and effective communication in the testing team.
Study the challenges and solutions in testing complex and distributed systems.
Explore best practices for defect management and reporting.

Automated Software Testing: Tools and Best Practices

22 Lessons
Intermediate

The “Automated Software Testing: Tools and Best Practices” course is …

What you'll learn
Study different types of automated testing, including unit testing, integration testing, and end-to-end testing, and understand their roles in the software testing life cycle.
Explore popular automated testing frameworks and tools, such as Selenium, JUnit, TestNG, and Cucumber, and understand how to use them to create automated test scripts.
Gain knowledge of test automation best practices and design patterns to build maintainable and scalable automated test suites.
Understand the process of test automation planning, including selecting appropriate test cases for automation and creating a test automation strategy.
Learn about continuous integration and continuous delivery (CI/CD) and how automated testing integrates into the CI/CD pipeline.

Performance Testing and Load Testing: Ensuring Optimal Software Performance

19 Lessons
Intermediate

The “Performance Testing and Load Testing: Ensuring Optimal Software Performance” …

What you'll learn
Study different types of performance testing, including load testing, stress testing, endurance testing, and scalability testing, and understand when to apply each type based on specific performance requirements.
Explore performance testing tools and techniques for simulating real-world user interactions and measuring system performance under different load conditions.
Gain knowledge of performance metrics and key performance indicators (KPIs) used to evaluate software performance and identify performance bottlenecks.
Understand the process of designing realistic performance test scenarios and creating performance test scripts.