FULLSTACK ENGINEER 

BOOTCAMP

(EARLY CAREERS | RE-SKILLING | UP-SKILLING PROGRAMME)

THIS BOOTCAMP IS CONDUCTED AND JOINTLY CERTIFIED WITH UNIVERSITI KUALA LUMPUR

15 DAYS | 60 HOURS TRAINING PROGRAMME

ONLINE OR FACE-TO-FACE TRAINING

FullStack Engineer

INTRODUCTION

The demand for full-stack engineers is growing rapidly. In today's tech industry, businesses need engineers who can build and deploy entire applications, from the front end to the back end. This bootcamp is tailor-made specifically for engineering background to harness the specific technology areas that are in-demand based-on Malaysia and Singapore workforce requirements. In general, this bootcamp will teach you the skills you need to become a full-stack engineer.


WHAT IS A FULLSTACK ENGINEER?

A full-stack engineer is a software engineer who works on both the front-end and back-end of a software application. This means they are involved in all aspects of the development process, from the user interface to the database. Full-stack engineers typically have a wide range of skills, including:

Full-stack engineers are in high demand because they can save businesses time and money by being able to work on all aspects of a software development project. They are also well-positioned to take on leadership roles in software development teams.


WHAT YOU WILL LEARN

In this bootcamp, you will learn the following:

WHO IS THIS BOOTCAMP FOR?

This course is for engineers who want to learn the skills they need to become full-stack engineers. The course is also for engineers who want to learn about the latest technologies in the tech industry.

If you are an engineering, Information Technology, computer science or any other STEM fields graduate who wants to learn the skills you need to become a full-stack engineer, then this course is for you. Enrol today and start learning!


WHAT YOU WILL NEED

To take this course, you will need a computer with a working internet connection... and commitment to invest your time in up skilling your self in this new and exciting technologies.


HOW THIS COURSE WILL BENEFIT YOU


JOB OPPORTUNITIES

 COURSE OUTLINE 

(THIS IS A 5 DAYs BOOTCAMP PROGrAMME)

The bootcamp will be taught by experienced engineers who will help students learn the skills they need to be successful in the technology/engineering industry. It is divided into 4 sprints which are outlined in the next pages. Breakdown schedule of each sprint:

SPRINT 1 - DEVOPS (PROJECT WORK MANAGEMENT FOR ENGINEERS)

DAY 1 TO DAY 3

1. Linux Primer (1 day)

This day will cover the basics of Linux operating system, including how to use the command line, how to manage files and directories, and how to install software.

2. GIT/BitBucket (1 day)

This day will cover the basics of GIT and Bitbucket, including how to create and manage repositories, how to commit and push changes, and how to collaborate with others.

3. DevOps and Jira (1 day)

This day will cover the basics of DevOps and JIRA, including how to automate deployments, how to track bugs and issues, and how to manage projects.

SPRINT 2 - FRONT-END (UI & CLOUD COMPUTING)

DAY 4 TO DAY 8

4. HTML/CSS/JS/TS (2 days)

This section will cover the basics of HTML, CSS, JavaScript, and TypeScript, including how to create web pages, how to style web pages, how to add interactivity to web pages, and how to use TypeScript to add type safety to JavaScript.

5. Angular (2 days)

This section will cover the basics of Angular, including how to create Angular components, how to use Angular routing, and how to communicate between components.

6. Cloud Computing with GCP (1 day)

This day will cover the basics of cloud computing with GCP, including how to create a GCP project, how to store data in Cloud Storage, and how to run applications on Compute Engine.

SPRINT 3 - BACK-END (PROGRAMMING, DATABASE, AND CONTAINERISATION)

DAY 9 TO DAY 14

7. Python for Engineers (3 days)

This section will cover the basics of Python, including how to write Python scripts, how to use Python libraries, and how to interact with databases.

8. SQL for Engineers (2 days)

This section will cover the basics of SQL, including how to create and manage databases, how to write SQL queries, and how to use SQL to analyse data.

9. Docker (1 day)

This day will cover the basics of Docker, including how to create Docker images, how to run Docker containers, and how to use Docker to deploy applications.


SPRINT 4 - HACKATHON

DAY 15 | 1 DAY

This day will be a hackathon where students will use the skills they learned throughout the bootcamp to build a project: Making a web page using Angular, HTML, and CSS (front end) and get data from SQL database using python (backend). Store project with git/bitbucket and host on GCP.

 


DETAILED COURSE outline

Below are the outlines of each section's course objective, learning outcomes, prerequisites, and the assessment methods for each Sprint sections.


SPRINT 1 - DEVOPS | DAY 1 TO 3 


1. Linux Primer

DURATION: 1 DAY | 7 HOURS

Course Objective:

This course will teach you the basic commands you need to get around Linux, use basic file commands, identify and manage processes, and work with log files.


Learning Outcomes:

By the end of this course, you will be able to:


Prerequisites:

No prerequisites are required.


Course Outline:

The course will be divided into the following modules:

Module 1: Introduction to Linux

Module 2: Basic File Commands

Module 3: Process Management

Module 4: Working with Log Files

Module 5: Basic scripting commands


Assessment:

The course will be assessed through a combination of quizzes and  exercises.


2. Git/BitBucket

DURATION: 1 DAY | 7 HOURS

Course Objective:

This course will teach you the basics of version control systems, with a focus on Git. You will also learn BitBucket, a Git-based code hosting and collaboration service.

Learning Outcomes:

By the end of this course, you will be able to:


Prerequisites:

Completed section 1. and familiar with the command line.

Course Outline:

The course will be divided into the following modules:

Module 1: Introduction to Version Control Systems

Module 2: Overview of Git

Module 3: Using the Git Bash Shell

Module 4: Adding New Files to a Git Repository

Module 5: Modifying, Staging, and Committing Files

Module 6: Additional Techniques

Module 7: Introduction to BitBucket 

Module 8: BitBucket Pull request

Module 9: Issue tracking

Module 10: Continuous Integration & Continuous Delivery (CI/CD)


Assessment:

The course will be assessed through a combination of quizzes and  exercises.


3. DevOps and Jira

DURATION: 1 DAY | 7 HOURS

Course Objective:

This course will teach you the basics of Jira and DevOps, and how to use them together to improve your software development process. 

Learning Outcomes:

By the end of this course, you will be able to:

Prerequisites:

Completed Section 2. No prior experience with Jira or DevOps is required. 

Course Outline:

The course will be divided into the following modules:

Module 1: Introduction to Jira and DevOps : How can Jira and DevOps be used together?

Module 2: Jira Basics : Creating and managing issues and tasks

Module 3: Using Jira to collaborate with team members

Module 4: DevOps Basics : Continuous integration & Continuous delivery

Module 5: Infrastructure as code & Benefits of using DevOps

Module 6: Implementing DevOps in your own software development process

Module 7: Using Jira and DevOps Together : Tracking issues and tasks in Jira

Module 8: Automating the build, test, and deployment of code using DevOps


Assessment:

The course will be assessed through a combination of quizzes and  exercises.


SPRINT 2 - FRONTEND | DAY 4 TO 8 


4. HTML/CSS/JS/TS

DURATION: 2 DAYS | 14 HOURS

Course Objective:

This course will teach you the basics of HTML, CSS, and JavaScript, and how to use them to create interactive web pages. 


Learning Outcomes:

By the end of this course, you will be able to:

Prerequisites:

No prior experience with HTML, CSS, or JavaScript is required.


Course Outline:

The course will be divided into the following modules:

Module 1: Introduction to HTML

Module 2: CSS Essentials

Module 3: CSS Layout

Module 4: CSS Preprocessing

Module 5: CSS Best Practices

Module 6: JavaScript and TypeScript Essentials

Module 7: Using Classes

Module 8: Lambda Functions

Module 9: Working with JSON

Module 10: Asynchronous JavaScript


Assessment:

The course will be assessed through a combination of quizzes and  exercises.


5. Angular (SPA)

DURATION: 2 DAYS | 14 HOURS

Course Objective:

This course will teach you the fundamentals of Angular, a popular framework for building single-page applications (SPAs). You will learn about TypeScript, the superset of JavaScript that Angular uses, and how to use Angular to create dynamic and interactive UIs. You will also learn about Angular's routing system, REST service clients, and WebSockets.

Learning Outcomes:

By the end of this course, you will be able to:

Prerequisites:

Basic knowledge of HTML, CSS, and JavaScript (sprint 4 of this bootcamp). Some experience with engineering principles and design.


Course Outline:

The course will be divided into the following modules:

Module 1: TypeScript Essentials

Module 2: Getting Started with Angular

Module 3: Single-Page Applications

Module 4: Data Binding

Module 5: View Techniques

Module 6: Component Interactions

Module 7: Dependency Injection

Module 8: Routing

Module 9: Angular REST Service Clients

Module 10: Consuming WebSockets

Module 11: Building Angular Applications

Module 12: Applying Angular to Engineering Problems


Assessment:

The course will be assessed through a combination of quizzes, exercises, and part of the hackathon. The final hackathon will require students to apply Angular concepts to solve a real-world engineering problem.


6. Cloud Computing with GCP

DURATION: 1 DAY | 7 HOURS

Course Objective:

This course will teach you the fundamentals of Google Cloud Computing, including cloud architecture, security, storage, networking, monitoring, deployment, migration, and cost management. 


Learning Outcomes:

By the end of this course, you will be able to:

Prerequisites:

No prior experience with cloud computing is required. However, it is helpful to have some basic knowledge of computer networking and programming.


Course Outline:

The course will be divided into the following modules:

Module 1: Cloud Fundamentals

Module 2: Security in and of the Cloud

Module 3: Storage Options

Module 4: Configuring Networks and Running Servers

Module 5: Monitoring in the Cloud

Module 6: Deploying Applications to the Cloud

Module 7: Migrating to the Cloud

Module 8: Managing Costs


Assessment:

The course will be assessed through a combination of quizzes and exercises.


SPRINT 3 - BACKEND | DAY 9 TO 14 


7. Python for Engineers

DURATION: 3 DAY | 21 HOURS

Course Objective:

This course will teach you the fundamentals of Python programming, with a focus on the use of Python for engineering applications. You will learn:


Learning Outcomes:

By the end of this course, you will be able to:

Prerequisites:

No prior experience with Python is required. However, section 1 to 5 for this bootcamp is required.


Course Outline:

The course will be divided into the following modules:

Module 1: Python Fundamentals

What is Python?

Python syntax and semantics

Variables and data types

Control flow statements

Functions

Module 2: Python for Data Analysis

Importing and exporting data

Data wrangling and cleaning

Data visualisation

Module 3: Python for Machine Learning

Supervised learning

Unsupervised learning

Reinforcement learning

Module 4: Deploying Python Applications to the Cloud

Choosing the right cloud platform

Deploying your Python application to the cloud

Module 5: Hands-on Exercises

You will have the opportunity to practice what you have learned in the previous modules by working on hands-on exercises.


Assessment:

The course will be assessed through a combination of quizzes, exercises, and the final hackathon project.


8. SQL for Engineers

DURATION: 2 DAYS | 14 HOURS

Course Objective:

This course will teach you the fundamentals of SQL, a language for managing data in relational databases. You will learn:


Learning Outcomes:

By the end of this course, you will be able to:

Prerequisites:

No prior experience with SQL is required. However, section 1 to 6 for this bootcamp is required.


Course Outline:

The course will be divided into the following modules:

Module 1: SQL Overview

Module 2: Relational Basics And Joining Tables

Module 3: Create Tables, Different types of data types & Constraints

Module 4: Inserting A Row Of Data

Module 5: Using The Delete Statement

Module 6: Updating Data

Module 7: Retrieving Data - The SELECT statement, Comparison operators & Wildcards

Module 8: SQL Joins - Different types of joins & Using joins to retrieve data

Module 9: Grouping and Summarising Data

Assessment:

The course will be assessed through a combination of quizzes, exercises, and the final hackathon project. 


9. DOCKER

DURATION: 1 DAY | 7 HOURS

Course Objective:

This course will teach you the fundamentals Docker, an open-source platform that enables the creation, deployment, and management of applications using containerization. Containerization is a lightweight and portable approach to software packaging, where applications and their dependencies are bundled together in a container. A container provides a consistent and isolated environment for running an application, ensuring that it behaves consistently across different systems.Understand the fundamentals of Docker and containerization. You will learn:

Prerequisites:

Basic understanding of operating systems and command-line interfaces. Familiarity with Linux or Windows command-line interfaces (terminal or PowerShell) as taught in section 1.


Course Outline:

Module 1: Introduction to Docker

Module 2: Docker Images, Building Docker images from Dockerfiles, Utilising registries

Module 3: Docker Containers, mapping ports, networking, persisting & monitoring

Module 4: Docker Deployment, orchestration tools (e.g., Docker Compose, Kubernetes)


Assessment:

The course will be assessed through a combination of quizzes and exercises.


SPRINT 4 | DAY 15


10. HACKATHON

DURATION: 1 DAY | 7 HOURS

 

Objective:

This day will be a hackathon where students will use the skills they learned throughout the bootcamp to build a project. Students will be provided guidance and assistance by trainers on completing the hackathon tasks.

Topic: 

Make a web page with Angular using Angular, HTML, and CSS (front end) and get data from SQL database using python (backend). Store project with git/bitbucket and host on GCP.

Steps example:

Shown here are examples of the steps on how to make a web page with Angular using Angular, HTML, and CSS (front end) and get data from SQL database using Python (backend), and store project with Git/Bitbucket and host on GCP:

 

HTML

<h1>My Angular App</h1>

<div class="container">

  <app-product-list></app-product-list>

</div>

CSS

.container {

  width: 500px;

  margin: 0 auto;

}

TypeScript

import { Component } from '@angular/core';

import { ProductService } from './product.service';

@Component({

  selector: 'app-root',

  templateUrl: './app.component.html',

  styleUrls: ['./app.component.css']

})

export class AppComponent {

  constructor(private productService: ProductService) {}

  getProducts() {

    return this.productService.getProducts();

  }

}

TypeScript

import { Injectable } from '@angular/core';

import { HttpClient } from '@angular/common/http';

@Injectable({

  providedIn: 'root'

})

export class ProductService {

  constructor(private http: HttpClient) {}

  getProducts() {

    return this.http.get<any>('https://jsonplaceholder.typicode.com/products');

  }

}

PYTHON

import requests

def get_products():

  response = requests.get('https://jsonplaceholder.typicode.com/products')

  return response.json()

if __name__ == '__main__':

  products = get_products()

  print(products)

Once you have completed these steps, you will have a web page that gets data from a SQL database using Python and is hosted on Google Cloud Platform.

NOTE: YOU WILL BE REQUIRED TO PRESENT YOUR HACKATHON OUTPUT IN THE FORM OF PRESENTATION AND CODE-REVIEW.


hackathon marc & zed

YOUR TRAINERS

Dr Harjinthar Singh -  is a Principal Trainer at Marc & Zed. He has over 25 years of experience in the IT industry, and has worked as a trainer, lecturer, and consultant for software development, product design, user interface, user experience, data analysis, RDBMS, video and image editing, and mobile development.

Dr. Singh has taught in Singapore, the United Kingdom, Malaysia, and Australia. He started his teaching career in 2001 as a lecturer for software engineering at London South Bank University. In 2012, he joined a Malaysian government agency, MIMOS Berhad. From 2016 to 2017, he taught Software & Mobile Development for undergraduates, staff re-training programmes, and post-graduates intending to pursue a career as programmers and developers.

Since 2017, Dr. Singh has conducted training and workshops in UI/UX, Interaction Design, Design Thinking, DevOps, MERN FullStack, Agile, JIRA, Git/GitLab, MySQL, MS SQL Server 2016, Infographics, Graphics/Video, and mobile/web development. He is also a certified Scrum Master and Product Owner.

Dr. Singh is a highly experienced and qualified trainer, and has a wealth of knowledge and experience in the IT industry. He is passionate about teaching and helping others to learn, and is committed to providing high-quality training that meets the needs of his clients.

Dr Khairul Anuar Abd Wahid is a Senior Trainer at Marc & Zed. He has over 15 years of experience in the IT industry, and has worked as a trainer, lecturer, and consultant for software development, data science, machine learning, artificial intelligence, and cloud computing.

He has taught in Singapore, Malaysia, and the United States. He started his teaching career in 2007 as a lecturer for software engineering at the National University of Malaysia. In 2012, he joined a Silicon Valley startup, where he worked on developing machine learning algorithms for fraud detection.

Since 2017, Dr. Khairul has conducted training and workshops in Python, R, Machine Learning, Artificial Intelligence, Cloud Computing, and Data Science. He is also a certified Data Scientist and Machine Learning Engineer. He is a highly experienced and qualified trainer, and has a wealth of knowledge and experience in the IT industry. He is passionate about teaching and helping others to learn, and is committed to providing high-quality training that meets the needs of his clients.

Dr. Khairul is a valuable asset to the Marc & Zed Training team, and his expertise in data science and machine learning is highly sought after by businesses in Singapore and Malaysia. He is a passionate educator who is committed to helping others learn and grow.


Djoshkun Diko - has been working as a developer, trainer, coach, and consultant in software engineering since 2008. His expertise includes FullStack, DevOps, Cloud Computing (Amazon Web Services & Google Cloud Platform), PHP, JavaScript, C++, Laravel, Docker, Kubernetes, Golang, VueJS, Python, Shell scripting, HTML5/CSS, MySQL, MariaDB, PostgreSQL, MSSQL Server, Cassandra, and MongoDB.

Throughout his career as a Software Architect/developer/trainer, he has been involved in designing and executing distributed system architecture principles and patterns for applied machine learning products. He has contributed to various projects involving technologies such as Laravel, Symfony, Prestashop, NodeJS, ExpressJS, VueJS, MySQL, MongoDB, PostgreSQL, Camunda Microservices architecture with gRP, GoLang/Python & Echo (Go framework), Flask & Panda libraries (Python Framework), Angular, Docker & Kubernetes, and JIRA & Confluence (Atlassian products).

During his freelance career, he has collaborated with several companies, developing web pages, web shops, and forums using platforms such as Joomla, Wordpress, vBulletin, MyBB, and HTML.

In 2017, he joined Marc & Zed SPACES in Kuala Lumpur as an Assistant Trainer. Although he left Marc & Zed in 2019, his interest in the training field brought him back in February 2020 as a Principal Trainer and Coach. In this role, he conducts hybrid trainings in Singapore, Germany, and Malaysia. He has also taken on web development projects for Marc & Zed, including developing their own website and creating a CMS website for propertysifu.com.my, and providing training for their staff. Currently, he is working on developing a website and providing training for another client of Marc & Zed, Cameron Adams UK Ltd., a real-estate agency.


Joaquín Antonio - is a MongoDB and MySQL Trainer and Coach at Marc & Zed. He has over 5 years of experience in the IT industry, and has worked as a developer, trainer, coach, and consultant.

Joaquín is a certified MongoDB Database Administrator from MongoDB University, the offical MongoDB certification body.

Joaquín has a strong background in software engineering, and has worked on a variety of projects using different technologies. He is also an experienced trainer, and has conducted trainings in Singapore, Germany, and Malaysia.

In his role at Marc & Zed Training, Joaquín is responsible for developing and delivering training courses on a variety of topics, including databases (SQL and NoSQL), software engineering, DevOps, cloud computing, and machine learning. He is also a mentor to other trainers, and helps them to develop their skills and knowledge.

Joaquín is a highly skilled and experienced trainer, and is passionate about helping others to learn and grow. He is also a valuable asset to the Marc & Zed Training team, and his expertise in software engineering and training is highly sought after by businesses in Singapore and Malaysia.

 OR E-MAIL FOR DETAILS AT janice@marcnzed.com 

OR CALL +6012 451 4977 (MALAYSIA) OR  +65 9052 3859 (SINGAPORE)

Certificate

Upon successful completion of the course, participants will be awarded a verified certificate issued by Universiti Kuala Lumpur [Advancement & Continuing Education (ACE) UNIKL] and co-signed by Marc & Zed SPACES