• No results found

COURSE CATALOG

N/A
N/A
Protected

Academic year: 2021

Share "COURSE CATALOG"

Copied!
32
0
0

Loading.... (view fulltext now)

Full text

(1)

COURSE

CATALOG

2016

THE COMMUNITY FOR TECHNOLOGY LEADERS

THE COMMUNITY FOR TECHNOLOGY LEADERS

(2)

CONTENTS

SWEBOK KNOWLEDGE AREA REVIEW COURSES

Software Requirements Course ...4

Software Design Course ...6

Software Construction Course ...7

Software Testing Course ...8

Software Maintenance Course ...9

Software Configuration Management Course...10

Software Engineering Management Course ...11

Software Engineering Process Course ...12

Software Engineering Models & Methods Course ...13

Software Quality Course ...14

Software Engineering Economics Course ...15

Software Project Management Course ...16

CONTINUING EDUCATION CERTIFICATES OF

ACHIEVEMENT COURSES

Cloud Computing In the Business Environment ...20

Cloud Governance and Security ...21

Cloud Economics, Metrics and Migration ...22

Foundations of Secure Software ...23

Managing Secure Software Development ...24

Secure Software Coding ...25

Secure Software Design ...26

Embedded System ...27

Multi-Core Video Series ...28

Quarto ...29

(3)

SWEBOK KNOWLEDGE

AREA REVIEW COURSES

(4)

SOFTWARE REQUIREMENTS COURSE

Course Description:

Software requirements engineering is the process of determining what is to be produced in a software system. It has the widely recognized goal of determining the needs for, and the intended external behavior, of a system design.

The four specific steps in software requirements engineering are: requirements elicitation, requirements analysis, requirements specification, and requirements validation. The importance of high quality software requirements, long recognized as the foundation from which all software work follows, cannot be overstated. Arriving at a shared vision of the product to be developed is one of the greatest challenges facing the software project team, and customer involvement is among the most critical factors in software quality.

This course will give participants a number of best practices, based upon the Software Engineering Body of Knowledge (SWEBOK), so that they can improve the quality of the requirements elicitation and development process in their organization. Characteristics of high quality requirements specifications are completeness, conciseness, accuracy, modularization, prioritization, analysis, and verification.

Ultimately, the techniques presented reduce project risk, improve product quality, and allow for effective control of requirements volatility—all measures for increasing the likelihood of a successful software project.

Learning Objectives

Upon completion of this course, the student will be able to:

1. Develop effective functional and non-functional requirements that are complete, concise, correct, consistent, testable and unambiguous.

2. Select the appropriate requirements elicitation techniques to identify requirements.

3. Design a set of software models to be used to flesh out hidden requirements and drive clarity into the system functional requirements

4. Effectively analyze requirements and prioritize accordingly.

5. Perform requirements engineering in the context of the most common software development life cycles and processes.

6. Create a requirements specification to communicate requirements to a broad set of stakeholders.

7. Utilize various requirements validation techniques to critically evaluate their requirements to identify defects 8. Manage change to requirements

(5)

Self-Paced Learning Approximate Time: 4 hours PDH 4

CEU 0.4

Member: $65

Course Modules:

1. Software Requirements Fundamentals 1.1. Definition of a Software Requirement 1.2. Product and Process Requirements

1.3. Functional and Nonfunctional Requirements 1.4. Emergent Properties

1.5. Quantifiable Requirements

1.6. System Requirements and Software Requirements 2. Requirements Process

2.1. Process Models 2.2. Process Actors

2.3. Process Support and Management 2.4. Process Quality and Improvement 3. Requirements Elicitation 3.1. Requirements Sources 3.2. Elicitation Techniques 4. Requirements Analysis 4.1. Requirements Classification 4.2. Conceptual Modeling

4.3. Architectural Design and Requirements Allocation 4.4. Requirements Negotiation

4.5. Formal Analysis 5. Requirements Specification

5.1. System Definition Document 5.2. System Requirements Specification 5.3. Software Requirements Specification 6. Requirements Validation 6.1. Requirements Reviews 6.2. Prototyping 6.3. Model Validation 6.4. Acceptance Tests 7. Practical Considerations

7.1. Iterative Nature of the Requirements Process 7.2. Change Management

7.3. Requirements Attributes 7.4. Requirements Tracing 7.5. Measuring Requirements 8. Software Requirements Tools

(6)

Course Modules:

1. Software Design Fundamentals 1.1. General design concepts 1.2. Context of software design 1.3. Software design process 1.4. Software design principles 2. Key Issues in Software Design

2.1. Concurrency

2.2. Control and handling of events 2.3. Data persistence

2.4. Distribution of components

2.5. Error exception handling and fault tolerance 2.6. Interaction and presentation

2.7. Security

3. Software Structure and Architecture 3.1. Architectural structures and viewpoints 3.2. Architectural styles

3.3. Design patterns

3.4. Architecture design decisions 3.5. Families of programs and frameworks 4. User Interface Design

4.1. General user interface design principles 4.2. User interface design issues

4.3. Design of user interaction modalities 4.4. Design of information presentation 4.5. User interface design process 4.6. Localization and internationalization 4.7. Metaphors and conceptual models 5. Software Design Quality Analysis and Evaluation

5.1. Quality attributes

5.2. Quality analysis and evaluation techniques 5.3. Measures

6. Software Design Notations

6.1. Structural descriptions (static view) 6.2. Behavioral descriptions (dynamic view) 7. Software Design Strategies and Methods

7.1. General strategies

7.2. Function-oriented (structured) design 7.3. Object-oriented design

7.4. Data structure-oriented design 7.5. Component-based design 7.6. Other methods

8. Software Design Tools

Self-Paced Learning Approximate Time: 8 hours PDH 8 CEU 0.8 Member: $125

SOFTWARE DESIGN

COURSE

Course Description:

Software design is both the process of defining the architecture, components, interfaces and other characteristics of a system, and the result of that process. Essentially, software design is the software life cycle activity in which parameters outlined and defined in the Requirements process are translated into a description of a software system’s internal structure that can be used as a basis for construction. This course begins with design fundamentals, including concepts, context and processes. It then progresses through key design issues; structure and architecture; user interface design; design quality analysis and evaluation; notations; strategies and design tools, all within the context of real-world challenges.

Learning Objectives:

1. Outline the software design process, and

demonstrate how the essential design principles are applied within it.

2. Apply the concepts of concurrency, data persistence, error handling and security to a typical software design project.

3. Illustrate the essential elements of software structure and architecture in terms of styles, patterns and families of programs and frameworks.

4. Explain the application of user interface design to a software development project, including essential principles, interaction modalities, information presentation and the UI design process.

5. Demonstrate the application of quality analysis and evaluation principles, including quality attributes, analysis and evaluation techniques, and quality measures.

6. Explain through example the concept of design notations in terms of structure and behavioral descriptions.

7. Employ function, object, data-structure and

component-based design methodologies in a typical software design project.

(7)

Course Modules:

1. Software Construction Fundamentals 1.1. Minimizing Complexity

1.2. Anticipating Change 1.3. Constructing for Verification 1.4. Reuse

1.5. Standards in Construction 2. Managing Construction

2.1. Construction in Life Cycle Models 2.2. Construction Planning 2.3. Construction Measurement 3. Practical Considerations 3.1. Construction Design 3.2. Construction Languages 3.3. Coding 3.4. Construction Testing 3.5. Construction for Reuse 3.6. Construction with Reuse 3.7. Construction Quality 3.8. Integration

4. Construction Technologies 4.1. API Design and Use

4.2. Object-Oriented Runtime Issues 4.3. Parameterization and Generics

4.4. Assertions, Design by Contract, and Defensive Programming

4.5. Error Handling, Exception Handling, and Fault Tolerance 4.6. Executable Models

4.7. State-Based and Table-Driven Construction Techniques 4.8. Runtime Configuration and Internationalization 4.9. Grammar-Based Input Processing

4.10. Concurrency Primitives 4.11. Middleware

4.12. Construction Methods for Distributed Software 4.13. Constructing Heterogeneous Systems

4.14. Performance Analysis and Tuning 4.15. Platform Standards

4.16. Test-First Programming 5. Construction Tools

5.1. Development Environments 5.2. GUI Builders

5.3. Unit Testing Tools

5.4. Profiling, Performance Analysis, and Slicing Tools

Self-Paced Learning Approximate Time: 6 hours PDH 6 CEU 0.6 Member: $85

SOFTWARE

CONSTRUCTION

COURSE

Course Description:

Software Construction is the detailed creation of working software through a combination of coding, verification, unit testing, integration testing and debugging. Construction uses the output from the design process to build software therein described, and provides an output to testing. Thus, design, construction and testing are closely intertwined, and very often overlap. Some design functions may carry over into the construction phase, and unit/integration testing are frequently performed during the construction phase. In this course, we will examine key construction fundamentals such as minimizing complexity, dealing with change, building for verification and basic construction standards. From fundamentals, the course moves through managing the construction process; key practical considerations; construction technologies and construction tools. Since construction is a hands-on intensive endeavor, students are challenged with hands-on exercises that mimic real-world software construction challenges.

Learning Objectives

1. Apply the fundamentals of software construction as outlines in this course to an actual software development project.

2. Demonstrate by example the key construction life cycle models.

3. Interpret key practical construction considerations such as design, languages, coding, testing, quality and reuse.

4. Evaluate and provide examples of the key construction technologies in a typical software construction project.

5. Explain the application of software construction tools such as GUI builders, unit testing tools, profiling, performance analysis and slicing tools

(8)

Course Modules:

1. Software Testing Fundamentals 1.1. Testing-Related Terminology 1.2. Key Issues

1.3. Relationship of testing to other activities 2. Test Levels

2.1. The Target of the Test 2.2. Objectives of Testing 3. Test Techniques

3.1. Based on the Software Engineer’s Intuition and Experience

3.2. Input Domain-Based Techniques 3.3. Code-Based Techniques 3.4. Fault-Based Techniques 3.5. Usage-Based Techniques 3.6. Model-Based Testing Techniques

3.7. Techniques Based on the Nature of the Application 3.8. Selecting and Combining Techniques

4. Test-Related Measures

4.1. Evaluation of the Program 4.2. Under Test

4.3. Evaluation of the Tests Performed 5. Test Process

5.1. Practical Considerations 5.2. Test Activities

6. Software Testing Tools 6.1. Testing Tool Support 6.2. Categories of Tools

Self-Paced Learning Approximate Time: 8 hours PDH 8 CEU 0.8 Member: $125

SOFTWARE TESTING

COURSE

Course Description:

Software testing consists of the dynamic verification that a program provides the expected behaviors on a finite set of test cases, suitably selected from an infinite domain of execution possibilities. Software testing is no longer limited to activities that start only after coding (construction) is complete. Rather, as has been observed in the Software Construction course, testing begins during the construction phase with unit and integration testing, and proceeds through the full testing regime. This course begins with testing fundamentals, including terminology and the relationship of testing with other life cycle activities. From there, Software Testing proceeds through test levels; testing techniques; test-related measures; test processes and concludes with an examination of testing tools as they are applied to actual software testing operations.

Learning Objectives:

1. Employ correct testing terminology throughout the testing process.

2. Execute specific software tests with well-defined objectives and targets.

3. Apply various testing techniques, including domain, code, fault, usage and model-based.

4. Execute program and test evaluations.

5. Perform a complete testing process, taking into account practical considerations

(9)

Course Modules:

1. Software Maintenance Fundamentals 1.1. Definitions and Terminology 1.2. Nature of Maintenance 1.3. Need for Maintenance 1.4. Majority of Maintenance Costs 1.5. Evolution of Software 1.6. Categories of Maintenance 2. Key Issues in Software Maintenance

2.1. Technical Issues 2.2. Management Issues

2.3. Maintenance Cost Estimation 2.4. Software Maintenance Measurement 3. Maintenance Process

3.1. Maintenance Processes 3.2. Maintenance Activities 4. Techniques for Maintenance

4.1. Program Comprehension 4.2. Reengineering

4.3. Reverse Engineering 4.4. Migration

4.5. Retirement

5. Software Maintenance Tools

Self-Paced Learning Approximate Time: 8 hours PDH 8 CEU 0.8 Member: $85

SOFTWARE

MAINTENANCE

COURSE

Course Description:

Once a software product is delivered, it must evolve – or change – over time. When in actual operations, defects are discovered, operating environments change, and new user requirements emerge. While the Maintenance phase of the life cycle generally begins following a post-implementation period, actual maintenance activates may occur earlier. As such, we can define maintenance as the totality of activities required to provide cost-effective support to software. Given this, maintenance can be performed during the pre-delivery phase as well as later.

This course begins with an examination of the fundamentals, including terminology; the nature and need for maintenance; maintenance costs and software evolution. From there, Maintenance proceeds through key issues; the maintenance process; techniques for maintenance and software maintenance tools – all within the context of real-world maintenance challenges.

Learning Objectives:

1. Apply software maintenance fundamentals, including terminology; the nature of and need for maintenance; maintenance costs; evolution and categories of maintenance

2. Incorporate key issues in software maintenance, to include technical issues; management issues; cost estimation; and software maintenance measurement 3. Utilize the best practices maintenance process 4. Exercise best practices techniques for maintenance

(10)

Self-Paced Learning Approximate Time: 6 hours PDH 6

CEU 0.6

Member: $125

Course Modules:

1. Management of the SCM Process 1.1. Organizational Context for SCM

1.2. Constraints and Guidance for the SCM Process 1.3. Planning for SCM

1.4. SCM Plan

1.5. Surveillance of Software Configuration Management 2. Software Configuration Identification

2.1. Identifying Items to Be Controlled 2.2. Software Library

3. Software Configuration Control

3.1. Requesting, Evaluating, and Approving Software Changes

3.2. Implementing Software Changes 3.3. Deviations and Waivers

4. Software Configuration Status Accounting 4.1. Software Configuration Status Information 4.2. Software Configuration Status Reporting 5. Software Configuration Auditing

5.1. Software Functional Configuration Audit 5.2. Software Physical Configuration Audit 5.3. In-process Audits of a Software Baseline 6. Software Release Management and Delivery

6.1. Software Building

6.2. Software Release Management 7. Software Configuration Management Tools

SOFTWARE

CONFIGURATION

MANAGEMENT

COURSE

Course Description:

Software development is not a straightforward process and often requires multiple iterations between the development phases. To cope with this dynamic nature of software development, software engineers need to control the changes in the development process. Software Configuration Management (SCM) is the activity that helps us control the evolution of a software project. This course is a comprehensive review of SCM as a software-engineering discipline supporting all life-cycle phases by relying on tools and techniques to manage changes in software, including documentation, code, interfaces, and databases.

Learning Objectives:

1. Effectively Plan and Run an SCM Process

considering specific organizational aspects in terms of people, product, project, cross-organizational, process, and tools.

2. Effectively identify and organize configuration items to be controlled with SCM, including labeling and version control.

3. Perform effective surveillance of SCM activities including software configuration auditing to evaluate the conformance of software products and processes to applicable regulations, standards, guidelines, plans, and procedures.

4. Manage software baselines.

5. Effectively manage changes during the software life cycle including deviations and waivers in software configuration control.

6. Record and report information needed for effective management of the software configuration. Effectively manage software releases and deliveries including versioning control.

(11)

Self-Paced Learning Approximate Time: 6 hours PDH 6

CEU 0.6

Member: $125

Course Modules:

1. Initiation and Scope Definition

1.1. Determination and Negotiation of Requirements 1.2. Feasibility Analysis

1.3. Process for the Review and Revision of Requirements 2. Software Project Planning

2.1. Process Planning 2.2. Determine Deliverables

2.3. Effort, Schedule, and Cost Estimation 2.4. Resource Allocation

2.5. Risk Management 2.6. Quality Management 2.7. Plan management 3. Software Project Enactment

3.1. Implementation of Plans

3.2. Software Acquisition and Supplier Contract Management 3.3. Implementation of Measurement Process

3.4. Monitor Process 3.5. Control Process 3.6. Reporting 4. Review and Evaluation

4.1. Determining Satisfaction of Requirements 4.2. Reviewing and Evaluating Performance 5. Closure

5.1. Determining Closure 5.2. Closure Activities

6. Software Engineering Measurement

6.1. Establish and Sustain Measurement Commitment 6.2. Plan the Measurement Process

6.3. Perform the Measurement Process 6.4. Evaluate Measurement

7. Software Engineering Management Tools

SOFTWARE

ENGINEERING

MANAGEMENT

COURSE

Course Description:

Software engineering management is defined as the application of management activities – planning; coordinating, measuring, monitoring, controlling and reporting – to the processes of software development. While nominal management concepts are applicable to software engineering, there are many aspects of managing software projects that are unique. This course is centered on those unique aspects of software engineering management at three levels: Organizational and infrastructure management; project management and the management of a measurement program, and how these are applied to actual software projects.

Learning Objectives:

1. Execute a complete requirements negotiation process.

2. Perform a comprehensive feasibility analysis. 3. Lead a software project planning process, to include

determining deliverables; effort, schedule and cost estimation; resource allocation; risk management; quality and plan management.

4. Apply the principles and processes of software engineering project enactment.

5. Perform software project reviews and evaluations according to best practices.

6. Illustrate by example software project closure activities.

7. Employ software engineering measurement processes.

(12)

Course Modules:

1. Software Process Definition 1.1. Software Process Management 1.2. Software Process Infrastructure 2. Software Life Cycles

2.1. Categories of Software Processes 2.2. Software Life Cycle Models 2.3. Software Process Adaptation 2.4. Practical Considerations

3. Software Process Assessment and Improvement 3.1. Software Process Assessment Models 3.2. Software Process Assessment Methods 3.3. Software Process Improvement Models 3.4. Continuous and Staged Ratings 4. Software Measurement

4.1. Software Process and Product Measurement 4.2. Quality of Measurement Results

4.3. Software Information Models

4.4. Software Process Measurement Techniques 5. Software Engineering Process Tools

Self-Paced Learning Approximate Time: 5 hours PDH 5 CEU 0.5 Member: $85

SOFTWARE

ENGINEERING

PROCESS COURSE

Course Description:

An engineering process can be defined as a set of inter-related activities that transform one or more inputs into outputs, while consuming resources to accommodate that transformation. In software engineering, processes refer specifically to activities by software engineers to develop, maintain and operate software. In overview, software engineering process can be examined on two levels. The first level encompasses the technical and managerial activities within the software life cycle that are performed during software acquisition, development, maintenance and retirement. The second is the meta-level, which is concerned with the definition, implementation, assessment, measurement, management, change and improvement of the software life cycle processes themselves.

This course concentrates on the second level by examining the planning, assurance and control

processes employed as they relate to real-world software development projects.

Learning Objectives:

1. Employ key term definitions, including process management and process infrastructure terminology. 2. Illustrate through example software life cycles,

including software process categories, life cycle models and process adaption.

3. Demonstrate the key elements of process assessment models, methods and improvement techniques. 4. Apply software measurement in a real-world project,

to include process and product measurement, measurement results interpretation, information models and measurement techniques.

(13)

Self-Paced Learning Approximate Time: 7 hours PDH 7 CEU 0.7 Member: $65

Course Modules:

1. Modeling 1.1. Modeling Principles

1.2. Properties and Expression of Models 1.3. Syntax, Semantics, and Pragmatics

1.4. Preconditions, Post-conditions, and Invariants 2. Types of Models

2.1. Information Modeling 2.2. Behavioral Modeling 2.3. Structure Modeling 3. Analysis of Models

3.1. Analyzing for Completeness 3.2. Analyzing for Consistency 3.3. Analyzing for Correctness 3.4. Traceability

3.5. Interaction Analysis 4. Software Engineering Methods

4.1. Heuristic Methods 4.2. Formal Methods 4.3. Prototyping Methods 4.4. Agile Methods

SOFTWARE

ENGINEERING

MODELS &

METHODS COURSE

Course Description:

Models and Methods impose a structure on software engineering with the goal of making that activity systematic, repeatable and quality-oriented. Models provide an approach to problem solving, notations and procedures for model construction and analysis. This course will emphasize software engineering models and methods that encompass multiple life cycle phases by examining modeling principles, types of models, model analysis and software engineering methods as they are applied to real-world software engineering projects.

Learning Objectives:

1. Understand and apply basic modeling principles, properties and expression of models, syntax, semantics and pragmatics.

2. Illustrate and employ information, behavioral and structure modeling.

3. Apply model analysis, including analyzing for completeness, consistency and correctness. 4. Demonstrate the concepts of traceability and

interaction analysis.

5. Provide examples of heuristic, formal, prototyping and agile methods and how they are applied

(14)

Self-Paced Learning Approximate Time: 5 hours PDH 5

CEU 0.5

Member: $65

Course Modules:

1. Software Quality Fundamentals

1.1. Software Engineering Culture and Ethics 1.2. Value and Cost of Quality

1.3. Models and Quality Characteristics 1.4. Software Quality Improvement 1.5. Software Safety

2. Software Quality Management Processes 2.1. Software Quality Assurance 2.2. Verification and Validation 2.3. Reviews and Audits

3. Software Quality Practical Considerations 3.1. Software Quality Requirements 3.2. Defect Characterization 3.3. SQM Techniques

3.4. Software Quality Measurement 4. Software Quality Tools

SOFTWARE QUALITY

COURSE

Course Description:

Software Quality can be defined as the capability of a software product to satisfy stated and implied needs under specified conditions. Additionally, Quality refers to the degree to which software products meet their stated requirements. Quality is a basic parameter of software engineering efforts whose primary goal is the delivery of maximum stakeholder value while balancing cost and schedule.

This course addresses Quality’s key term definitions, provides examples of and exercises for the practical application of its nominal practices, tools and

techniques for applying software quality methodologies to real-world projects.

Learning Objectives:

1. Understand and be able to apply software quality fundamentals to real-world software projects, including an ethical approach to Quality, value and cost considerations, quality models and safety considerations.

2. Demonstrate by means of example – software quality management processes such as quality assurance, verification and validation, and reviews/audits. 3. Illustrate the essential software practical

considerations such as quality requirements, defect characterization, SQM techniques and software quality measurement.

(15)

Course Modules:

1. Software Engineering Economics Fundamentals 1.1. Finance 1.2. Accounting 1.3. Controlling 1.4. Cash Flow 1.5. Decision-Making Process 1.6. Valuation 1.7. Inflation 1.8. Depreciation 1.9. Taxation 1.10. Time-Value of Money 1.11. Efficiency 1.12. Effectiveness 1.13. Productivity 2. Life Cycle Economics

2.1. Product 2.2. Project 2.3. Program 2.4. Portfolio

2.5. Product Life Cycle 2.6. Project Life Cycle 2.7. Proposals

2.8. Investment Decisions 2.9. Planning Horizon 2.10. Price and Pricing 2.11. Cost and Costing 2.12. Performance Measurement 2.13. Earned Value Management 2.14. Termination Decisions 2.15. Replacement and Retirement Decisions 3. Risk and Uncertainty

3.1. Goals, Estimates, and Plans 3.2. Estimation Techniques 3.3. Addressing Uncertainty 3.4. Prioritization 3.5. Decisions under Risk 3.6. Decisions under Uncertainty 4. Economic Analysis Methods 4.1. For-Profit Decision Analysis 4.2. Minimum Acceptable Rate of Return 4.3. Return on Investment 4.4. Return on Capital Employed 4.5. Cost-Benefit Analysis 4.6. Cost-Effectiveness Analysis 4.7. Break-Even Analysis 4.8. Business Case 4.9. Multiple Attribute Evaluation 4.10. Optimization Analysis 5. Practical Considerations 5.1. The “Good Enough”

Principle

5.2. Friction-Free Economy 5.3. Ecosystems

5.4. Offshoring and Outsourcing

Self-Paced Learning Approximate Time: 5 hours PDH 5 CEU 0.5 Member: $65

SOFTWARE

ENGINEERING

ECONOMICS

COURSE

Course Description:

Software Engineering Economics are about making decisions related to software engineering in a business context. Success of any software engineering project is partly dependent on effective business management. Software engineering economics provides a way to examine the attributes of software and software processes in a systematic way that relates them to economic measures. These can be weighted and analyzed when making decisions within the scope of a software engineering project and its organization. The essence of software engineering economics is aligning software technical decisions with the business goals of the organization.

This course examines the key aspects of software engineering economics, including life cycle economics; risk and uncertainty; economic analysis methods and practical considerations, which tie concept and theory to contemporary software economic realities.

Learning Objectives:

1. Understand and be able to apply the key software engineering economic fundamentals to real-world software economic issues.

2. Illustrate through example the key software life cycle economics, including product and process life cycles; portfolios; proposals; investment decisions; pricing and costing, and earned value management (EVM).

3. Apply the concepts of risk and uncertainty to real-world software development projects, including goals; estimates; prioritization and decision making. 4. Perform best-practice economic analysis methods. 5. Relate and interpret the “good-enough” principle;

(16)

Course Modules:

1. Project Management Framework 1.1. PMBOK Trailer

1.2. PMBOK Introduction 1.3. Framework Introduction 1.4. Organization Structure 2. Project Integration Management

2.1. Project Integration Management Introduction 2.2. Develop Project Charter

2.3. Develop Project Management Plan 2.4. Direct and Manage project Work 2.5. Monitor and Control Project Work 2.6. Perform Integrated Change Control 2.7. Close Project or Phase

3. Project Scope Management

3.1. Project Scope Management Introduction 3.2. Plan Scope Management

3.3. Collect Requirements 3.4. Define Scope 3.5. Create WBS 3.6. Scrum Team 3.7. Validate Scope 3.8. Control Scope 4. Project Time Management

4.1. Project Time Management Introduction 4.2. Define Activities

4.3. Sequence Activities 4.4. Estimate Activity Resources 4.5. Estimate Activity Durations 4.6. Develop Schedule 4.7. Control Schedule 5. Project Cost Management

5.1. Project Cost Management Introduction 5.2. Plan Cost Management

5.3. Estimate Costs 5.4. Determine Budget 5.5. Control Costs

6. Project Quality Management

6.1. Product Quality Management Introduction 6.2. Plan Quality Management

6.3. Perform Quality Assurance

Self-Paced Learning Approximate Time: 4 hours PDH 4 CEU 0.4 Member: $225

SOFTWARE PROJECT

MANAGEMENT

COURSE

Course Description:

This dynamic and hands-on project management online course takes participants through the phases of a project, using the Process Groups and integrative framework. It is suitable for anyone who requires an introduction to project management. This course is aimed at those individuals operating as a member of a project team e.g. subject matter expert, task owner, coordinator etc. The qualification demonstrates that the candidate has a working knowledge of the processes and terminology as laid out in the “Guide to the Project Management Body of Knowledge”

Learning Objectives:

1. Establish how all project activities are interrelated. 2. Know when and how to use the defined Tools and

Techniques on projects.

3. Understand Project Management definitions, acornyms and terminology.

4. Feel comfortable with the examination format and typical question styles.

5. Gain essential skills necessary to work as a project team.

6. Develop interpersonal and general project management skills

(17)

6.4. Control Quality

6.5. Project Quality Management 7. Project Human Resource Management

7.1. Project Human Resource Management Introduction 7.2. Plan Human Resource Management

7.3. Acquire Team Project 7.4. Develop Project Team 7.5. Manage Project Team

8. Project Communications Management

8.1. Project Communication Management Introduction 8.2. Manage Communications

8.3. Control Communications 9. Project Risk Management

9.1. Project Risk Management Introduction 9.2. Plan Risk Management

9.3. Identify Risks

9.4. Perform Qualitative Risk Analysis 9.5. Perform Quantitative Risk Analysis 9.6. Plan Risk Responses

9.7. Monitor and Control Risks 10. Project Procurement Management

10.1. Project Procurement Management Introduction 10.2. Project Communication Management Overview 10.3. Plan Procurement Management

10.4. Conduct Procurement 10.5. Control Procurement 10.6. Close Procurement

11. Project Stakeholder Management

11.1. Project Stakeholder Management Introduction 11.2. Identify Stakeholders

11.3. Plan Stakeholder Management 11.4. Manage Stakeholder Management

(18)
(19)

CONTINUING

EDUCATION

CERTIFICATES OF

ACHIEVEMNET

(20)

Course Modules:

Module 1 – Introduction to the Cloud

• Language of Cloud Computing

• Provenance of Cloud Computing

• Today’s Players in Cloud Computing

• 2 Quiz Questions

Module 2 – Economics of the Cloud

• The Economics of the Cloud

• Measuring Net Present Value, Benefit Ratios,

Payback Periods

• Where’s the Payback?

• 2 Quiz Questions

Module 3 – Migrating to the Cloud

• How do you characterize your organization?

• What are your mission critical systems?

• Evolution or Big Bang?

• 2 Quiz Questions

Module 4 – Business of Cloud Security

• Overview of principle security issues

• What kind of data can be entrusted to the Cloud?

• What kinds of data should not be entrusted to the

Cloud?

• 2 Quiz Questions

Module 5 – Cloud Governance

• Managing Regulation within the Cloud

CLOUD COMPUTING

IN THE BUSINESS

ENVIRONMENT

Course Description:

Managers are often faced with having to decide

if, and how to upgrade their IT infrastructure,

and how to pay for it. In an environment of tight

budgets and soaring hardware and software costs,

they are also looking for alternatives to making

huge investments that will have to be upgraded

again and again. The Cloud can be that solution.

Managers need information to make intelligent

decisions however.

Questions pertaining to Cloud economics, security,

regulation and governance, metrics and migration

are introduced and discussed. In the final analysis,

managers must be able to answer key questions –

is the Cloud the right place for my IT infrastructure

and data? Is it a good business decision? How do

I migrate to the Cloud? This course introduces and

discusses these and other key concepts.

Self-Paced Learning Approximate Time: 90 Minutes PDH 1.5

CEU 0.15 Member: $45

(21)

Course Modules:

Module 1 – Governance in the Cloud

• Introduction

• Key governance concepts

• Governance as a process vs. a product

• The essential elements

Module 2 – Implementing Governance in

the Cloud

• Introduction

• Governance in SaaS, PaaS, IaaS

• Key governance metrics

• Managing the governance process

Module 3 – Cloud Security

• Introduction

• The risk profile

• Understanding the risks of the Cloud

• Deciding what information belongs in the cloud

Module 4 – Maintaining Security

• Introduction

• Protecting your cloud based systems

• Who has access?

CLOUD

GOVERNANCE AND

SECURITY

Course Description:

Migrating IT infrastructures to the Cloud is

becoming a cost effective solution to the ever

increasing burden of maintaining complex software

and hardware systems. As with any new concept

that plays a central role in business, the Cloud

must be understood. Specifically, the differences

between managing an in-house IT infrastructure

versus a Cloud-based infrastructure are critical.

Seeing the Cloud as a process rather than a

product, implementing a governance plan and

developing Cloud metrics are all part of Cloud

governance.

Additionally, securing data and processes

within the Cloud are central to any migration

considerations. Issues such as risk profiles, what

information should and should not be committed to

the Cloud, roles and rules, and access control must

be taken into account. This course will examine

these and other key concepts central to Cloud

governance and data security.

Self-Paced Learning Approximate Time: 130 Minutes PDH 2.16

CEU 0.216 Member: $45

(22)

Course Modules:

Module 1 – Economics of the Cloud

• Introduction

• Net Present Value; Benefit Ratios; Payback Periods

• Common Infrastructure and Utility Pricing

• Economics of being Disconnected

Module 2 – Measuring the Cloud

• Introduction

• Security Metrics

• Usage Metrics

• Response Time Metrics

Module 3 – Cloud Migration Plan

• Introduction

• How do you characterize your organization?

• What are your mission critical systems?

• Evolution or Big Bang?

Module 4 – Sustainable Operations in the

Cloud

• Introduction

• Now that you’re there, what do you do?

• Maintenance in the Cloud?

• System Administration?

Module 5 – Migrating to the Cloud

• How do you characterize your organization?

• What are your mission critical systems?

• Evolution or Big Bang?

CLOUD ECONOMICS,

METRICS AND

MIGRATION

Course Description:

Deciding to migrate a business’ IT infrastructure

to the Cloud involves a great deal more than the

realization that one may not have to purchase all

of the software, hardware and IT infrastructure

nominally required to run the business. First, is it

a sound economic decision? How can we measure

net present value? Benefit ratios? Payback periods?

Are there metrics we can use to determine if the

Cloud is a viable solution? Measuring the Cloud

requires that we examine issues of security,

usage and response time in terms of metrics –

can these be quantified? Once a decision has

been made to migrate, how can we devise a

plan? Questions like how can I characterize my

business; what are my mission critical systems,

and do I follow the evolution or the Big Bang

concept must be addressed.

And, once there, how can a business establish

sustainable operations within the Cloud?

These and other key issues with migrating to the

Cloud are addressed for the business management

team contemplating a move into the Cloud.

Self-Paced Learning Approximate Time: 108 Minutes PDH 1.8

CEU 0.18 Member: $45

(23)

Course Modules:

Module 1-Introduction to Software

Security

• Significance/importance of software security

• Software security terminology

• Software security resources (both online and offline)

Module 2-Sources of software security

threats

• Hardware level threats

• Code level threats

• Detailed design level threats

• Architecture level threats

• Requirements level threats

Module 3-Software security best practices

• Security requirements elicitation

• Secure architecture best practices

• Detailed secure design best practices

• Secure coding best practices

• Secure deployment and operations best practices

Module 4: Software security lifecycle

• General software lifecycle vs. secure software

lifecycle

• Architectural risk analysis

• Measurement

• Project management

Module 5: Software security testing

• Code analysis

• White box testing

• Penetration testing

• Security testing tools

Module 6: Careers in SW Security –

FOUNDATIONS OF

SECURE SOFTWARE

Course Description:

Software security is becoming increasingly

important due to the numerous emerging threats

exploiting software vulnerabilities. This course

provides a broad overview of various software

security threats and some of the most effective

countermeasures used to thwart both well-known

and newly emerging software security threats.

By taking this course, software practitioners will

learn how to build security into their software

products throughout its lifecycle. Although it is

impossible to accomplish “perfect security” in

software, the participants will be exposed to the

best practices and tools available today to minimize

their chance of falling victim to a common software

security attack.

Self-Paced Learning Approximate Time: 80 Minutes PDH 1.3

CEU 0.13 Member: $45

(24)

Course Modules:

Module 1 – Introduction to Secure

Software Development

• Nature of software

• Software development life-cycle

• Software as a system

• Basics of security

Module 2 – Security in Detail

• Layered approach to security

• Threats and attack vectors

• Security policy and its importance

• Security from an ROI perspective

• Security supply chain

Module 3 – Software Security Risk

Management

• Risk management overview

• Incident response

• In-house versus COTS

• Testing for security

• System evolution

Module 4 – Assurance Management

• Ownership issues

MANAGING SECURE

SOFTWARE

DEVELOPMENT

Course Description:

Whenever a software system is developed and

deployed, there is always an entity that will

attempt to corrupt or misuse that software.

Software security is thus a critical thread that

must run through the entire software development

life-cycle. The development of secure software is

the ultimate goal.

Software security involves a layered approach

designed to deal with myriad threats and attack

vectors based on an overall security policy that

takes into account a variety of threat scenarios,

the ROI of software security, the security supply

chain, software assurance risk management and

system evolution in an environment of

never-ending threats. This course examines software

security from the perspective of managing secure

software development.

Self-Paced Learning Approximate Time: 200 Minutes PDH 3.4

CEU 0.34 Member: $100

(25)

Course Modules:

Module 1: Introduction to Secure Coding

• Significance/importance of secure coding [8, 11]

• Secure coding terminology [7, 12, 13]

• Secure coding principles [10, 15, 18, 20, 21]

• Threat modeling

• Secure coding resources (both online and offline)

[14]

Module 2: Vulnerabilities and Exploits

• Buffer overflows

• SQL injection [2, 19]

• Cross‐Site Scripting (XSS) [4, 9]

• Broken authentication and session management

• Insecure direct object references

• Security misconfiguration

• Sensitive data exposure

Module 3: Countermeasures

• Secure coding standards [3]

• Secure coding best practices/patterns [1, 16]

• Intercepting validators

• Sanitization

• Session management

• Authentication

• Encryption

• Password management

• Access control

• Error handling and logging

• File management

• Memory management

Module 4: Tools, Frameworks, and

Services

• Microsoft Secure Development Process (SDP)

• Static analysis tools [17]

• Dynamic analysis tools

• Web application security frameworks [5, 6]

• Java-based enterprise application security

frameworks

• Outsourcing

• Vulnerability tracking

SECURE SOFTWARE

CODING

Course Description:

Secure coding is becoming increasingly important

due to various emerging threats. Although many

of the existing secure coding best practices are

programming language and domain‐specific, there

are also language and domain‐neutral knowledge

to be obtained by software developers. This course

focuses on this attainment of comprehensive but

practical secure coding knowledge. By exposing the

audience to all the major secure coding concepts

and tools available today, the primary goal of this

course is to quickly improve the attendees’ overall

security quality of coding practices and to prepare

for learning more language and application-specific

secure coding techniques.

Self-Paced Learning Approximate Time: 167 Minutes PDH 2.8

CEU 0.28

(26)

Course Modules:

1. Secure Software Design Fundamentals

1.1. Significance of Secure Software Design

1.2. Secure Software Design Terminology

1.3. Secure Software Design Process

1.4. Secure Software Design Principles

2. Key Issues in Secure Software Design

2.1. Security Control Types

2.2. Access Control

2.3. Encryption Methods

2.4. Intrusion Detection and Prevention

2.5. Recovery

2.6. Accounting and Trust Management

3. Secure Software Structure and behavior

3.1. Security Patterns

3.2. Security Tactics

3.3. Practical Examples

4. Software Security Analysis and Evaluation

4.1. Analysis and Evaluation Techniques

4.2. Measures and Metrics

5. Software Security and Formal Methods

5.1. What are formal methods?

5.2. Formal Methods in Secure Software Design

5.3. Formal Methods and Common Criteria

SECURE SOFTWARE

DESIGN

Course Description:

This course offers a comprehensive coverage

of practical knowledge in how to design secure

software as well as insights on the significance

of the role secure design plays during a software

development life cycle. Some of the critical

topics covered in this course include secure

design principles and processes in addition to

fundamental security concepts such as access

control, encryption, etc. This course also devotes

a significant amount of time to discussing

well known secure design solutions including

architectural patterns and design patterns focusing

on security countermeasures and concludes

with the discussion of software security analysis

and evaluation as mechanisms to assess the

effectiveness of the secure design solutions

implemented in the form of source code.

Self-Paced Learning Approximate Time: 107 Minutes PDH 1.8

CEU 0.18 Member: $45

(27)

Part I – Module 1-6 (total of 6 modules)

1. Megatrends and driving forces in IT and their linkages

to embedded systems

2. Overview of embedded systems including

characteristics, attributes, programming languages,

processor technologies, and design challenges

3. Overview of real-time systems including common

characteristics, interaction with hardware devices, and

embedded systems design process

4. Current examples of embedded systems, structure

of an embedded program, best practices, and typical

code examples

5. Block design of embedded systems, optimal mix of

software and hardware required to build a system,

guide to selection of processors and peripherals, signal

processing, and buffer design

6. DSP fundamentals and architecture and additional

material to deepen understanding of embedded system

software development

Part II - Modules 7-11 (total of 5 modules)

7. Overview of Round Robin scheduling, Function

Queues, brief introduction to Real-time Systems, and

coding examples to strengthen understanding

8. Overview of Super Loop Architecture, additional

characteristics of Real Time Operating systems (RTOS),

and basic elements of Hardware Abstraction Layer (HAL)

9. Overview of task management, reentrancy, and use of

semaphores

10. Additional details on scheduling and periodic tasks,

11. Rate monotonic analysis, and provide a Motor Control

example

Part III Modules 12-14 (total of 3 modules)

12. Priority Inversion, fundamentals of optimization in

embedded systems including: C code, importance of

physical architecture, power, memory and cache

13. Impact of compilers in optimization, techniques to

use compiler effectively including optimization levels,

intrinsics, cross correlation, pragmas, data alignment

14. Using parallel ALU effectively including Partial

Summation, Loop Unrolling, Software Pipelining,

Multisampling, effective use of pointers, best practices

EMBEDDED SYSTEM

Course Description:

Embedded software is found in most electronic devices designed today. Embedded software controls our cell phones, microwaves, network routers, automobiles, and industrial controls. Each of these embedded systems is unique and highly customized to the specific application. As a result, embedded systems development is a widely varying field that can take years to master.

This course will cover some of the basic principles of writing software for embedded systems. The course will survey the issues and discusses the various techniques for dealing with them. In particular, the course discusses approaches to the appropriate use of the real-time operating systems upon which much embedded software is based. In addition to explaining what these systems do, this course provides guidance on how you can use them most effectively. The information in this course is not specific to any microprocessor or real-time operating system nor is it oriented towards any particular software design methodology. The principles are the same, regardless of which microprocessor and which real-time operating system and which software design methodology you use. We will concentrate on the principles that you can apply to almost any embedded system project.

The material in this course will provide the necessary information to understand the embedded systems development cycle and the specialized aspects of developing and testing software in this environment. This course will also discuss the design considerations unique to embedded systems. The course will cover the key methods and technologies for each phase of the development process: specification, partition, design, integration, validation, and maintenance and upgrade.

Self-Paced Learning Approximate Time: 6 Hours PDH 6.0

CEU 0.6

(28)

Video Presentations:

• Automatic Parallelization by David Padu

• Autoparallelization for GPUs by Wen-Mei Hwu

• Dependences and Dependence Analysis by Utpal

Banerjee

• Dynamic Parallelization by Rudolf Eigenmann

• Instruction Level Parallelization by Alexandru

Nicolau

• Multigrain Parallelization and Power Reduction by

Hironori Kasahara

• The Polyhedral Model by Paul Feautrier

• Vector Computation by David Kuck

• Vectorization by P. Sadayappan

• Vectorization/Parallelization in the IBM Compiler by

Yaoqing Gao

• Vectorization/Parallelization in the Intel Compiler by

Peng Tu

• Roundtable Discussion by all presenters

MULTI-CORE VIDEO

SERIES

Course Description:

Multi-Core Lecture Series consists of 11 one-hour

lectures by some of the world's leading researchers

in the field. This series is not a course and it

consists of the presentation for those who are in the

research field. This is more intended for research

information sharing than educational training.

Topics that are covered during these lectures are

listed below. This series also includes an hour

discussion of the lecturers.

Self-Paced Learning Approximate Time: 12 Hours PDH 12

CEU 1.2

Series Cost: Member: $495 Non-Member $695 Member: $95

(29)

Courses:

• A Cloud Security Risk-Management Strategy

• Application-Screen Masking A Hybrid Approach

• Big Data Privacy in the Internet of Things

• Cyberhuman Security

• Denial and Deception in Cyber Defense

• Digital Data Grows into Big Data

• Inferring Mobile User Status with Usage Cues

• Internet of Things Making the Hype a Reality

• Internet of Things Perspectives

• Protecting Websites from Attack with Secure

Delivery Networks

QUARTO

Course Description:

Quartos are unique new short, tightly-focused

topical courses, usually around thirty minutes,

based on current articles in the Computer Society's

twelve peer-reviewed magazines. Ranging

across the entire field of computer science and

engineering, Quartos are written by the leading

researchers and thought leaders, and give learners

an opportunity to pick up professional education

credit for learning about what's happening in

computer science and engineering today. In

addition to an interactive learning experience, the

course includes a digital copy of the original article

on which it's based, so learners can build their own

reference library.

Self-Paced Learning Approximate Time: 1 Hour PDH 1.0

CEU 0.1

Cost for Each Video: Member: $19 Non-Member $29

(30)

KINO

Course Description:

Kino courses are a brand-new model built around

videos of high-profile leaders in computer science

and engineering as they present at various Computer

Society technical conferences and industry-oriented

events. Ideal for learning on-the-go on mobile devices,

Kino courses are currently in beta development and will

launch later this year.

Video Presentation:

(31)
(32)

10662 Los Vaqueros Circle Los Alamitos, CA 90720-1314 Phone: +1-714-821-8380 Fax: +1-714-821-4010 Email: [email protected]

www.computer.org

References

Related documents

Winters Instruments is a global manufacturer of premium quality pressure and temperature instrumentation, with distribution partners in over

• Insert your annual budget (it can be express as a percentage of your revenue) Annual Budget Advertising (40% of the budget) Public relations (20% of the budget) Sales

► Commercial operation of satellite systems for positioning, data collection, ocean observation and monitoring with high resolution imagery.. ► Developing added-value

To quantify the effect of the leading edge synthetic jet actuator upon the wind tunnel model the aerodynamic characteristics (change of the coefficient of lift and coefficient of

Proposals should follow the chronology of this RFP. a) Vendors may return Proposals to BGSU prior to the Proposal Closing Date/Time (as determined by the date stamp clock in

Some of the detected metabolites in samples derived from cells grown at 80°C (optimal growth temperature) and 70°C show differences in relative concentrations (Tables 4 and 5

Wanting to view our management oregon real estate management, you will work hard to shopping and two bedroom apartment homes come take to call our community!. Did you need to the

As above, the North American lightning activity (evening.. Tost et al. Title Page Abstract Introduction Conclusions References Tables Figures ◭ ◮ ◭ ◮ Back Close. Full Screen