Introduction
- Overview of Java
- Java Standard Edition (Java SE) 8
- Tools for programming in Java
Introduction to Java Applications
- A First Program in Java: Printing a Line of Text
- Modifying Our First Java Program
- Displaying Text with printf
- Another Java Application: Adding Integers
- Decision Making: Equality and Relational Operators
Control Statements: Part 1
- if Single-Selection Statement
- if … else Double-Selection Statement
- while Repetition Statement
- Compound Assignment Operators
- Increment and Decrement Operators
- Primitive Types
Control Statements: Part 2
- Essentials of Counter-Controlled Repetition
- for Repetition Statement
- Examples Using the for Statement
- do … while Repetition Statement
- switch Multiple-Selection Statement
- break and continue Statements
- Logical Operators
Methods: A Deeper Look
- Static Methods, static Fields and Class Math
- Declaring Methods with Multiple Parameters
- Notes on Declaring and Using Methods
- Method-Call Stack and Activation Records
- Argument Promotion and Casting
- Java API Packages
- Scope of Declarations
- Method Overloading
Arrays
- Declaring and Creating Arrays
- Examples Using Arrays
- Enhanced for Statement
- Passing Arrays to Methods
- Multidimensional Arrays
Introduction to Classes and Objects
- Classes, Objects, Methods and Instance Variables
- Declaring a Class with a Method and Instantiating an Object of a Class
- Declaring a Method with a Parameter
- Instance Variables, set Methods and get Methods
- Primitive Types vs. Reference Types
- Initializing Objects with Constructors
- Floating-Point Numbers and Type double
Classes and Objects: A Deeper Look
- Time Class
- Controlling Access to Members
- Referring to the Current Object's Members with the this Reference
- Default and No-Argument Constructors
- Composition
- Enumerations
- Garbage Collection and Method finalize
- final Instance Variables
Object-Oriented Programming: Inheritance
- Superclasses and Subclasses
- Protected Members
- Relationship between Superclasses and Subclasses
- Constructors in Subclasses
- Software Engineering with Inheritance
Object-Oriented Programming: Polymorphism
- Polymorphism Examples
- Demonstrating Polymorphic Behavior
- Abstract Classes and Methods
- Case Study: Payroll System Using Polymorphism
- Demonstrating Polymorphic Processing, Operator instanceof and Downcasting
- Summary of the Allowed Assignments Between Superclass and Subclass Variables
- final Methods and Classes
- Case Study: Creating and Using Interfaces
- Declaring Constants with Interfaces
- Common Interfaces of the Java API
Exception Handling
- Exception-Handling Overview
- Example: Divide by Zero without Exception Handling
- Example: Handling ArithmeticExceptions and InputMismatchExceptions
- When to Use Exception Handling
- Java Exception Hierarchy
- finally Block
- Stack Unwinding
- printStackTrace , getStackTrace and getMessage
- Chained Exceptions
- Declaring New Exception Types
- Assertions
Collections
- Collections Overview
- Class Arrays
- ArrayList class and Iterators
- Sets
- Maps
INTRO: Object-Oriented Design (OOD) with the Unified Modeling Language (UML) Case Study (~4 Sessions)
Networking
- Manipulating URLs
- Reading a File on a Web Server
- Establishing a Simple Server Using Stream Sockets
- Establishing a Simple Client Using Stream Sockets
- Client/Server Interaction with Stream Socket Connections
- Connectionless Client/Server Interaction with Datagrams
Accessing Databases with JDBC
- Relational Databases
- Relational Database Overview: The books Database
- SQL
- Basic SELECT Query
- WHERE Clause
- ORDER BY Clause
- Merging Data from Multiple Tables: INNER JOIN
- INSERT Statement
- UPDATE Statement
- DELETE Statement
- Instructions for installing MySQL and MySQL Connector/J
- Instructions for Setting Up a MySQL User Account
- Connecting to and Querying a Database
- Querying in the Database
- PreparedStatements
- Stored Procedures
- Transaction Processing
Web Applications: Part 1
- Downloading, Installing and Configuring Eclipse and the Sun Java System Application Server
- Simple HTTP Transactions
- Multitier Application Architecture
- Java Web Technologies
- Servlets
- JavaServer Pages
- JavaServer Faces
- Web Technologies in Eclipse
- Creating and Running a Simple Application in Eclipse
- Examining a JSP File
- Examining a Page Bean File
- Event-Processing Life Cycle
- Relationship Between the JSP and Page Bean Files
- Examining the XHTML Generated by a Java Web Application
- Building a Web Application in Eclipse
- JSF Components
- Text and Graphics Components
- Validation Using Validator Components and Custom Validators
JAX-WS Web Services (~6 Sessions)
- Java Web Services Basics
- Creating, Publishing, Testing and Describing a Web Service
- Creating a Web Application Project and Adding a Web Service Class in Eclipse
- Defining a Web Service in Eclipse
- Publishing a Web Service from Eclipse
- Testing a Web Service with Sun Java System Application Server’s Tester Web page
- Describing a Web Service with the Web Service Description Language (WSDL)
- Consuming a Web Service
- Creating a Client in Eclipse to Consume an already built Web Service
- Consuming the Web Service
- SOAP
- Session Tracking in Web Services
- Consuming a Database-Driven Web Service from a Web Application
- Configuring Java DB in Eclipse and creating a sample Database
- Creating a Web Application to Interact with the Web Service built above
- Passing an Object of a User-Defined Type to a Web Service
Web Applications: Part 2 (Optional, too advanced imo and idk if there is enough time to deal with it)
- Accessing Databases in Web Applications
- Building a Web Application that Displays Data from a Database
- Modifying the Page Bean File for a simple application built
- Ajax-Enabled JSF Components
- Java BluePrints Component Library
- AutoComplete Text Field and Virtual Forms
- Configuring Virtual Forms
- JSP File with Virtual Forms and an AutoComplete Text Field
- Providing Suggestions for an AutoComplete Text Field
- Using the Google Maps Map Viewer Component in a Web Application
Introduction & Network Fundamentals
Explain the role and function of network components
Describe characteristics of network topology architectures
Compare physical interface and cabling types
Identify interface and cable issues (collisions, errors, mismatch duplex, and/or speed)
Compare TCP to UDP
Configure and verify IPv4 addressing and subnetting
Describe the need for private IPv4 addressing
Configure and verify IPv6 addressing and prefix
Describe IPv6 address types
Verify IP parameters for Client OS (Windows, Mac OS, Linux)
Describe wireless principles
Explain virtualization fundamentals (server virtualization, containers, and VRFs)
Network Access
Configure and verify VLANs (normal range) spanning multiple switches
- Access ports (data and voice)
- Default VLAN
- InterVLAN connectivity
Configure and verify interswitch connectivity
- Trunk ports
- 802.1Q
- Native VLAN
IP Connectivity
Interpret the components of routing table
- Routing protocol code
- Prefix
- Network mask
- Next hop
- Administrative distance
- Metric
- Gateway of last resort
Determine how a router makes a forwarding decision by default
- Longest match
- Administrative distance
- Routing protocol metric
Configure and verify IPv4 and IPv6 static routing
- Default route
- Network route
- Host route
- Floating static
Configure and verify single area OSPFv2
- Neighbor adjacencies
- Point-to-point
- Broadcast (DR/BDR selection)
- Router ID
Describe the purpose, functions, and concepts of first hop redundancy protocols
IP Services
Configure and verify inside source NAT using static and pools
Configure and verify NTP operating in a client and server mode
Explain the role of DHCP and DNS within the network
Explain the function of SNMP in network operations
Describe the use of syslog features including facilities and levels
Configure and verify DHCP client and relay
Explain the forwarding per-hop behavior (PHB) for QoS such as classification, marking, queuing, congestion, policing, shaping
Configure network devices for remote access using SSH
Describe the capabilities and function of TFTP/FTP in the network
Security Fundamentals
Define key security concepts (threats, vulnerabilities, exploits, and mitigation techniques)
Describe security program elements (user awareness, training, and physical access control)
Configure and verify device access control using local passwords
Describe security password policies elements, such as management, complexity, and password alternatives (multifactor authentication, certificates, and biometrics)
Describe IPsec remote access and site-to-site VPNs
Configure and verify access control lists
Configure Layer 2 security features (DHCP snooping, dynamic ARP inspection, and port security)
Differentiate authentication, authorization, and accounting concepts
Describe wireless security protocols (WPA, WPA2, and WPA3)
Configure WLAN using WPA2 PSK using the GUI
Automation and Programmability
Explain how automation impacts network management
Compare traditional networks with controller-based networking
Describe controller-based and software defined architectures (overlay, underlay, and fabric)
Separation of control plane and data plane
North-bound and south-bound APIs
Compare traditional campus device management with Cisco DNA Center enabled device management
Describe characteristics of REST-based APIs (CRUD, HTTP verbs, and data encoding)
Recognize the capabilities of configuration management mechanisms Puppet, Chef, and Ansible
Interpret JSON encoded data
Network Fundamentals
1.1 Compare and contrast OSI and TCP/IP models
1.2 Compare and contrast TCP and UDP protocols
1.3 Describe the impact of infrastructure components in an enterprise network
1.3.a Firewalls
1.3.b Access points
1.3.c Wireless controllers
1.4 Compare and contrast collapsed core and three-tier architectures
1.5 Compare and contrast network topologies
1.6 Select the appropriate cabling type based on implementation requirements
1.7 Apply troubleshooting methodologies to resolve problems
1.8 Configure, verify, and troubleshoot IPv4 addressing and subnetting
1.9 Compare and contrast IPv4 address types
1.10 Describe the need for private IPv4 addressing
1.11 Identify the appropriate IPv6 addressing scheme to satisfy addressing requirements in a LAN/WAN environment
1.12 Configure, verify, and troubleshoot IPv6 addressing
1.13 Configure and verify IPv6 Stateless Address Auto Configuration
1.14 Compare and contrast IPv6 address types
LAN Switching Fundamentals
2.1 Describe and verify switching concepts
2.2 Interpret Ethernet frame format2.3 Troubleshoot interface and cable issues (collisions, errors, duplex, speed)
2.4 Configure, verify, and troubleshoot VLANs (normal range) spanning multiple switches
Routing Fundamentals
3.1 Describe the routing concepts
3.2 Interpret the components of routing table
3.3 Describe how a routing table is populated by different routing information sources
3.3.a Admin distance
3.4 Configure, verify, and troubleshoot inter-VLAN routing
3.4.a Router on a stick
3.5 Compare and contrast static routing and dynamic routing
3.6 Configure, verify, and troubleshoot IPv4 and IPv6 static routing
3.7 Configure, verify, and troubleshoot RIPv2 for IPv4 (excluding authentication, filtering, manual summarization, redistribution)
Infrastructure Services
4.1 Describe DNS lookup operation
4.2 Troubleshoot client connectivity issues involving DNS
4.3 Configure and verify DHCP on a router (excluding static reservations)
4.3.d TFTP, DNS, and gateway options
4.4 Troubleshoot client- and router-based DHCP connectivity issues
4.5 Configure and verify NTP operating in client/server mode
4.6 Configure, verify, and troubleshoot IPv4 standard numbered and named access list for routed interfaces
4.7 Configure, verify, and troubleshoot inside source NAT
Infrastructure Maintenance
5.1 Configure and verify device-monitoring using syslog
5.2 Configure and verify device management
5.3 Configure and verify initial device configuration
5.4 Configure, verify, and troubleshoot basic device hardening
5.5 Perform device maintenance
5.5.a Cisco IOS upgrades and recovery (SCP, FTP, TFTP, and MD5 verify)
5.5.b Password recovery and configuration register
5.5.c File system management
5.6 Use Cisco IOS tools to troubleshoot and resolve problems
Topic 105: Shells and Shell Scripting
105.1 Customize and use the shell environment
Weight: 4
Description: Candidates should be able to customize shell environments to meet users'
needs. Candidates should be able to modify global and user profiles.
Key Knowledge Areas:
- Set environment variables (e.g. PATH) at login or when spawning a new shell.
- Write Bash functions for frequently used sequences of commands.
- Maintain skeleton directories for new user accounts.
- Set command search path with the proper directory.
The following is a partial list of the used files, terms and utilities:
- .
- source
- /etc/bash.bashrc
- /etc/profile
- env
- export
- set
- unset
- ~/.bash_profile
- ~/.bash_login
- ~/.profile
- ~/.bashrc
- ~/.bash_logout
- function
- alias
105.2 Customize or write simple scripts
Weight: 4
Description: Candidates should be able to customize existing scripts, or write simple new
Bash scripts.
Key Knowledge Areas:
- Use standard sh syntax (loops, tests).
- Use command substitution.
- Test return values for success or failure or other information provided by a
- Execute chained commands.
- Perform conditional mailing to the superuser.
- Correctly select the script interpreter through the shebang (#!) line.
- Manage the location, ownership, execution and suid-rights of scripts.
The following is a partial list of the used files, terms and utilities:
- for
- while
- test
- if
- read
- seq
- exec
- ||
- &&
Topic 106: User Interfaces and Desktops
106.1 Install and configure X11
Weight: 2
Description: Candidates should be able to install and configure X11.
Key Knowledge Areas:
- Understanding of the X11 architecture.
- Basic understanding and knowledge of the X Window configuration file.
- Overwrite specific aspects of Xorg configuration, such as keyboard layout.
- Understand the components of desktop environments, such as display managers and
- window managers.
- Manage access to the X server and display applications on remote X servers.
- Awareness of Wayland.
- The following is a partial list of the used files, terms and utilities:
- /etc/X11/xorg.conf
- /etc/X11/xorg.conf.d/
- ~/.xsession-errors
- xhost
- xauth
- DISPLAY
- X
106.2 Graphical Desktops
Weight: 1
Description: Candidates should be aware of major Linux desktops. Furthermore,
candidates should be aware of protocols used to access remote desktop sessions.
Key Knowledge Areas:
- Awareness of major desktop environments
- Awareness of protocols to access remote desktop sessions
- The following is a partial list of the used files, terms and utilities:
- KDE
- Gnome
- Xfce
- X11
- XDMCP
- VNC
- Spice
- RDP
106.3 Accessibility
Weight: 1
Description: Demonstrate knowledge and awareness of accessibility technologies.
Key Knowledge Areas:
- Basic knowledge of visual settings and themes.
- Basic knowledge of assistive technology.
- The following is a partial list of the used files, terms and utilities:
- High Contrast/Large Print Desktop Themes.
- Screen Reader.
- Braille Display.
- Screen Magnifier.
- On-Screen Keyboard.
- Sticky/Repeat keys.
- Slow/Bounce/Toggle keys.
- Mouse keys.
- Voice recognition.
Topic 107: Administrative Tasks
107.1 Manage user and group accounts and related system files
Weight: 5
Description: Candidates should be able to add, remove, suspend and change user
accounts.
Key Knowledge Areas:
- Add, modify and remove users and groups.
- Manage user/group info in password/group databases.
- Create and manage special purpose and limited accounts.
- The following is a partial list of the used files, terms and utilities:
- /etc/passwd
- /etc/shadow
- /etc/group
- /etc/skel/
- chage
- getent
- groupadd
- groupdel
- groupmod
- passwd
- useradd
- userdel
- usermod
107.2 Automate system administration tasks by scheduling jobs
Weight: 4
Description: Candidates should be able to use cron and systemd timers to run jobs at
regular intervals and to use at to run jobs at a specific time.
Key Knowledge Areas:
- Manage cron and at jobs.
- Configure user access to cron and at services.
- Understand systemd timer units.
- The following is a partial list of the used files, terms and utilities:
- /etc/cron.{d,daily,hourly,monthly,weekly}/
- /etc/at.deny
- /etc/at.allow
- /etc/crontab
- /etc/cron.allow
- /etc/cron.deny
- /var/spool/cron/
- crontab
- at
- atq
- atrm
- systemctl
- systemd-run
107.3 Localisation and internationalisation
Weight: 3
Description: Candidates should be able to localize a system in a different language than
English. As well, an understanding of why LANG=C is useful when scripting.
Key Knowledge Areas:
- Configure locale settings and environment variables.
- Configure timezone settings and environment variables.
- The following is a partial list of the used files, terms and utilities:
- /etc/timezone
- /etc/localtime
- /usr/share/zoneinfo/
- LC_*
- LC_ALL
- LANG
- TZ
- /usr/bin/locale
- tzselect
- timedatectl
- date
- iconv
- UTF-8
- ISO-8859
- ASCII
- Unicode
Topic 108: Essential System Services
108.1 Maintain system time
Weight: 3
Description: Candidates should be able to properly maintain the system time and
synchronize the clock via NTP.
Key Knowledge Areas:
- Set the system date and time.
- Set the hardware clock to the correct time in UTC.
- Configure the correct timezone.
- Basic NTP configuration using ntpd and chrony.
- Knowledge of using the pool.ntp.org service.
- Awareness of the ntpq command.
- The following is a partial list of the used files, terms and utilities:
- /usr/share/zoneinfo/
- /etc/timezone
- /etc/localtime
- /etc/ntp.conf
- /etc/chrony.conf
- date
- hwclock
- timedatectl
- ntpd
- ntpdate
- chronyc
- ntp.org
108.2 System logging
Weight: 4
Description: Candidates should be able to configure rsyslog. This objective also includes
configuring the logging daemon to send log output to a central log server or accept log
output as a central log server. Use of the systemd journal subsystem is covered. Also,
awareness of syslog and syslog-ng as alternative logging systems is included.
Key Knowledge Areas:
- Basic configuration of rsyslog.
- Understanding of standard facilities, priorities and actions.
- Query the systemd journal.
- Filter systemd journal data by criteria such as date, service or priority.
- Configure persistent systemd journal storage and journal size.
- Delete old systemd journal data.
- Retrieve systemd journal data from a rescue system or file system copy.
- Understand interaction of rsyslog with systemd-journald.
- Configuration of logrotate.
- Awareness of syslog and syslog-ng.
- Terms and Utilities:
- /etc/rsyslog.conf
- /var/log/
- logger
- logrotate
- /etc/logrotate.conf
- /etc/logrotate.d/
- journalctl
- systemd-cat
- /etc/systemd/journald.conf
- /var/log/journal/
108.3 Mail Transfer Agent (MTA) basics
Weight: 3
Description: Candidates should be aware of the commonly available MTA programs and be
able to perform basic forward and alias configuration on a client host. Other configuration
files are not covered.
Key Knowledge Areas:
- Create e-mail aliases.
- Configure e-mail forwarding.
- Knowledge of commonly available MTA programs (postfix, sendmail, exim) (no
- configuration).
Terms and Utilities:
- ~/.forward
- sendmail emulation layer commands
- newaliases
- mailq
- postfix
- sendmail
- exim
108.4 Manage printers and printing
Weight: 2
Description: Candidates should be able to manage print queues and user print jobs using
CUPS and the LPD compatibility interface.
Key Knowledge Areas:
- Basic CUPS configuration (for local and remote printers).
- Manage user print queues.
- Troubleshoot general printing problems.
- Add and remove jobs from configured printer queues.
- The following is a partial list of the used files, terms and utilities:
- CUPS configuration files, tools and utilities
- /etc/cups/
- lpd legacy interface (lpr, lprm, lpq)
Topic 109: Networking Fundamentals
109.1 Fundamentals of internet protocols
Weight: 4
Description: Candidates should demonstrate a proper understanding of TCP/IP network
fundamentals.
Key Knowledge Areas:
- Demonstrate an understanding of network masks and CIDR notation.
- Knowledge of the differences between private and public "dotted quad" IP addresses.
- Knowledge about common TCP and UDP ports and services (20, 21, 22, 23, 25, 53,
- 80, 110, 123, 139, 143, 161, 162, 389, 443, 465, 514, 636, 993, 995).
- Knowledge about the differences and major features of UDP, TCP and ICMP.
- Knowledge of the major differences between IPv4 and IPv6.
- Knowledge of the basic features of IPv6.
- The following is a partial list of the used files, terms and utilities:
- /etc/services
- IPv4, IPv6
- Subnetting
- TCP, UDP, ICMP
109.2 Persistent network configuration
Weight: 4
Description: Candidates should be able to manage the persistent network configuration of a Linux host.
- Key Knowledge Areas:
- Understand basic TCP/IP host configuration.
- Configure ethernet and wi-fi network configuration using NetworkManager.
- Awareness of systemd-networkd.
The following is a partial list of the used files, terms and utilities:
- /etc/hostname
- /etc/hosts
- /etc/nsswitch.conf
- /etc/resolv.conf
- nmcli
- hostnamectl
- ifup
- ifdown
109.3 Basic network troubleshooting
Weight: 4
Description: Candidates should be able to troubleshoot networking issues on client hosts.
Key Knowledge Areas:
- Manually configure network interfaces, including viewing and changing the
- configuration of network interfaces using iproute2.
- Manually configure routing, including viewing and changing routing tables and setting
- the default route using iproute2.
- Debug problems associated with the network configuration.
- Awareness of legacy net-tools commands.
- The following is a partial list of the used files, terms and utilities:
- ip
- hostname
- ss
- ping
- ping6
- traceroute
- traceroute6
- tracepath
- tracepath6
- netcat
- ifconfig
- netstat
- route
109.4 Configure client side DNS
Weight: 2
Description: Candidates should be able to configure DNS on a client host.
Key Knowledge Areas:
- Query remote DNS servers.
- Configure local name resolution and use remote DNS servers.
- Modify the order in which name resolution is done.
- Debug errors related to name resolution.
- Awareness of systemd-resolved.
- The following is a partial list of the used files, terms and utilities:
- /etc/hosts
- /etc/resolv.conf
- /etc/nsswitch.conf
- host
- dig
- getent
Topic 110: Security
110.1 Perform security administration tasks
Weight: 3
Description: Candidates should know how to review system configuration to ensure host
security in accordance with local security policies.
Key Knowledge Areas:
- Audit a system to find files with the suid/sgid bit set.
- Set or change user passwords and password aging information.
- Being able to use nmap and netstat to discover open ports on a system.
- Set up limits on user logins, processes and memory usage.
- Determine which users have logged in to the system or are currently logged in.
- Basic sudo configuration and usage.
- The following is a partial list of the used files, terms and utilities:
- find
- passwd
- fuser
- lsof
- nmap
- chage
- netstat
- sudo
- /etc/sudoers
- su
- usermod
- ulimit
- who, w, last
110.2 Setup host security
Weight: 3
Description: Candidates should know how to set up a basic level of host security.
Key Knowledge Areas:
- Awareness of shadow passwords and how they work.
- Turn off network services not in use.
- Understand the role of TCP wrappers.
- The following is a partial list of the used files, terms and utilities:
- /etc/nologin
- /etc/passwd
- /etc/shadow
- /etc/xinetd.d/
- /etc/xinetd.conf
- socket
- /etc/inittab
- /etc/init.d/
- /etc/hosts.allow
- /etc/hosts.deny
110.3 Securing data with encryption
Weight: 4
Description: The candidate should be able to use public key techniques to secure data and
communication.
Key Knowledge Areas:
- Perform basic OpenSSH 2 client configuration and usage.
- Understand the role of OpenSSH 2 server host keys.
- Perform basic GnuPG configuration, usage and revocation.
- Use GPG to encrypt, decrypt, sign and verify files.
- Understand SSH port tunnels (including X11 tunnels).
The following is a partial list of the used files, terms and utilities:
- ssh
- ssh-keygen
- ssh-agent
- ssh-add
- ~/.ssh/id_rsa and id_rsa.pub
- ~/.ssh/id_dsa and id_dsa.pub
- ~/.ssh/id_ecdsa and id_ecdsa.pub
- ~/.ssh/id_ed25519 and id_ed25519.pub
- /etc/ssh/ssh_host_rsa_key and ssh_host_rsa_key.pub
- /etc/ssh/ssh_host_dsa_key and ssh_host_dsa_key.pub
- /etc/ssh/ssh_host_ecdsa_key and ssh_host_ecdsa_key.pub
- /etc/ssh/ssh_host_ed25519_key and ssh_host_ed25519_key.pub
- ~/.ssh/authorized_keys
- ssh_known_hosts
- gpg
- gpg-agent
- ~/.gnupg/
WordPress
1.1 Installing WordPress
1.2 Installing a Theme
1.2.1 Installing themes from WordPress Directory
1.2.2 Installing themes downloaded on your pc
1.3 Configuring Child Themes
1.4 Introduction to Dashboard
1.4.1 Post
1.4.2 Pages
1.4.3 Media
1.5 Creating pages
1.5.1 Adding new page, updating, previewing, trashing
1.5.2 Creating Main Menu and other custom menus
1.6 Customizing your widgets
1.6.1 Customizing sidebar
1.6.2 Creating and customizing footer
1.7 Personalizing your website
1.7.1 Homepage settings (fonts, colors, banners)
1.7.2 Blog settings
1.7.3 Adding logo and favicon
1.7.4 Choosing menu header type
1.7.5 Customizing copyright info
1.8 Creating your blog
1.8.1 Adding pictures and text
1.8.2 Adding featured images
1.8.3 Adding categories
1.8.4 Post formats
1.8.5 Blog formats (grid, fullwidth)
1.8.6 Using different plugins to customize your blog
1.9 WordPress Setting
1.9.1 Reading (Changing your homepage and blog page)
1.9.2 Discussion (Allowing or forbidding comments)
1.9.3 Permalinks (Choosing your permalinks structure)
1.10 Contact Forms
1.10.1 Introduction to different plugins to build contact forms
1.10.2 Understanding shortcodes
1.11 Building an e-Commerce WordPress Site
1.11.1 Installing WooCommerce plugins
1.11.2 Adding products
1.11.3 Adding product Categories
1.11.4 Adding products gallery and featured images
1.11.5 Adding prices and discounts to your products
1.11.6 Choosing the best theme for your online store needs
Digital Marketing (Google Tools)
2.1 Google AdWords
2.1.1 Introduction to Google AdWords and Google Networks
2.1.2 Google Search Network
2.1.3 Google Display Network
2.1.4 Being Google certified (Google Partner)
2.2 Introduction to AdWords Dashboard
2.3 Understanding how AdWords is organized
2.3.1 Account Layer, Campaign Layer, Ad groups Layer, Ads
2.4 Payment Methods
2.4.1 Bid vs Budget
2.4.2 Cost per Click (CPC), Cost per thousand Impression (CPM), Cost per Acquisition (CPA)
2.5 Creating your first Campaign
2.5.1 Creating a Google Search Campaign
2.5.2 Creating a Google Search with Display Select Campaign
2.5.3 Understanding Keywords and Keyword Types
2.6 Choosing your Keywords (keyword planner tool and other tools)
2.6.1 Targeting your territory, language, topic etc.
2.6.2 Understanding and Writing Ad Headline 1, Headline 2 and Description
2.7 Google Ranking
2.7.1 Google Quality Score (QS)
2.7.2 CTR (Click Through Rate)
2.7.3 ROI/ROAS etc.
2.8 AdWords Statistics
2.8.1 Generating Custom Reports
2.9 Google AdSense
2.9.1 Introduction to Google AdSense
2.9.2 How can we generate money through AdSense?
2.10 Creating an account
2.10.1 Criteria’s to qualify as a part of AdSense network
2.10.2 Applying to connect your website/blog with AdSense
2.11 Google Analytics
2.11.1 Introduction to Google Analytics
2.11.2 Understanding basics of GA: Visitors/Visits/Pageviews/Bounce Rate
2.12 Creating an account
2.12.1 Creating an account in GA platform and configuring your website to measure
traffic through a plugin.
2.12.2 Introduction to Google Analytics dashboard
2.12.3 Viewing Real Time and Audience Statistics for your website/blog
2.12.4 Understanding Analytics Layers: Account Layer, Property Layer, View Layer
2.12.5 Creating Goals and Filters for your website
2.12.6 Generating Custom Reports for a chosen period of time.
2.13 SEO (Search Engine Optimization)
2.13.1 Introduction to SEO, the pros and cons
2.13.2 Best SEO strategy
2.14 SEO Setup for your website
2.14.1 Building SEO Snippets for every page or post on your website through a
plugin
2.14.2Configuring Yoast SEO
2.14.3 Understanding headlines, keywords and description
2.14.4 Keyword searches
2.14.5 Site Audits
2.14.6 Ranking factors
2.14.7 URL structure
Graphic design (Photoshop)
3.1 Installing Photoshop with crack
3.2 Introduction to Photoshop:
3.2.1 Application Frame Customization
3.2.2 Tools Panel
3.2.3 Control Panel for each tool
3.2.4 Background and Foreground Colors
3.2.5 Zoom Tool
3.3 Workspace Customization/ Adding and Resetting your own workspace
3.4 Raster Images:
3.4.1 Image size
3.4.2 Resolution
3.4.3 Dimensions
3.4.4 Canvas size
3.4.5 Images mode (RGB/CMYK)
3.4.6 File Types (.PSD, .jpeg, .png, .pdf)
3.5 Working with Layers:
3.5.1 Layer Types
3.5.2 Visibility
3.5.3 Transparency
3.5.4 Hierarchy
3.5.5 Create a new layer/delete
3.5.6 Rename a layer
3.5.7 Group layers/ Layer Colors
3.5.8 Lock Layers
3.5.9 Link Layers
3.6 Tools:
3.6.1 Move Tool
3.6.2 Selection Tool
3.6.3 Eyedropper Tool
3.6.4 Image Adjustments: (Crop Tool, Marque Tool, Paint bucket Tool, Lasso
Tool, Magic Wand Tool, Gradient Tool)
3.6.5 Brush Tool (Create and save your own custom brush)
3.6.6 Image Retouching: (Spot Healing Brush Tool, Patch Tool, Healing Brush
Tool, Red Eye Tool, Clone Stamp Tool, Blur/Sharpen/Smudge Tool, Dodge/
Burn Tool)
3.6.7 Pen Tool
3.6.8 Horizontal/ Vertical Type Tool
3.7 Others: (Retouching Images)
3.7.1 Layer Styles/ Blending Options
3.7.2 Filters/ Filter Gallery
3.7.3 Image mode/adjustments
3.7.4 Camera Raw
3.8 Using Photoshop
3.8.1 Creating a Website banner from scratch (Image + Color Overlay + Text
layer/Slogan + Logo + Button)
3.8.2 Creating a Homepage website mockup in .PSD + Contact page mockup
3.8.3 Creating a Google Image ad in .PSD
3.8.4 Creating Facebook banner in .PSD
3.8.5 Creating a Newsletter popup for your website in .PSD
Topic 101: System Architecture
101.1 Determine and configure hardware settings
Weight: 2
Description: Candidates should be able to determine and configure fundamental system
hardware
Key Knowledge Areas:
- Enable and disable integrated peripherals.
- Differentiate between the various types of mass storage devices.
- Determine hardware resources for devices.
- Tools and utilities to list various hardware information (e.g. lsusb, lspci, etc.).
- Tools and utilities to manipulate USB devices.
- Conceptual understanding of sysfs, udev and dbus.
- The following is a partial list of the used files, terms and utilities:
- /sys/
- /proc/
- /dev/
- modprobe
- lsmod
- lspci
- lsusb
101.2 Boot the system
Weight: 3
Description: Candidates should be able to guide the system through the booting process.
Key Knowledge Areas:
- Provide common commands to the boot loader and options to the kernel at boot
- Demonstrate knowledge of the boot sequence from BIOS/UEFI to boot completion.
- Understanding of SysVinit and systemd.
- Awareness of Upstart.
- Check boot events in the log files.
- The following is a partial list of the used files, terms and utilities:
- dmesg
- journalctl
- BIOS
- UEFI
- bootloader
- kernel
- initramfs
- init
- SysVinit
- systemd
101.3 Change runlevels / boot targets and shutdown or reboot system
Weight: 3
Description: Candidates should be able to manage the SysVinit runlevel or systemd boot
target of the system. This objective includes changing to single user mode, shutdown or
rebooting the system. Candidates should be able to alert users before switching runlevels /
boot targets and properly terminate processes. This objective also includes setting the
default SysVinit runlevel or systemd boot target. It also includes awareness of Upstart as an alternative to SysVinit or systemd.
Key Knowledge Areas:
- Set the default runlevel or boot target.
- Change between runlevels / boot targets including single user mode.
- Shutdown and reboot from the command line.
- Alert users before switching runlevels / boot targets or other major system events.
- Properly terminate processes.
- Awareness of acpid.
- The following is a partial list of the used files, terms and utilities:
- /etc/inittab
- shutdown
- init
- /etc/init.d/
- telinit
- systemd
- systemctl
- /etc/systemd/
- /usr/lib/systemd/
- wall
Topic 102: Linux Installation and Package Management
102.1 Design hard disk layout
Weight: 2
Description: Candidates should be able to design a disk partitioning scheme for a Linux
system.
Key Knowledge Areas:
- Allocate filesystems and swap space to separate partitions or disks.
- Tailor the design to the intended use of the system.
- Ensure the /boot partition conforms to the hardware architecture requirements for
- Knowledge of basic features of LVM.
- The following is a partial list of the used files, terms and utilities:
- / (root) filesystem
- /var filesystem
- /home filesystem
- /boot filesystem
- EFI System Partition (ESP)
- swap space
- mount points
- partitions
102.2 Install a boot manager
Weight: 2
Description: Candidates should be able to select, install and configure a boot manager.
Key Knowledge Areas:
- Providing alternative boot locations and backup boot options.
- Install and configure a boot loader such as GRUB Legacy.
- Perform basic configuration changes for GRUB 2.
- Interact with the boot loader.
The following is a partial list of the used files, terms and utilities:
- lst, grub.cfg and grub.conf
- grub-install
- grub-mkconfig
- MBR
102.3 Manage shared libraries
Weight: 1
Description: Candidates should be able to determine the shared libraries that executable
programs depend on and install them when necessary.
Key Knowledge Areas:
- Identify shared libraries.
- Identify the typical locations of system libraries.
- Load shared libraries.
The following is a partial list of the used files, terms and utilities:
- ldd
- ldconfig
- /etc/ld.so.conf
- LD_LIBRARY_PATH
102.4 Use Debian package management
Weight: 3
Description: Candidates should be able to perform package management using the Debian
package tools.
Key Knowledge Areas:
- Install, upgrade and uninstall Debian binary packages.
- Find packages containing specific files or libraries which may or may not be installed.
- Obtain package information like version, content, dependencies, package integrity
- and installation status (whether or not the package is installed).
- Awareness of apt.
The following is a partial list of the used files, terms and utilities:
- /etc/apt/sources.list
- dpkg
- dpkg-reconfigure
- apt-get
- apt-cache
102.5 Use RPM and YUM package management
Weight 3
Description: Candidates should be able to perform package management using RPM, YUM
and Zypper.
Key Knowledge Areas:
- Install, re-install, upgrade and remove packages using RPM, YUM and Zypper.
- Obtain information on RPM packages such as version, status, dependencies, integrity
- and signatures.
- Determine what files a package provides, as well as find which package a specific file
- comes from.
- Awareness of dnf.
- The following is a partial list of the used files, terms and utilities:
- rpm
- rpm2cpio
- /etc/yum.conf
- /etc/yum.repos.d/
- yum
- zypper
102.6 Linux as a virtualization guest
Weight: 1
Description: Candidates should understand the implications of virtualization and cloud
computing on a Linux guest system.
Key Knowledge Areas:
- Understand the general concept of virtual machines and containers.
- Understand common elements virtual machines in an IaaS cloud, such as computing
- instances, block storage and networking.
- Understand unique properties of a Linux system which have to changed when a
- system is cloned or used as a template.
- Understand how system images are used to deploy virtual machines, cloud instances
- and containers.
- Understand Linux extensions which integrate Linux with a virtualization product.
- Awareness of cloud-init.
- The following is a partial list of the used files, terms and utilities:
- Virtual machine
- Linux container
- Application container
- Guest drivers
- SSH host keys
- D-Bus machine id
Topic 103: GNU and Unix Commands
103.1 Work on the command line
Weight: 4
Description: Candidates should be able to interact with shells and commands using the
command line. The objective assumes the Bash shell.
- Key Knowledge Areas:
- Use single shell commands and one line command sequences to perform basic tasks
- on the command line.
- Use and modify the shell environment including defining, referencing and exporting
- environment variables.
- Use and edit command history.
- Invoke commands inside and outside the defined path.
- The following is a partial list of the used files, terms and utilities:
- bash
- echo
- env
- export
- pwd
- set
- unset
- type
- which
- man
- uname
- history
- .bash_history
- Quoting
103.2 Process text streams using filters
Weight: 2
Description: Candidates should be able to apply filters to text streams.
Key Knowledge Areas:
- Send text files and output streams through text utility filters to modify the output using standard UNIX commands found in the GNU textutils package.
The following is a partial list of the used files, terms and utilities:
- bzcat
- cat
- cut
- head
- less
- md5sum
- nl
- od
- paste
- sed
- sha256sum
- sha512sum
- sort
- split
- tail
- tr
- uniq
- wc
- xzcat
- zcat
103.3 Perform basic file management
Weight: 4
Description: Candidates should be able to use the basic Linux commands to manage files
and directories.
Key Knowledge Areas:
- Copy, move and remove files and directories individually.
- Copy multiple files and directories recursively.
- Remove files and directories recursively.
- Use simple and advanced wildcard specifications in commands.
- Using find to locate and act on files based on type, size, or time.
- Usage of tar, cpio and dd.
- The following is a partial list of the used files, terms and utilities:
- cp
- find
- mkdir
- mv
- ls
- rm
- rmdir
- touch
- tar
- cpio
- dd
- file
- gzip
- gunzip
- bzip2
- bunzip2
- xz
- unxz
- file globbing
103.4 Use streams, pipes and redirects
Weight: 4
Description: Candidates should be able to redirect streams and connect them in order to
efficiently process textual data. Tasks include redirecting standard input, standard output
and standard error, piping the output of one command to the input of another command,
using the output of one command as arguments to another command and sending output to
both stdout and a file.
Key Knowledge Areas:
- Redirecting standard input, standard output and standard error.
- Pipe the output of one command to the input of another command.
- Use the output of one command as arguments to another command.
- Send output to both stdout and a file.
- The following is a partial list of the used files, terms and utilities:
- tee
- xargs
103.5 Create, monitor and kill processes
Weight: 4
Description: Candidates should be able to perform basic process management.
Key Knowledge Areas:
- Run jobs in the foreground and background.
- Signal a program to continue running after logout.
- Monitor active processes.
- Select and sort processes for display.
- Send signals to processes.
- The following is a partial list of the used files, terms and utilities:
- &
- bg
- fg
- jobs
- kill
- nohup
- ps
- top
- free
- uptime
- pgrep
- pkill
- killall
- watch
- screen
- tmux
103.6 Modify process execution priorities
Weight: 2
Description: Candidates should should be able to manage process execution priorities.
Key Knowledge Areas:
- Know the default priority of a job that is created.
- Run a program with higher or lower priority than the default.
- Change the priority of a running process.
The following is a partial list of the used files, terms and utilities:
- nice
- ps
- renice
- top
103.7 Search text files using regular expressions
Weight: 3
Description: Candidates should be able to manipulate files and text data using regular
expressions. This objective includes creating simple regular expressions containing several
notational elements as well as understanding the differences between basic and extended
regular expressions. It also includes using regular expression tools to perform searches
through a filesystem or file content.
Key Knowledge Areas:
- Create simple regular expressions containing several notational elements.
- Understand the differences between basic and extended regular expressions.
- Understand the concepts of special characters, character classes, quantifiers and
- Use regular expression tools to perform searches through a filesystem or file content.
- Use regular expressions to delete, change and substitute text.
- The following is a partial list of the used files, terms and utilities:
- grep
- egrep
- fgrep
- sed
- regex(7)
103.8 Basic file editing
Weight: 3
Description: Candidates should be able to edit text files using vi. This objective includes vi
navigation, vi modes, inserting, editing, deleting, copying and finding text. It also includes
awareness of other common editors and setting the default editor.
Key Knowledge Areas:
- Navigate a document using vi.
- Understand and use vi modes.
- Insert, edit, delete, copy and find text in vi.
- Awareness of Emacs, nano and vim.
- Configure the standard editor.
Terms and Utilities:
- vi
- /, ?
- h,j,k,l
- i, o, a
- d, p, y, dd, yy
- ZZ, :w!, :q!
- EDITOR
Topic 104: Devices, Linux Filesystems, Filesystem Hierarchy Standard
104.1 Create partitions and filesystems
Weight: 2
Description: Candidates should be able to configure disk partitions and then create
filesystems on media such as hard disks. This includes the handling of swap partitions.
Key Knowledge Areas:
- Manage MBR and GPT partition tables
- Use various mkfs commands to create various filesystems such as:
- ext2/ext3/ext4
- XFS
- VFAT
- exFAT
- Basic feature knowledge of Btrfs, including multi-device filesystems, compression
- and subvolumes.
- The following is a partial list of the used files, terms and utilities:
- fdisk
- gdisk
- parted
- mkfs
- mkswap
104.2 Maintain the integrity of filesystems
Weight: 2
Description: Candidates should be able to maintain a standard filesystem, as well as the
extra data associated with a journaling filesystem.
Key Knowledge Areas:
- Verify the integrity of filesystems.
- Monitor free space and inodes.
- Repair simple filesystem problems.
- The following is a partial list of the used files, terms and utilities:
- du
- df
- fsck
- e2fsck
- mke2fs
- tune2fs
- xfs_repair
- xfs_fsr
- xfs_db
104.3 Control mounting and unmounting of filesystems
Weight: 3
Description: Candidates should be able to configure the mounting of a filesystem.
Key Knowledge Areas:
- Manually mount and unmount filesystems.
- Configure filesystem mounting on bootup.
- Configure user mountable removable filesystems.
- Use of labels and UUIDs for identifying and mounting file systems.
- Awareness of systemd mount units.
- The following is a partial list of the used files, terms and utilities:
- /etc/fstab
- /media/
- mount
- umount
- blkid
- lsblk
104.5 Manage file permissions and ownership
Weight: 3
Description: Candidates should be able to control file access through the proper use of
permissions and ownerships.
Key Knowledge Areas:
- Manage access permissions on regular and special files as well as directories.
- Use access modes such as suid, sgid and the sticky bit to maintain security.
- Know how to change the file creation mask.
- Use the group field to grant file access to group members.
- The following is a partial list of the used files, terms and utilities:
- chmod
- umask
- chown
- chgrp
104.6 Create and change hard and symbolic links
Weight: 2
Description: Candidates should be able to create and manage hard and symbolic links to a file.
Key Knowledge Areas:
- Create links.
- Identify hard and/or soft links.
- Copying versus linking files.
- Use links to support system administration tasks.
- The following is a partial list of the used files, terms and utilities:
- ln
- ls
- 7 Find system files and place files in the correct location
- Weight: 2
- Description: Candidates should be thoroughly familiar with the Filesystem Hierarchy
- Standard (FHS), including typical file locations and directory classifications.
Key Knowledge Areas:
- Understand the correct locations of files under the FHS.
- Find files and commands on a Linux system.
- Know the location and purpose of important file and directories as defined in the FHS.
The following is a partial list of the used files, terms and utilities:
- find
- locate
- updatedb
- whereis
- which
- type
- /etc/updatedb.conf
Introduction to Network Security Principles Network Security Fundamentals
- Attack Methodologies
- Operations Security
- Cisco Self-Defending Networks
Perimeter Security Administrative Access to Cisco
- Routers Cisco SDM
- AAA on a Cisco Router Using the
- Local Database and on Secure ACS Secure Management/Reporting
- Locking Down the Router
Network Security Using Cisco IOS Firewalls Firewall Technologies
- Static Packet Filters Using ACLs
- Cisco IOS Zone-Based Policy
- Firewall
Site-to-Site VPNs Cryptographic Services
- Symmetric Encryption
- Examining Cryptographic Hashes and Digital Signatures Asymmetric Encryption and PKI
- IPsec Fundamentals
- Site-to-Site IPsec VPN
- IPsec on a Site-to-Site VPN Using
- Cisco SDM
Network Security Using Cisco IOS IPS IPS Technologies, Cisco IOS IPS
- Using Cisco SDM
LAN, SAN, Voice, and Endpoint Security Overview Endpoint Security
- SAN Security
- Voice Security
- Layer 2 Attacks