Software Engineering Certificate
Course ID – GKA-024
Information technologies touch every segment of society, driving change and innovation across every industry. As organizations integrate new technologies to compete in the global environment, they require more computer software engineers to implement those new technologies. Today’s complex and competitive business environment demands that companies vigilantly ensure the reliability and integrity of computer systems to avoid costly and potentially catastrophic disruption. To ensure success and guard against failure, alert industries engage technically qualified experts with sound managerial judgment.
This certificate offers what candidates need to know to understand fail-safe computer systems, both rapidly and prudently. The Software Engineering Certificate provides a foundation in technical concepts and design techniques, as well as management and teamwork approaches, for building software systems. The emphasis of this certificate is on implementing software engineering projects within cost and schedule by applying the most current proven and innovative practices that overcome the shortcomings of an undisciplined approach.
The software industry is under intense pressure to deliver quality software. Because software production remains a labor intensive activity, the demand for large volumes of high quality software translates into high demand for qualified software engineers. This certificate is comprised of an appropriate balance of theoretical computer science foundations that afford candidates the means to remain abreast of developments in software engineering in the long term and practical applications that afford graduates the means to be operational in the short term. Managers and software professionals who enroll in this certificate will become authorities on quantitative, rather than qualitative problem-solving methods while learning to deal with a broad spectrum of enterprises—from small-scale to large complex projects.
The focus of the courses in this certificate are on the principal elements of advanced software engineering – analysis and design, component-based architecture, configuration management, group dynamics, and testing, verification and validation; including full-stack programming, Agile and DevOps.
Software Engineering Certificate
Course ID – GKA-024
Select at least 4 courses from the following:
(All courses are available face-to-face)
1. Analysis & Development of IS Services / Applications
This course presents and analyzes various approaches to information analysis and development of organizational information systems within a system development life-cycle (SDLC), e.g. the waterfall, concentric, Agile, Scrum, DevOps, and prototyping approaches. Topics include strategic planning for SDLC, front-end and back-end phases of SDLC, project management, CASE methodologies, full-stack programming, Agile, Scrum, DevOps, and balancing user, organizational, and technical considerations.
2. Integrating IT Services
This course focuses on ways of designing an integrated enterprise architecture. The course explains the different forms of corporate information systems and their interaction. Mainframe systems and Cloud will be the focus of the architecture. While in the past, mainframe systems were often self-contained, in current systems, it is more likely that such systems are part of an overall architecture including many smaller hardware devices and operating systems. The participant will learn about the building blocks of current enterprise architectures, and then will learn how to connect them to solve the problems of large companies.
3. Fundamentals of SW Engineering
Introduces software engineering from a quantitative—analytic and metrics-based—point of view. Become acquainted with software life-cycle process models (e.g., SDLC, full-stack programming, Agile, DevOps, Scrum) from those demanded by very large projects, to the lightest in extreme programming. Skillfully apply industry-standard software engineering tools. Engage creatively in teamwork, project planning, and object-oriented analysis and design. Probe case histories in project-oriented scenarios.
4. SW Estimation & Measurement
The purpose of this course is to prepare participants with the essential considerations for software estimation and measurement. The focus is on applying proven methods, tools, techniques and models that have been shown to demonstrate value to the software estimation and measurement process to both IT and non-IT stakeholders. The important techniques such as analogy, top-down, bottom-up, and expert judgment will be covered. The use of models for developing estimates, performing “what-if” analysis, bounding risks, and conducting a variety of trade studies will also be highlighted, as will the metrics that can be used to pinpoint status and assess progress. The course uses a variety of examples, case studies, and hands-on exercises to develop estimating skills, knowledge and abilities, including the use of actual cost model cases developed using the public domain COCOMO II model, to highlight their use and value to the developer. Participants will leave the course fully prepared to develop or validate a software estimate, assess their status, and progress and predict whether or not they will be delivered on-time and on budget, as well as meet the project functional requirements.
5. SW Requirements Analysis
One of the least understood and most difficult phases in software development, requirements acquisition is an especially high hurdle because stakeholders are often unclear about objectives. Learn how to identify stakeholders and how to elicit and verify their requirements for new or extended software products. Introduces analysis and modeling as the first steps in software design. Receive a though understanding of quality assurance. A case-history and project-oriented course, exploiting industry-standard software tools.
6. SW Testing and Quality Assurance
Effective software testing is the hallmark of trustworthy software systems. In this course, participants learn about the various modes of testing needed for quality software systems, including:
- Getting an intensive look at real-world software testing coupled with a liberal number of case histories.
- Building a library of test cases using call setup, clearing, restart, and reset state diagrams.
- Learning to appreciate boundary conditions in structural and functional testing.
- Testing two sorting routines to determine if boundary conditions and performance requirements are met.
- Building test cases with orthogonal array tables.
- Exploring alternative test approaches, such as negative testing and risk-based testing, to certify software reliability.
7. Advanced Agile & DevOps Methods for Software Development
In software initiatives where project areas require exploratory development efforts, with complex requirements, and high levels of change, agile software development practices are highly effective when deployed in a collaborative, people-centered organizational culture. This course examines Agile methods, including Extreme Programming (XP), Scrum, Lean, Crystal, Dynamic Systems Development Method and Feature-Driven Development to understand how rapid realization of software occurs most effectively. The ability of agile development teams to rapidly develop high quality, customer-valued software is examined and contrasted with teams following more traditional methodologies that emphasize planning and documentation. Candidates will learn advanced full-stack programming, Agile and DevOps development principles and techniques covering the entire software development life-cycle from project conception through development, testing, and deployment; they will be prepared to effectively participate in and manage Agile and DevOps software development initiatives using these evolving methodologies.
8. Engineering Applications for the Cloud
This course introduces the concepts that are the fundamental properties of applications in the cloud including “autonomy”, “elasticity”, and “statelessness”. It also presents proven guidelines for how to build new components and how to integrate existing applications to leverage the new opportunities provided by Cloud.
After completing this course, participants will understand how to address the major challenges to build scalable and highly available applications in the cloud. They will learn how to achieve scalability based on coupling the components of an application in a “loose manner”, including the major technological underpinning to achieve loose coupling; message queuing. It became clear that avoiding keeping state within components is another key contributor to scalability and high availability. This implies to exchange state within messages. Workload management and watchdog techniques are understood as important for elasticity. The course focuses on the set of best practices to attain significant value from Cloud applications.
Become Part of Global Knowledge Alliance to Further Your Career.