- Overview
- Prerequisites
- Audience
- Audience
- Curriculum
Short Description:
In this 11-week immersive C-Unix Bootcamp, students will learn about Agile methodology, Software and data engineering fundamentals, Unix operating systems, Database principles and SQL, Cloud computing basics and C Programming in detail.
Description:
In this 11-week immersive C-Unix Bootcamp, students will learn about Agile methodology, Software and data engineering fundamentals, Unix operating systems, Database principles and SQL, Cloud computing basics and C Programming in detail.
This workshop will start with Agile Scrum Methodology since the whole workshop would be executed like an Agile project with periodic sprint demos and final project presentation. Students will then be exposed to software engineering concepts and understand how the software development lifecycle works.
Students will then learn the basics of Unix and basic Shell scripting, programming fundamentals, best practices, and practical usage of these features. For example, students will get hands-on experience using Unix commands.
The bootcamp will provide a comprehensive introduction to the C language and all major language elements including fundamental data types, flow control and standard function libraries. Advanced topics like pointers, structures and memory management will be covered in detail. Emphasis on command line arguments, and environment variables will help students gain expertise in writing C scripts. Comprehensive hands-on exercises are integrated throughout the modules to reinforce learning and develop programming competency.
The course will also provide introduction to database concepts in detail. Students will learn about the differences between relational and non-relational databases. They would have opportunity to perform hands-on queries using SQL on relational databases.
Students will also have the opportunity to understand the value and promise of Cloud Computing (using GCP). The module will lead participants towards getting exposure to understanding Compute, Storage and Networking on GCP.
Students will integrate their learnings from multiple modules and execute a capstone project at the end of the bootcamp. This will provide first-hand experience in project planning and implementation and students will also demonstrate various skills learnt through the bootcamp via presentations, demonstration and documentation.
Duration:
11-Weeks
Course Code:
BDT280
Learning Objectives:
- Master Agile Scrum methodology for efficient project management and collaboration.
- Develop expertise in data engineering principles, including data preparation and pipeline creation.
- Understand the Software Development Life Cycle (SDLC) with a focus on different methodologies.
- Acquire SQL fundamentals, from writing queries to database modeling and integrity.
- Explore cloud computing foundations, specifically in AWS or GCP, and work with relational and NoSQL databases.
- Gain proficiency in Linux fundamentals, including file management, permissions, and scripting.
- Learn C programming from basics to intermediate topics, including data types, control flow, and memory management.
- Acquire skills in advanced scripting, including ETL pipeline development using C.
- Work on real-world projects and industry use cases to apply your knowledge.
- Prepare for relevant certifications to enhance your career prospects.
- Understanding of how computers work
- One or more years of technical experience
- Programming experience with Python & SQL would be a plus.
- Candidates with Computer Science degree or equivalent experience and pursuing their first IT role with focus on C Programming.
- Candidates with Computer Science degree or equivalent experience and pursuing their first IT role with focus on C Programming.
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)
Data Engineering Principles
- Data engineering to prepare data for downstream needs
- Build pipelines for batch processing and streaming processing
- Understanding different types of data
SDLC (Software Development Life Cycle)
- Software Engineering – Intro
- SDLC
- Various phases in detail
- Models
- Waterfall
- Spiral
- Prototyping
- Agile
- Software metrics (Size, FP)
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
Cloud Computing Foundations (AWS or GCP)
- 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
Introduction to Linux
- Learners will gain an understanding and experience in the following topics
- History of Linux & Unix foundations
- OS Essentials, Linux derivatives/forks
- Introduction to the CLI. Shell concepts and overview (BASH, KORN)
- Linux Command Cookbook: File commands, System Information, File permissions/ownership, Network, and Process Management
- Navigating the Linux Filesystem
- Managing Files and Directories
- Ownership and Permissions
- Special Directories and Files
- Elevated privileges overview (Root/Superuser)
- Learners will gain an understanding and experience in the following topics
- SetUID, SetGID, Sticky Bits
- Shell Scripting (Basic programming with Bash)
- Package Installation: ypt, yum, dnf, pkg
- Working with Users and Groups: groupadd, groupmod, useradd, userdel
- Working with Text Editors: VI, Vim, Nano
- Ubuntu Installation using Cloud
C Programming – Fundamentals
- Installing required software
- Compiler
- Visual Studio
- Software will be run via Linux
- Block Environment
- Visual Studio Code Environment
- Creating a workspace
- Structure of a C program
- Comments
- Preprocessor
- Include Statement
- Output
- Reading Output
- Variables and data types
- Basic data types
- Chars and Enums
- Format Specifiers
- Command Line Arguments
- Operators
- Basic
- Bitwise
- Cast
- Sizeof
- Operator Precedence
- Control Flow
- If Statements
- Switch Statements
- For Loop
- While
- Do-While
- Nested
- Loop Control
C Programming – Intermediate
- Creating Arrays
- Using Arrays
- Initialization
- Multidimensional Arrays
- Variable Length Arrays
- Functions
- Arguments
- Parameters
- Returning data from functions
- Local and Global Variables
- Character Strings
- Debugging
- Pointers
- Structures
- File I/O
- The C Library
- Connect C with MySQL Database
- MySQL C API programming
- Pro*C
- Pro*C syntax
- Preprocessor directives
- Embedded SQL
- Memory Management
- Static and Dynamic Memory Allocation
- malloc()
- calloc()
- realloc()
- free()
Advanced Scripting
- Intro to ETL Pipeline using C
- AutoSys workload automation: autorep Command
Project & Use Case
- Project Overview
- Complete projects to get experience and practice
- Industry Use Case Studies
Certification
- Certification Overview
- Identify the right certification for you
- Tips to prepare for certification