- Overview
- Prerequisites
- Audience
- Audience
- Curriculum
Description:
In today's fast-paced digital landscape, organizations face increasing pressure to adapt and innovate. Mastering IT Automation is more than just a course; it's a transformative journey that empowers individuals and organizations to revolutionize their approach to technology. By unlocking the power of automation, you can streamline operations, accelerate project delivery, and drive business growth like never before.
Through this comprehensive 8 weeks IT Automation Bootcamp, students will learn about “IT Automation with Python” that will allow students to learn in-demand skills like Python, Git, Cloud Computing, Infrastructure as Code.
Students will start with the basics of Linux and Shell scripting which is the environment that will be used in this bootcamp. Then the students will learn about using GIT, an open-source code management tool.
Students will then learn about computer networking where they will learn how computers communicate with each other. The different types of protocols used in networking.
Once these fundamentals are understood, students will learn programming with Python. Here the course will start with basic “Hello World” program and then let advanced topics such as python data structures, modules, etc.
After learning python fundamentals, students will learn to create and use Application Programming Interface (API), how to send and receive messages between two programs, learn how to automate IT related tasks.
Students will then learn about the core fundamentals of Cloud computing. Learn about different vendors of cloud computing and the deployment models used. Students will then immerse themselves in learning about Google Cloud Platform (GCS).
After learning about Cloud Computing, students will learn about infrastructure as code. Here students will explore the use of Terraform an open-source tool to manage cloud resources.
Duration: 8 weeks
Course Code: BDT332
- Must have basic knowledge of computers
- One or more years of technical experience
- Aspiring IT professionals seeking to break into the field, experienced professionals looking to upskill to advance their careers.
- Aspiring IT professionals seeking to break into the field, experienced professionals looking to upskill to advance their careers.
Course Outline:
Agile Scrum Methodology
- Scrum Introduction
- Scrum Team
- Scrum Artifacts
- Sprint Increment
- Spring planning
- Backlog
- Retrospective
- Project description and Case Study
- Practice exam and Knowledge check
- Certification (optional)
SQL
- SQL Fundamentals
- Writing SQL Queries
- Working Tables and Indexes
- Predefined SQL functions
- Uses for SQL
- A/C/I/D
- Data Models
- Database Terminology
- Normalization
- First, Second & Third Normal Forms
- ANSI SQL
- Standardization & SQL Dialects
- DDL, DML, DTL, DQL, and DCL
- Data Integrity
- Types of Integrity
- Constraints
- Data Types
- Triggers
- What are Joins?
- Join Syntax
- Join Predicates
- Types of Joins
- The ‘using’ keyword
Linux Fundamentals
Basic Linux Tasks
- Linux and its history
- CLI and Shell
- Bash commands
- Manual pages and other help resources
Users and Groups
- What are users and groups in Linux?
- Create, Modify and Delete users
- Create, Modify and Delete groups
- Account Profiles
File Permissions and Ownership
- File and Directory ownership
- Modifying permissions
- Special permissions and attributes
Storage
- Storage partitions
- Creating partitions
- Volumes and their management
- Mounting file systems
- Linux Directory Structure
Files and Directories
- Working with text files
- Searching for files
- Manipulating file outputs
Kernel Modules
- What are kernel modules?
- The Linux Kernel
- Installing and Configuring Kernel modules
- Monitoring kernel modules
Linux Boot Process
- Linux boot process
- Linux boot components
- GRUB and configuring it
System Components
- Linux system components
- Localization options
- GUI
- Services
- CPU and Memory issues
Devices
- What are Linux devices?
- Configuring and Monitoring devices
Packages and Software
- Package managers
- Repositories
Securing Linux Systems
- Securing Linux Systems
- Cyber Security best practices
- Encrypting Volumes
- Configuring SSH
- Logging Services
- Back, Restore and Verify Data
- Compressing files
Task Automation
- What is task automation?
- Scheduling tasks
- Scheduling jobs
Bash Scripting
- Understanding shell scripting
- Bash shell fundamentals
- Scripting and programming
- Control statements
Using Git
Introduction to Git
- What is a version control system (VCS)?
- What is Git?
- Choosing a default git editor
- Understanding repositories
- Cloning a remote repository
Using Git
- git add and git commit
- Commit messages
- Understanding markdown
- git status
- git push and git pull
- git log
Creating Branches
- Branches
- Feature branch development
- Feature branch workflow
- Comparing branches
- Merge requests
- Stashing
- Fixing merge conflicts
- Rebasing
- Code review and merges
Networking Fundamentals
Understanding computer networking
- What is computer networking?
- OSI Model
- IPv4 and IPv6 addresses
- Clients and Servers
Networking protocols
- TCP/IP
- Link layer
- Ports, packets
- DHCP, DNS
Linux & Networking
- Linux server roles
- Connecting to a network
- Configuring network identity
- Examining packets received (TCPDUMP)
Python Programming
Set up
- Set up development environment – Visual Studio Code
- Using python shell
- Executing python scripts
- Understanding python strings
- Print statements in python
Data Structures in Python
- Integers
- Lists
- Dictionaries
- Tuples
- Sets
- File
- Mutable v/s Immutable structures
Selection and Looping Constructs
- If/else/elif control statements
- Boolean type
- “in” membership
- For loop
- While loop
- List and Dictionary Comprehension
Functions
- Defining functions in python
- Variables and their scope (Local vs Global)
- Function Arguments
- Polymorphisms
Modules
- Creating modules
- Importing modules
- Different types of imports
- Dir and help
- Examining some built-in modules
Automating tasks with Python
- Using python libraries to create, modify documents, images
- Understanding Application Programming Interface (API)
- Interact with services using APIs
- Send and receive messages between programs
- Understand data serialization
Cloud Computing Foundations (Google Cloud Platform)
- Cloud Computing Overview
- Security with Google’s Cloud Infrastructure
- Understanding resource hierarchy
- IAM – Identity and Access Management
- Different IAM Roles
- Connecting to Google Cloud Platform
- Understanding different compute options
- Working with different Relational and NoSQL databases on GCP
- GCP Data Warehouse: BigQuery
Cloud Configuration Management with Terraform
- Introduction to Infrastructure as Code (IaC)
- Terraform and cloud fundamentals
- Hashicorp configuration language (HCL)
- Understanding Terraform states
- Using Terraform modules
- Using Terraform to configure resources on GCP
Project & Use Case
- Project Overview
- Complete projects to get experience and practice
- Industry Use Case Studies