IT Foundation & Specialist Programmes
Artificial Intelligence
Lesson 1: Reviewing AI Fundamentals
- Topic A: AI Concepts
- Topic B: Uses for AI
- Topic C: Benefits of AI
- Topic D: Challenges of AI
Lesson 2: Defining the Problem for AI
- Topic A: Machine Learning Workflow
- Topic B: Formulate the Machine Learning Problem
- Topic C: Select AI/ML Tools
Lesson 3: Accessing and Managing Data for AI
- Topic A: Collect and Assess Data
- Topic B: Extract Data
- Topic C: Transform Data
- Topic D: Load Data
Lesson 4: Analyzing Data
- Topic A: Examine Data
- Topic B: Analyze Data Distribution
- Topic C: Visualize Data
- Topic D: Preprocess Data for AI and ML
Lesson 5: Designing a Machine Learning Approach
- Topic A: Identify ML Algorithms
- Topic B: Test a Hypothesis
Lesson 6: Developing Classification Models
- Topic A: Select, Train, and Tune Classification Models
- Topic B: Evaluate Classification Models
Lesson 7: Developing Regression Models
- Topic A: Train Regression Models
- Topic B: Regularize Regression Models
- Topic C: Evaluate Regression Models
Lesson 8: Developing Cluster Models
- Topic A: Train and Tune Cluster Models
- Topic B: Evaluate Cluster Models
Lesson 9: Launching an AI/ML Project
- Topic A: Security and Privacy in AI/ML Projects
- Topic B: Considerations for Ethical Use of AI/ML
- Topic C: Communicate Results
Lesson 10: Deploying and Monitoring an AI/ML Model in Production
- Topic A: Communicate Model Capabilities and Limitations
- Topic B: Deploy and Test Models in Apps
- Topic C: Support and Monitor AI/ML Solutions
Cloud Computing
Lesson 1: Examining Cloud Computing Fundamentals
- Topic A: Cloud Computing Concepts
- Topic B: Describe Cloud Service Models
Lesson 2: Planning a Cloud Computing Project
- Topic A: Identify the Project Approach and Team
- Topic B: Establish Key Criteria
- Topic C: Evaluate Project Requirements
- Topic D: Evaluate and Recommend Cloud Solutions
Lesson 3: Selecting Cloud Solutions
- Topic A: Evaluate Cloud Models
- Topic B: Create a Process Flow Diagram
Lesson 4: Determining Hardware and Storage Requirements
- Topic A: Determine Hardware and Network Requirements
- Topic B: Determine Storage and Database Requirements
- Topic C: Create Virtual Machines
Lesson 5: Designing Cloud Apps and Solutions
- Topic A: Determine a Design Approach
- Topic B: Determine Approach for Connecting Solution Components
Lesson 6: Developing and Testing Cloud Apps
- Topic A: Cloud Application Development and Operations
- Topic B: Configure, Deploy, and Manage the Development Environment
- Topic C: Perform Testing
Lesson 7: Integrating and Deploying a Cloud Solution
- Topic A: Plan App Integration
- Topic B: Evaluate and Plan App Containerization
- Topic C: Deploy Apps
Lesson 8: Managing Cloud Operations
- Topic A: Manage Cloud Solutions to Address Demand and Costs
- Topic B: Create a Business Continuity and Disaster Recovery Policy
- Topic C: Support and Monitor Cloud Solutions
Lesson 9: Evaluating Cloud Governance
- Topic A: Identify Why Cloud Governance Is Needed
- Topic B: Promote Security
- Topic C: Promote Compliance through Practices and Processes
- Topic D: Maintain Governance over Time
Computational Thinking
Chapter 1: Data Storage
- 1.1 Bits and Their Storage
- 1.4 Representing Information as Bit patterns
- 1.8 Data and Programming
Chapter 2: Data Storage
- 2.4 Arithmetic/Logic
- 2.6 Programming Data Manipulation
Chapter 5: Algorithms
- 5.1 The Concept of an Algorithm
- 5.2 Algorithm Representation
- 5.3 Algorithm Discovery
- 5.4 Iterative Structures
- 5.5 Recursive Structures
- 5.6 Efficiency and Correctness
Chapter 6: Programming Languages
- 6.1 Historical Perspective
- 6.2 Traditional Programming Concepts
- 6.3 Procedural Units
- 6.5 Object-Oriented Programming
Chapter 7: Software Engineering
- 7.1 The Software Engineering Discipline
- 7.2 The Software Life Cycle
- 7.3 Software Engineering Methodologies
- 7.4 Modularity
- 7.5 Tools of the Trade
- 7.6 Quality Assurance
- 7.7 Documentation
- 7.8 The Human-Machine Interface
Chapter 8: Data Abstractions
- 8.1 Basic Data Structures
- 8.2 Related Concepts
- 8.5 Customized Data Types
- 8.6 Classes and Objects
- 8.7 Abstract Models
Chapter 9: Database Systems
- 9.1 Database Fundamentals
- 9.2 The Relational Model
- 9.3 Object-Oriented Databases
- 9.5 Traditional File Structures
- 9.6 Data Mining
- 9.7 Social Impact of Database Technology
Chapter 11: Artificial Intelligence
- 11.1 Intelligence and Machines
- 11.2 Perception
- 11.3 Reasoning
Chapter 12: Theory of Computation
- 12.1 Functions and their Computation
- 12.2 Turing Machines
- 12.3 Universal Programming Languages
- 12.4 A Non-computable Function
- 12.5 Complexity of Problems
Cybersecurity
Lesson 1: Essential Security Principles, Incomplete section
- Skill 1: Define essential security principles.
- Skill 2: Explain common threats and vulnerabilities.
- Skill 3: Explain access management principles.
- Skill 4: Explain encryption methods and applications.
Lesson 2: Basic Network Security Concepts
- Skill 1: Describe TCP/IP protocol vulnerabilities.
- Skill 2: Explain how network addresses impact network security.
- Skill 3: Describe network infrastructure and technologies.
- Skill 4: Set up a secure wireless SoHo network.
- Skill 5: Implement secure access technologies.
Lesson 3: Endpoint Security Concepts
- Skill 1: Describe operating system security concepts.
- Skill 2: Demonstrate familiarity with appropriate endpoint tools that gather security assessment information.
- Skill 3: Verify that endpoint systems meet security policies and standards.
- Skill 4: Implement software and hardware updates.
- Skill 5: Interpret system logs.
- Skill 6: Demonstrate familiarity with malware removal.
Lesson 4: Vulnerability Assessment and Risk Management, Incomplete section
- Skill 1: Explain vulnerability management.
- Skill 2: Use threat intelligence techniques to identify potential network vulnerabilities.
- Skill 3: Explain risk management.
- Skill 4: Explain the importance of disaster recovery and business continuity planning.
Lesson 5: Incident Handling, Incomplete section
- Skill 1: Monitor security events and know when escalation is required.
- Skill 2: Explain digital forensics and attack attribution processes.
- Skill 3: Explain the impact of compliance frameworks on incident handling.
- Skill 4: Describe the elements of cybersecurity incident response.
Data Analytics
Lesson 1: Data Basics
- Skill 1.1: Define the concept of data.
- Define data and information.
- Differentiate between data and information.
- Define statistics and its relation to data.
- Skill 1.2: Describe basic data variable types.
- Define variables.
- Identify different data types.
- Define type checking.
- Skill 1.3: Describe basic structures used in data analytics.
- Define tables.
- Define arrays.
- Define lists.
- Skill 1.4: Describe data categories.
- Differentiate between structured and unstructured data.
- Identify and use different types of data.
- Summary
- Labs
- Quiz
Lesson 2: Data Manipulation
- Skill 2.1: Import, store, and export data.
- Describe ETL processing.
- Perform ETL with relational data.
- Perform ETL with data stored in delimited files.
- Perform ETL with data stored in XML files.
- Perform ETL with data stored in JSON files.
- Skill 2.2: Clean data.
- Perform data cleaning common practices.
- Perform truncation.
- Describe data validation.
- Skill 2.3: Organize data.
- Describe data organization.
- Perform sorting.
- Perform filtering.
- Perform appending and slicing.
- Perform pivoting.
- Perform transposition.
- Skill 2.4: Aggregate data.
- Describe the aggregation function.
- Use aggregation functions like COUNT, SUM, MIN, MAX, and AVG in SQL.
- Use GROUP BY and HAVING in SQL.
- Summary
- Labs
- Quiz
Lesson 3: Data Analysis
- Skill 3.1: Describe and differentiate between types of data analysis.
- Perform descriptive analysis.
- Perform diagnostic analysis.
- Perform predictive analysis.
- Perform prescriptive analysis.
- Perform hypothesis testing.
- Skill 3.2: Describe and differentiate between data aggregation and interpretation metrics.
- Define data aggregation and data interpretation.
- Define data interpretation.
- Describe data aggregation and interpretation metrics.
- Skill 3.3: Describe and differentiate between exploratory data analysis methods.
- Find relationships in a dataset.
- Identify outliers in a dataset.
- Drill a dataset.
- Mine a dataset.
- Skill 3.4: Evaluate and explain the results of data analyses.
- Perform a simple linear regression.
- Interpret the results of a simple linear regression.
- Use regression analysis for prediction.
- Skill 3.5: Define and describe the role of artificial intelligence in data analysis.
- Define artificial intelligence, algorithm, machine learning, and deep learning.
- Discuss how machine learning algorithms help in data analysis.
- Discuss how artificial intelligence algorithms work in data analysis.
- Summary
- Labs
- Quiz
Lesson 4: Data Visualization and Communication
- Skill 4.1: Report data.
- Use tables and charts to display information.
- Disaggregate data.
- Skill 4.2a and 4.3a: Create and derive conclusions from visualizations that compare one or more categories of data.
- Use different types of charts:
- Column chart.
- Bar chart.
- Skill 4.2b and 4.3b: Create and derive conclusions from visualizations that show how individual parts make up the whole.
- Differentiate between the following types of graphical representations:
- Pie Chart.
- Donut Chart.
- Other variations on bar and column charts such as stacked bar and column charts.
- Differentiate between the following types of graphical representations:
- Skill 4.2c and 4.3c: Create and derive conclusions from visualizations that analyze trends.
- Use different types of visualization:
- Line chart and variants of the line chart.
- Waterfall chart.
- Sankey Diagram.
- Skill 4.2d and 4.3d: Create and derive conclusions from visualizations that determine the distribution of data.
- Use different types of visualizations:
- Box and Whisker plot.
- Skill 4.2e and 4.3e: Create and derive conclusions from visualizations that analyze the relationship between sets of values.
- Use different types of visualizations:
- Scatter plot.
- Bubble chart.
- Summary
- Labs
- Quiz
Lesson 5: Responsible Analytics Practice
- Skill 5.1: Describe data privacy laws and best practices:
- Describe the fair information practice principles.
- Understand data privacy laws in the US.
- Understand data privacy laws in Canada.
- Understand data privacy laws in the EU.
- Skill 5.2: Describe best practices for responsible data handling:
- Handle PII, secure data, and protect anonymity within small datasets.
- Balance the trade-off between interpretability and accuracy.
- Generalize from a sample to a population.
- Skill 5.3: Given a scenario, describe the types of bias that affect the collection and interpretation of data.
- Explain and identify different types of bias that affect the gathering of data.
- Summary
- Labs
- Quiz
Databases
Lesson 1: Database Design
- Skill 1.1: Given a scenario, design tables for storing data
- Skill 1.2: Given a scenario, identify the appropriate primary key
- Skill 1.3: Given a scenario, choose data types to meet the requirements
- Skill 1.4: Given a scenario, design relationships between tables
- Skill 1.5: Normalize a database
- Skill 1.6: Given a scenario, identify data protection measures
Lesson 2: Database Object Management using DDL
- Skill 2.1: Construct and analyze queries that create, alter, and drop tables
- Skill 2.2: Construct and analyze queries that create, alter, and drop views
- Skill 2.3: Construct and analyze stored procedures and functions
- Skill 2.4: Given a scenario, choose between clustered and non-clustered indexes
Lesson 3: Data Retrieval
- Skill 3.1: Construct and analyze queries that select data
- Skill 3.2: Construct and analyze queries that sort and filter data
- Skill 3.3: Construct and analyze queries that aggregate data
Lesson 4: Data Manipulation using DML
- Skill 4.1: Construct and analyze INSERT statements
- Skill 4.2: Construct and analyze UPDATE statements
- Skill 4.3: Construct and analyze DELETE statements
Lesson 5: Troubleshooting
- Skill 5.1: Troubleshoot data object management query failures
- Skill 5.2: Troubleshoot data retrieval query failures
- Skill 5.3: Troubleshoot data manipulation query failures
Device Configuration and Management
Lesson 1: Windows Installation and Configuration
- Skill 1.1: Install Windows using the default settings
- Skill 1.2: Configure user account options
- Skill 1.3: Configure desktop settings
- Skill 1.4: Manage accessibility settings
- Skill 1.5: Manage updates
Lesson 2: Application and Peripheral Management
- Skill 2.1: Manage applications and Windows features
- Skill 2.2: Compare and contrast capabilities of peripheral connection types
Lesson 3: Data Access and Management
- Skill 3.1: Describe cloud services
- Skill 3.2: Describe and configure file sharing and permissions
- Skill 3.3: Manage backup and restore
- Skill 3.4: Describe data access and retention policies
Lesson 4: Device Security
- Skill 4.1: Describe network firewall settings
- Skill 4.2: Describe user authentication
- Skill 4.3: Given an attack type, describe mitigation methods
- Skill 4.4: Manage User Account Control (UAC) settings
- Skill 4.5: Manage mobile device security
Lesson 5: Troubleshooting
- Skill 5.1: Perform troubleshooting tasks
- Skill 5.2: Troubleshoot operating system and application issues
- Skill 5.3: Troubleshoot device issues
- Skill 5.4: Troubleshoot device connections to networks and domains
- Skill 5.5: Troubleshoot peripheral device connections
HTML and CSS
Lesson 1: Application Lifecycle Management
- Skill 1.1: Describe the application lifecycle management stages
- Skill 1.2: Debug and test web apps
Lesson 2: Graphics and Animation
- Skill 2.1: Use the canvas element to create graphics and animations
- Skill 2.2: Use the svg element to create and display graphics
- Skill 2.3: Transform, style, and enhance text and graphics
- Skill 2.4: Apply CSS filters to images
Lesson 3: Forms
- Skill 3.1: Construct and analyze markup that uses form elements
- Skill 3.2: Configure input validation
Lesson 4: Layouts
- Skill 4.1: Manage content layout, positioning, and flow by using CSS
- Skill 4.2: Construct layouts by using responsive design
- Skill 4.3: Construct flexible responsive layouts by using CSS flexbox
- Skill 4.4: Construct grid-based layouts by using CSS grid
Lesson 5: JavaScript Coding
- Skill 5.1: Create and use custom classes
- Skill 5.2: Perform data access by using JavaScript
- Skill 5.3: Construct code that responds to events by using event listeners and handlers
- Skill 5.4: Construct code that uses JavaScript APIs
- Skill 5.5: Manage the state of an application
HTML5 Application Development
Lesson 1: HTML Fundamentals
- Skill 1.1: Construct well-formed page markup
- Skill 1.2: Construct markup that uses metadata elements
Lesson 2: Document Structure using HTML
- Skill 2.1: Construct and analyze markup to structure and organize data
- Skill 2.2: Construct and analyze markup that uses HTML5 semantic elements
- Skill 2.3: Construct and analyze markup that implements navigation
- Skill 2.4: Construct and analyze markup that implements form elements
Lesson 3: CSS Fundamentals
- Skill 3.1: Analyze and implement inline styles, internal (embedded) style sheets, and external style sheets
- Skill 3.2: Construct and analyze rule sets
Lesson 4: Multimedia Presentation using HTML
- Skill 4.1: Construct and analyze markup that displays images
- Skill 4.2: Construct and analyze markup that plays video and audio
Lesson 5: Webpage Styling using CSS
- Skill 5.1: Construct and analyze styles that position content
- Skill 5.2: Construct and analyze styles that format text
- Skill 5.3: Construct and analyze styles that format backgrounds and borders
- Skill 5.4: Construct and analyze styles that create a simple responsive layout
Lesson 6: Accessibility, Readability, and Testing
- Skill 6.1: Construct well-formatted HTML and CSS markup that conforms to industry best practices
- Skill 6.2: Apply accessibility principles and evaluate content accessibility
- Skill 6.3: Evaluate the structural integrity of HTML and CSS markup
Java
Lesson 1: Java Fundamentals
- Skill 1.1: Describe the use of main in a Java application
- Skill 1.2: Perform basic input and output using standard packages
- Skill 1.3: Evaluate the scope of a variable
- Skill 1.4: Comment and document programs
Lesson 2: Data Types, Variables, and Expressions
- Skill 2.1: Declare and use primitive data type variables
- Skill 2.2: Construct and evaluate code that manipulates strings
- Skill 2.3: Construct and evaluate code that creates, iterates, and manipulates arrays and array lists
- Skill 2.4: Construct and evaluate code that performs parsing, casting, and conversion
- Skill 2.5: Construct and evaluate arithmetic expressions
Lesson 3: Flow Control Implementation
- Skill 3.1: Construct and evaluate code that uses branching statements
- Skill 3.2: Construct and evaluate code that uses loops
Lesson 4: Object-Oriented Programming
- Skill 4.1: Construct and evaluate class definitions
- Skill 4.2: Declare, implement, and access data members in classes
- Skill 4.3: Declare, implement, and access methods
- Skill 4.4: Instantiate and use class objects in programs
Lesson 5: Code Compilation and Debugging
- Skill 5.1: Troubleshoot syntax errors, logic errors, and runtime errors
- Skill 5.2: Implement exception handling
JavaScript
Lesson 1: JavaScript Operators, Methods, and Keywords
- Skill 1.1: Complete and debug code that uses assignment and arithmetic operators
- Skill 1.2: Apply JavaScript best practices
- Skill 1.3: Evaluate the use of internal and external scripts
- Skill 1.4: Implement exception handling
- Skill 1.5: Complete and debug code that interacts with the Browser Object Model (BOM)
Lesson 2: Variables, Data Types, and Functions
- Skill 2.1: Declare and use variables of primitive data types
- Skill 2.2: Declare and use arrays
- Skill 2.3: Complete and debug code that uses objects
- Skill 2.4: Complete and debug code that uses built-in Math functions
- Skill 2.5: Complete and debug functions that accept parameters and return values
Lesson 3: Decisions and Loops
- Skill 3.1: Evaluate expressions that use logical and comparison operators
- Skill 3.2: Complete and debug decision statements
- Skill 3.3: Complete and debug loops
Lesson 4: Document Object Model
- Skill 4.1: Identify and construct the Document Object Model (DOM) tree
- Skill 4.2: Identify and handle document, form, keyboard, and mouse events
- Skill 4.3: Complete and debug code that outputs to an HTML document
- Skill 4.4: Complete and debug code that locates, modifies, and adds HTML elements and attributes to documents
- Skill 4.5: Create events using event handlers and listeners
Lesson 5: HTML Forms
- Skill 5.1: Complete and debug code that retrieves form input and sets form field values
- Skill 5.2: Complete and debug code that performs input validation
- Skill 5.3: Describe the form submission process
Network Security
Lesson 1: Defense in Depth
- Skill 1.1: Identify core security principles
- Skill 1.2: Define and enforce physical security
- Skill 1.3: Identify security policy types
- Skill 1.4: Identify attack types
- Skill 1.5: Identify backup and restore types
Lesson 2: Operating System Security
- Skill 2.1: Identify client and server protection
- Skill 2.2: Configure user authentication
- Skill 2.3: Manage permissions in Windows and Linux
- Skill 2.4: Facilitate non-repudiation using audit policies and log files
- Skill 2.5: Demonstrate knowledge of encryption
Lesson 3: Network Device Security
- Skill 3.1: Implement wireless security
- Skill 3.2: Identify the role of network protection devices
- Skill 3.3: Identify network isolation methods
- Skill 3.4: Identify protocol security concepts
Lesson 4: Secure Computing
- Skill 4.1: Implement email protection
- Skill 4.2: Manage browser security
- Skill 4.3: Install and configure anti-malware and antivirus software
Networking
Lesson 1: Networking Fundamentals
- Skill 1.1: Define network concepts
- Skill 1.2: Define cloud and virtualization concepts
- Skill 1.3: Describe remote access methods
Lesson 2: Network Infrastructures
- Skill 2.1: Define the characteristics of local area networks (LANs)
- Skill 2.2: Define the characteristics of wide-area networks (WANs)
- Skill 2.3: Identify wireless networking methods and characteristics
- Skill 2.4: Compare and contrast network topologies and access methods
Lesson 3: Network Hardware
- Skill 3.1: Describe characteristics of switches
- Skill 3.2: Describe characteristics of routers
- Skill 3.3: Describe characteristics of physical media
Lesson 4: Protocols and Services
- Skill 4.1: Describe the Open Systems Interconnection (OSI) model
- Skill 4.2: Describe the Transmission Control Protocol (TCP) model
- Skill 4.3: Describe IPv4 concepts
- Skill 4.4: Describe IPv6 concepts
- Skill 4.5: Identify well-known ports
- Skill 4.6: Describe name resolution concepts
- Skill 4.7: Identify the roles of networking services
Lesson 5: Network Infrastructures
- Skill 5.1: Given a scenario, describe the troubleshooting process in a small-medium business network
- Skill 5.2: Given a scenario, use the appropriate hardware troubleshooting tools
- Skill 5.3: Given a scenario, use the appropriate Windows software tools to troubleshoot a problem
- Skill 5.4: Given a scenario, use the appropriate Linux software tools to troubleshoot a problem
Python
Lesson 1: Operations using Data Types and Operators
- Skill 1.1: Evaluate expressions to identify the data types Python assigns to variables
- Skill 1.2: Perform data and data type operations
- Skill 1.3: Determine the sequence of execution based on operator precedence
- Skill 1.4: Select operators to achieve the intended results
Lesson 2: Flow Control with Decisions and Loops
- Skill 2.1: Construct and analyze code segments that use branching statements
- Skill 2.2: Construct and analyze code segments that perform iteration
Lesson 3: Input and Output Operations
- Skill 3.1: Construct and analyze code segments that perform file input and output operations
- Skill 3.2: Construct and analyze code segments that perform console input and output operations
Lesson 4: Code Documentation and Structure
- Skill 4.1: Document code segments
- Skill 4.2: Construct and analyze code segments that include function definitions
Lesson 5: Troubleshooting and Error Handling
- Skill 5.1: Analyze, detect, and fix code segments that have errors
- Skill 5.2: Analyze and construct code segments that handle exceptions
- Skill 5.3: Perform unit testing
Lesson 6: Operations using Modules and Tools
- Skill 6.1: Perform basic operations by using built-in modules
- Skill 6.2: Solve complex computing problems by using built-in modules
Software Development
Lesson 1: Core Programming Concepts
- Skill 1.1: Describe computer storage and data types
- Skill 1.2: Construct and analyze algorithms and flowcharts to solve programming problems
- Skill 1.3: Incorporate error handling into applications or modules
- Skill 1.4: Construct and analyze code based on functional programming patterns
Lesson 2: Software Development Principles
- Skill 2.1: Describe software development life cycle (SDLC) management
- Skill 2.2: Interpret application specifications
- Skill 2.3: Construct and analyze code that uses algorithms and data structures
- Skill 2.4: Describe the purpose of version control systems
- Skill 2.5: Describe secure coding concepts
Lesson 3: Object-Oriented Programming
- Skill 3.1: Construct, analyze, and use classes
- Skill 3.2: Construct and analyze code that uses inheritance
- Skill 3.3: Construct and analyze code that uses polymorphism
Lesson 4: Web Applications
- Skill 4.1: Construct and analyze web applications
- Skill 4.2: Describe and configure web hosting
- Skill 4.3: Describe and configure web services
- Skill 4.4: Describe and identify architectural patterns
Lesson 5: Databases
- Skill 5.1: Design and normalize a database
- Skill 5.2: Construct, analyze, and optimize ANSI SQL queries
- Skill 5.3: Manage transactions
- Skill 5.4: Describe database access methods
- Skill 5.5: Describe types of NoSQL databases