Skip to main Content

Software Development Fundamentals (ITCA) + exam

  • Course Code ITCA-SDF
  • Duration 2 days

Course Delivery

Virtual Learning Price

Please call

Request Group Training Add to Cart

Course Delivery

This course is available in the following formats:

  • Company Event

    Event at company

  • Public Classroom

    Traditional Classroom Learning

  • Virtual Learning

    Learning that is virtual

Request this course in a different delivery format.

Course Overview

Top

This course introduces you to software development, a growing and rapidly changing field that is becoming increasingly vital to business survival, job stability, and national security.

There are 51 Questions on the exam which must be completed in 2 hours. It is available online via remote proctoring

 

CPE Overview:

This certificate awards approximately 1 hour of CPE for every 1 hour of instructor led training.

Course Duration:

In-person or Virtual Instructor Led Training: 2-4 days

Virtual Learning

This interactive training can be taken from any location, your office or home and is delivered by a trainer. This training does not have any delegates in the class with the instructor, since all delegates are virtually connected. Virtual delegates do not travel to this course, Global Knowledge will send you all the information needed before the start of the course and you can test the logins.

Course Schedule

Top

Target Audience

Top

A wide-range of individuals, including:

Those new to IT, students, recent graduates and career changers.

Audit, risk, security and governance professionals looking to gain base-line IT knowledge and skills.

Current IT Professionals looking to reskill or upskill to broaden their IT knowledge and skills or keep up-to-date

Course Content

Top

1- Software and its Evolution

Learning Objectives (1)

  • Identify and explain basic software concepts and terms
  • Describe software types and their uses
  • Summarize the history of software (mainframe, personal computers and software-as-a-service eras)

Topics (1)

  • What is Software?
  • Software Types
  • History of Software
  • Mainframe Era
  • Personal Computer and Desktop Software Era
  • Cloud Computing Era
  • Y2K Bug

2- Software Basics

Learning Objectives (2)

  • Describe algorithms (problem analysis, development, modeling, etc.)
  • Differentiate between syntax, semantics, and lexis
  • Differentiate between functional and object-oriented programming (OOP)

Topics (2)

  • Algorithms
  • Differences Among Syntax, Semantics, and Lexis
  • Developing an Algorithm
  • Analyze Problem
  • Design Model
  • Analyze Algorithm
  • Develop Program
  • Test Program
  • Document Solution
  • Functional vs. Object-Oriented Programming (OOP)
  • Influential Software Enterprises

3- Machine Language

Learning Objectives (3)

  • Explain Describe CISC and RISC instruction set architecture (ISA) families and their differences
  • Identify machine-code concepts and language
  • Define ASCII and Unicode, and interpreters and compilers

Topics (3)

  • Introduction
  • Central Processing Unit
  • Instruction Set
  • CISC and RISC Instruction Set Architecture Differences
  • Machine Code Language
  • ASCII and Unicode
  • Assembly Machine Language
  • Interpreters and Compilers

4- High-level Languages

Learning Objectives (4)

  • Summarize scripting (e.g., Python, JavaScript, PowerShell and Bash)
  • Recognize virtual machines (e.g., NET, JAVA)
  • Describe the portability of code
  • Identify high-level languages (e.g., C, C++, Java, Python, HTML and .NET), procedural and nonprocedural languages, and graphical language
  • Describe an integrated development environment (IDE)

Topics (4)

  • Scripting
  • Applications of Scripting Languages
  • JAVA and .NET Virtual Machines
  • Portability of Code
  • Overview
  • Procedural and Nonprocedural
  • C and C++
  • JAVA
  • HTML
  • Integrated Development Environment (IDE)
  • Python
  • .NET Suite and Visual C++

5- Data Input

Learning Objectives (5)

  • Describe input types (standard input [STDI], user input, process input, APIs)
  • Recall data types (integers, characters, strings, etc.)

Topics (5)

  • Input Data
  • Process Input
  • Data Types

6- Programming Basics

Learning Objectives (6)

  • Identify the basic structure of a program
  • Compare synchronous vs. asynchronous processing
  • Describe data processing
  • Explain the flow of control structures (if/else)

Topics (6)

  • Synchronous and Asynchronous Processing
  • Boolean Logic and Operators
  • Control Structures
  • If Decision Making

7- Repetition Constructs and Data Structures

Learning Objectives (7)

  • Explain the flow of control structures (while, do/while, etc.)
  • Identify data structures

Topics (7)

  • While Loops
  • Infinite While Loops
  • Do While Loops
  • For While Loops
  • Nested Loops
  • Data Structures

8- Output

Learning Objectives (8)

  • Describe output types (peripherals, standard outputs [STDO])
  • Identify data storage types

Topics (8)

  • Output to Peripherals
  • Data Storage Types
  • Retrieving Information
  • Updating Information
  • Deleting Information

9- Software Development Standards

Learning Objectives (9)

  • Recognize ISO/IEC/IEEE standards (e.g., 12207:2017, 15289:2011, 730-2014, 90003)

Topics (9)

  • Overview
  • ISO/IEC/IEEE 12207:2017
  • ISO/IEC/IEEE 15289:2011
  • IEEE Std 730-2014
  • ISO/IEC/IEEE 90003 (except SDLC)

10- Software Development Life Cycle

Learning Objectives (10)

  • Describe SDLC management terms and concepts, including roles and responsibilities
  • Identify the phases of software development life cycle
  • Identify the phases of software development life cycle

Topics (10)

  • ISO/IEC/IEEE 90003 (SDLC)
  • Planning Phase
  • Software Requirements Analysis
  • Scheduling and Team Assembly
  • Roles and Responsibilities
  • Communication Plan
  • Risk Management
  • Benchmarking
  • Designing Phase
  • Implementation Phase
  • Testing and Integration Phase
  • Quality Assurance Responsibilities
  • Quality Check Responsibilities
  • Testing and Integration Automation
  • Defect Analysis
  • Deployment
  • Maintenance Phase
  • End of Life

11- SDLC Models

Learning Objectives (11)

  • Describe software management methodologies (waterfall and Agile)
  • Recognize Agile development methodologies (Scrum, XP, FDD, DevOps)
  • Illustrate how to choose a software methodology
  • Describe configuration management
  • Explain software versioning and release best practices
  • Describe code repositories and proper code branching

Topics (11)

  • SDLC Management
  • SDLC Models—Waterfall
  • SDLC Models—Agile
  • The Agile Manifesto
  • Agile Development Frameworks
  • User Stories
  • Assigning Effort Points
  • Features and Epics
  • Planning and Schedules
  • Burndown and Velocity Charts
  • Scrum
  • SCRUM Roles and Responsibilities
  • Extreme Programming (XP)
  • Feature-Driven Development (FDD)
  • Choosing a Methodology
  • Versioning and Repositories
  • Software Versioning Schemes
  • Repository Mechanics
  • Repository Code Branches Structure

12- SDLC Security and Management

Learning Objectives (12)

  • Explain DevSecOps and Secure SDLC
  • Identify project management tools and techniques
  • Express software development ethics

Topics (12)

  • DevSecOps
  • Difference Between DevOps and DevSecOps
  • Secure SDLC
  • Project Management Tools and Techniques
  • Time Management and Scheduling Techniques
  • Computer Software Development Ethics

Practice Labs

  • Number Systems
  • Debugging
  • Command Creation
  • Scripting with Python
  • Integrated Development Environments (IDEs)
  • GCC and C
  • Batch and Bash Scripting
  • Standard Input and Output