Download as pdf or txt
Download as pdf or txt
You are on page 1of 250

deerwalk

training center

COURSE BOOKLET
Table of Contents

Introduction to Angular with Scripting Language ................................................................................. 1


JQuery ..................................................................................................................................................... 4
Data Science and Machine Learning in Python ................................................................................... 15
Introduction to Programming in PHP/MYSQL ................................................................................... 19
Introduction to JAVA ........................................................................................................................... 29
Introduction toAndroid Programming .................................................................................................. 38
Introduction to Dot Net ........................................................................................................................ 46
Introduction to Python .......................................................................................................................... 57
Introduction to Angular ........................................................................................................................ 65
Introduction to Full Stack Web Development - MERN Stack ............................................................. 67
Introduction to React Native ................................................................................................................ 71
Introduction to Red Hat Certified Engineer Course ............................................................................. 75
Introduction to Cyber Security ............................................................................................................. 81
Introduction to AWS Cloud Practitioner Training ............................................................................... 83
Introduction to CCNA .......................................................................................................................... 86
Introduction to Oracle........................................................................................................................... 88
Introduction toGeographical Information System (GIS) ............................................................................ 92
Introduction to Microsoft SQL Server ............................................................................................... 100
Introduction to Statistical Analysis using R ....................................................................................... 106
Applied Data Analysis ........................................................................................................................ 113
Introduction toAutoCAD Course ........................................................................................................... 115
Introduction to Maya for Animation .................................................................................................. 122
Introduction to Photography Training Course.......................................................................................... 126
Introduction to Webpage & Multimedia .................................................................................................. 128
Introduction to the Complete Web Developer Course ....................................................................... 133
Introduction to Laravel ....................................................................................................................... 148
Introduction to Dart & Flutter Mobile App Development ................................................................. 154
Introduction to MERN Stack .............................................................................................................. 157
Introduction to Power BI .................................................................................................................... 159
Introduction to Excel VBA Advanced ............................................................................................... 162
Introduction to Tableau ...................................................................................................................... 167
Introduction to QA ................................................................................................................................ 172
Introduction to C Programming ......................................................................................................... 176
Introduction to C++ Programming ..................................................................................................... 179
Introduction to Laravel ....................................................................................................................... 181
Introduction to Microsoft SQL Server ............................................................................................... 185
Introduction to UI Design & Front-End Development ...................................................................... 191
Introduction to the Crash Course for SEE Students ........................................................................... 194
WordPress, SEO, Video Editing & Public Speaking ......................................................................... 201
Introduction to Advance Office Package ........................................................................................... 203
Introduction to Technical Writing ...................................................................................................... 209
Basic Introduction To IOT ................................................................................................................. 211
Composition and Rhetoric .................................................................................................................. 213
Data Science ....................................................................................................................................... 214
Fundamentals of cloud computing ..................................................................................................... 216
Introduction to Python Programming ................................................................................................. 218
Js Programming .................................................................................................................................. 220
Linux Basics ....................................................................................................................................... 223
Node js ................................................................................................................................................ 225
Php Programming ............................................................................................................................... 227
Product Conceptualizaion ................................................................................................................... 228
Programming Basics ....................................................................................................................... 230
Programming in JAVA I ................................................................................................................ 232
Programming in JAVA II .............................................................................................................. 234
Project II ............................................................................................................................................. 238
Scratch Programming ......................................................................................................................... 239
Time Management .............................................................................................................................. 243
Web Development Using HTML & CSS .................................................................................... 245
Introduction to Angular with Scripting Language
Java Script
Nature of the course: Theory + Practical
Total hours per day: 2 hours
Course duration: 2 and a half weeks
Course Summary
The Java Script course at the Deerwalk Training Center (DTC) is designed for novices who wish to learn
how to think about and produce meaningful Java Script code, as well as read Java Script code written by
others. The course also teaches how to translate a literary description of a problem (requirement) into a
Java Script application or library. This is a foundational course for anyone with no prior programming
expertise who wants to work as a professional Java Script engineer in the future.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. JavaScript: The Definitive Guide, 5th edition
2. Introduction to Programming Using Java by David J. Eck
3. JAVA the complete reference by Herbert Schildt

Prerequisites
 Basic knowledge about programming, bits/bytes, procedures, classes, computer architecture, etc.
If you just have a theoretical knowledge that is perfectly okay but you should have strong
convictions on what programming is, and what you hope to achieve from this class.
 Willing and eager to spend at least 10-20 hours (varying from student-to-student) per week
outside of the training class to read/write codes in JavaScript (self-study and practice).
 There is no prior educational level requirement for this course. Anyone from 10+2 student to
someone who is doing her PHD in Genetic Engineering is welcome to take this course.
 If you are only interested in theory and have no interest/patience in spending at least 10 hours
every week throughout the duration of the course, then this course might not be for you.
 If you have absolutely no idea about programming or do not see yourself doing programming in
the next six -odd months, then this class may not be for you!

1
Course Details
WEEK 1
UNDERSTANDING JAVASCRIPT
 Introduction
 History of JavaScript
 Tools for JavaScript Development
 Introduction to Web Console
 Adding JavaScript to HTML

WORKING WITH DATA


 Variable
 Data types
 Arithmetic operators and math
 Strings and Numbers
 Conditional statement and logic
 Arrays
 Properties and methods in Arrays
 Loops
 Looping through Arrays
 Break and continue loops

WEEK 2
FUNTIONS AND OBJECTS
 Functions in JavaScript
 Argument and return values
 Variable scope
 lets and const
 Objects
 Object constructors
 Closures

JAVASCRIPT DOM ELEMENTS


 DOM: Document Object Model
 Query Selectors
 Access and change elements, classes, and attributes
 Add DOM elements
 Apply CSS to elements
 [Class Project: Create an Analog Clock]

WEEK 3
JAVASCRIPT DOM EVENTS
 What are DOM events?
 Typical DOM events
 Trigger functions with event handlers
 Add and use event listeners
 Pass argument via event listeners
2
 [Class Project: Typing Speed Tester]
 [Class Project: Automated Responsive Images Markup]



LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

Learning Outcomes
 How to use Java to develop object-oriented designs.
 How to recognize Java language components and how they interact in applications.
 How to create stand-alone Java programs and program them.
 Will have a better understanding of how to employ exception handling in Java applications.
 Will become familiar with Java generics and the Java Collections API.
 How to create Java apps using threads and how to read and write files in Java.

3
JQuery
Nature of the course: Theory + Practical
Total hours per day: 2 hours
Course duration: 2 weeks

Course Summary
The JQuery course at the Deerwalk Training Center (DTC) is designed for novices who wish to learn how
to think about and produce meaningful JQuery code, as well as read JQuery codes written by others. The
course also teaches how to translate a literary description of a problem (requirement) into a JQuery
application or library.
This is a foundational course for anyone with no prior programming expertise who wants to work as a
professional Java Script engineer in the future.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the
second module.

Required Text Books


1. JavaScript and JQuery: Interactive Front-End Web Development
2. jQuery in Action
3. Learning jQuery

Prerequisites
 Basic knowledge about programming, bits/bytes, procedures, classes, computer architecture, etc.
If you just have a theoretical knowledge that is perfectly okay but you should have strong
convictions on what programming is, and what you hope to achieve from this class.
 Willing and eager to spend at least 10-20 hours (varying from student-to-student) per week
outside of the training class to read/write codes in JQuery (self-study and practice).
 There is no prior educational level requirement for this course. Anyone from 10+2 student to
someone who is doing her PHD in Genetic Engineering is welcome to take this course.
 If you are only interested in theory and have no interest/patience in spending at least 10 hours
every week throughout the duration of the course, then this course might not be for you.
 If you have absolutely no idea about programming or do not see yourself doing programming in
the next six -odd months, then this class may not be for you!

4

Course Details
WEEK 1
QUICK INTRODUCTION

 What is jQuery?
 Setting up the environment
 First jQuery enabled page
 Selectors and filters
 Creating and modifying page content
 Handling events
 Animation page content
WORKING WITH PAGE CONTENT
 Basic and advanced selectors
 Basic, attribute, and advanced filters
 Traversing documents with JQuery
 JQuery Statement Chaining
 [Class Project: Scripting challenge]

WEEK 2
MANIPULATING PAGE CONTENT
 Creating page content
 Inserting, altering and manipulating page content
 Manipulating attributes
 Working with CSS
 Embedding custom data
 [Class Project: Scripting challenge]
JQuery EVENTS
 jQuery event handling features
 Binding and unbinding events
 Event helper features
 Using jQuery event object
 [Class Project: Scripting challenge]
ANIMATION AND EFFECTS
 Introduction to jQuery animations
 Hiding and showing elements
 Fading elements
 Sliding elements
 Custom animations
 [Class Project]

5
Learning Outcomes
 Learn how to install and configure jQuery on a web page.
 The fundamentals of jQuery's 'dot' syntax
 What are jQuery selectors and how do they work?
 How to reference and change the content of a web page
 Using XHTML forms to implement validation
 Using the jQuery User Interface Plugin
 Putting together a simple image slideshow
 Updating a website project from the ground up

6
Ajax
Nature of the course: Theory + Practical
Total hours per day: 2 hours
Course duration: 1 and a half weeks

Course Summary
The Ajax course at the Deerwalk Training Center (DTC) is designed for novices who wish to learn how to
think about and produce meaningful Ajax codes, as well as read Ajax codes written by others. The course
also teaches how to translate a literary description of a problem (requirement) into a Ajax application or
library.
This is a foundational course for anyone with no prior programming expertise who wants to work as a
professional Java Script engineer in the future.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the
second module.

Required Text Books


1. Ajax: The Complete Reference
2. ASP.NET AJAX Programmer's Reference

Prerequisites
 Basic knowledge about programming, bits/bytes, procedures, classes, computer architecture, etc.
If you just have a theoretical knowledge that is perfectly okay but you should have strong
convictions on what programming is, and what you hope to achieve from this class.
 Willing and eager to spend at least 10-20 hours (varying from student-to-student) per week
outside of the training class to read/write codes in Ajax (self-study and practice).
 There is no prior educational level requirement for this course. Anyone from 10+2 student to
someone who is doing her PHD in Genetic Engineering is welcome to take this course.
 If you are only interested in theory and have no interest/patience in spending at least 10 hours
every week throughout the duration of the course, then this course might not be for you.
 If you have absolutely no idea about programming or do not see yourself doing programming in
the next six -odd months, then this class may not be for you!

7
Course Details
WEEK 1
GETTING STARTED

 What is AJAX?
 Using a synchronous XHR request
 Making request asynchronous
 Scripting for backwards compatibility

MODIYING THE DOM


 Update the DOM with get Element By Id
 Modifying elements with get Elements By Tag Name
 Parsing XML using AJAX
 Reading JSON files
 Using event-driven AJAX

JQuery AJAX
 Understand jQuery AJAX methods
 Create and AJAX request in jQuery
 Work with the date returned from a jQuery AJAX request
 Reading data with jQuery

WEEK 2
AJAX IN ACTION
 Preparing a live search AJAX app
 Sending JSON data to the page
 Searching JSON data
 Styling an application
 Adding CSS3 animations

Learning Outcomes
 Learn how to install and configure Ajax on a web page.
 The fundamentals of Ajax
 How to reference and change the content of a web page
 Using the Ajax User Interface Plugin

8
Vue.js
Nature of the course: Theory + Practical
Total hours per day: 2 hours
Course duration: 2 weeks

Course Summary
The Vue.js course at the Deerwalk Training Center (DTC) is designed for novices who wish to learn how
to think about and produce meaningful Vue.js codes, as well as read Vue.js codes written by others. The
course also teaches how to translate a literary description of a problem (requirement) into a Vue.js
application or library.
This is a foundational course for anyone with no prior programming expertise who wants to work as a
professional Ajax engineer in the future.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the
second module.

Required Text Books


1. Node.js complete reference
2. Node.js for .NET developers

Prerequisites
 Basic knowledge about programming, bits/bytes, procedures, classes, computer architecture, etc.
If you just have a theoretical knowledge that is perfectly okay but you should have strong
convictions on what programming is, and what you hope to achieve from this class.
 Willing and eager to spend at least 10-20 hours (varying from student-to-student) per week
outside of the training class to read/write codes in Ajax (self-study and practice).
 There is no prior educational level requirement for this course.
 If you are only interested in theory and have no interest/patience in spending at least 10 hours
every week throughout the duration of the course, then this course might not be for you.
 If you have absolutely no idea about programming or do not see yourself doing programming in
the next six -odd months, then this class may not be for you!

9
Course Details
WEEK 1
INTRODUCTION
 Get to know Vue
 Vue Benefits
 What you should know

THE SIMPLEST FORM


 Adding Vue to a web page
 Understand execution flow
 A Bootstrap detour
 Thinking declaratively with data binding
 Understanding two-way data binding
 Methods and event handling

ESSENTIAL DIRECTIVES, OPTIONS, AND TOOLS


 Rendering elements conditionally
 Loading data asynchronously
 Using the created lifecycle hook
 Using the Vue Devtools browser extension
 Rendering list with v-for
 Using additional v-for parameters
 Combining v-for with event handling
 Using computed properties

WEEK 2
ENHANCING USER INTERFACES
 Adding dynamic style attributes
 Adding dynamic class attributes
 Using CSS transitions
 Applying transitions to lists
 Using CSS animations

VUE COMPONENETS
 Using Vue components
 Registering and using components
 Adding component props
 Managing component content with slots
 Componentizing existing in-DOM templates
 Handling events in component
 Vue CLI
 installing Vue CLI
 Vue CLI project template
 Moving to single-file components
 Building for production
10
LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

Learning Outcomes
 How to use Vue.js to develop object-oriented designs.
 How to recognize JavaScript language components and how they interact in applications.
 How to create stand-alone Vue.js programs and program them.

11
Angular
Nature of the course: Theory + Practical
Total hours per day: 2 hours
Course duration: 3 weeks

Course Summary
The Angular course at the Deerwalk Training Center (DTC) is designed for novices who wish to learn how to think
about and produce meaningful Angular, as well as read Java Script codes written by others. The course also teaches
how to translate a literary description of a problem (requirement) into a Java Script application or library.
This is a foundational course for anyone with no prior programming expertise who wants to work as a professional
Angular engineer in the future.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the
second module.

Required Text Books


1. Node.js complete reference
2. Node.js for .NET developers

Prerequisites
 Basic knowledge about programming, bits/bytes, procedures, classes, computer architecture, etc.
If you just have a theoretical knowledge that is perfectly okay but you should have strong
convictions on what programming is, and what you hope to achieve from this class.
 Willing and eager to spend at least 10-20 hours (varying from student-to-student) per week
outside of the training class to read/write codes in Angular (self-study and practice).
 There is no prior educational level requirement for this course.

Course Details
WEEK 1
INTRODUCTION TO ANGULAR
 Introduction
 Component Based Model
 Setting Up
 Creating and running a project

12
COMPONENTS
 Introducing the app component
 Creating your first component
 Anatomy of a component
 Binding data from component class
 Data binding and async
 Template Interpolation

WEEK 2
TEMPLATES AND DATA BINDING
 Looping with ngFor
 Using ngIf
 Passing inputs to components
 Using ngOnInit Lifecycle hook
 Passing member variables to components
 Styling Angular components
 Handling click events
 Two-way data binding with ngModel

SERVICES
 Creating and using multiple modules
 Creating a service
 Understanding dependency injection
 Service Injection Context
 Making REST calls with HttpClient
 Extending the sample app
 Building an Angular Project
[Class Project: My GitHub Project Listing Web App]

WEEK 3
ROUTING
 Introduction to Routing
 Creating an angular project with routing
 Creating routes
 Route redirects and wildcards
 Configuring child routes
 Showing navigation for routes
 Wrap Up
[Class Project: CRUD Application using Angular and Firebase]

13
Learning Outcomes
 Create device-independent Angular applications
 Creating and validating Angular forms
 Adding routes to Angular applications
 Unit Testing Angular components

14
Data Science and Machine Learning in Python
Nature of the course: Theory + Practical
Total hours per day: 2 hours
Course duration: 8 weeks

Course Summary
The DTC – Data Science and Machine Learning in Python course is targeted for beginners who want to
learn how to think and write meaningful pieces of codes or read codes written by someone else in Python.
This course teaches how to map literary description of a problem (requirement) to an application/library
coded in Python. This is a core basic level course that is essential for anyone who has no prior
programming experience but wishes to be a professional Python engineer in future.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. Machine Learning with Python Cookbook
2. Deep Learning with Python
3. Machine Learning for Absolute Beginners: A Plain English Introduction

Prerequisites
 Basic knowledge about programming, bits/bytes, procedures, classes, computer architecture, etc.
If you just have a theoretical knowledge that is perfectly okay but you should have strong
convictions on what programming is, and what you hope to achieve from this class.
 Willing and eager to spend at least 10-20 hours (varying from student-to-student) per week
outside of the training class to self-study and practice.
 There is no prior educational level requirement for this course. Anyone from 10+2 student to
someone who is doing their PHD in Genetic Engineering is welcome to take this course.
 If you are only interested in theory and have no interest/patience in spending at least 10 hours
every week throughout the duration of the course, then this course might not be for you.

Course Details
WEEK 1
Introduction to Python Programming Language
 Core Data Structures of Python
 Number
 String
 List

15
 Tuples
 Dictionary
 Set
 Advance Operations on Core Data-structures
 Decision and Branching
 If, else if, Else, Break, Continue
 Looping
 Functions
 Lambda Functions
 Map, Reduce, Filter
 Function Recursion
 Decorators

WEEK 2
Python
 List and Dictionary Comprehension
 Exceptions and Exception Handling
 File Handling
 Object Oriented Programming (OOP)
 Introduction to Classes
 Inheritance, Encapsulation, Polymorphism, Abstraction
 Method Overloading
 Building Custom Packages and Modules

WEEK 3
Basics of Data Science
 Introduction to Data Science
 Introduction to Numpy and Matplotlib
 Matrix Operations with Numpy
 Random Variable and Probability Distributions
 Probability
 Properties of Probability Distributions
 Mean, Median, Mode
 Variance, Skewness, Kurtosis
 Multivariate Normal Distribution
 Co-variance, Correlation
 Introduction to scikit-learn
 Data pre-processing techniques using scikit-learn
 Dimensionality Reduction as data pre-processing
 Principal Component Analysis (PCA)
 Linear Discriminant Analysis (LDA)

16
WEEK 4
Machine Learning
 Introduction to Reinforcement Learning
 Q-Learning with Python
 Introduction to Clustering
 K-Means Clustering
 Agglomerative Clustering
 Introduction to Supervised Learning
 Naive Bayes Classification

WEEK 5
Machine Learning
 Linear and Polynomial Regression
 K-Nearest Neighbors
 Decision Tree
 Balancing Bias vs Variance of ML Model
 Ensemble Learning
 Random Forest and Adaptive Boost
 Identifying Important Features of Data
 Support Vector Machines

WEEK 6
Deep Learning
 Introduction to logistic regression
 Computation Graph and Gradient Decent
 Introduction to artificial neuron (Perceptron)
 Multi-Layer Perceptron
 Introduction to Artificial Neural Networks
 Designing Artificial Neural Networks with Keras
 Gradient Decent Variants
 Classification and Regression using Neural Networks

WEEK 7
Deep Learning
 Introduction to Convolutional Neural Network (CNN)
 Object Classification with CNN
 Standard CNN Architectures
 Introduction To Object Detection
 The YOLO Algorithm

WEEK 8
Natural language Processing +Web Interface
 Introduction to NLTK
17
 Text pre-processing
 POS Tagging and Named-Entity Recognition
 Latent Semantic Analysis
 Introduction to Recurrent Neural Network
 Word2Vec Algorithm for Text Vectorization
 Natural language Processing with LSTM
 Giving Web Interface to ML Application using Flask/Django

LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

Learning Outcomes
 Understand concepts like lambdas and csv file manipulation
 Describe common Python data science functionality and features
 For cleaning and processing, learn how to use Data Frame structures

18
Introduction to Programming in PHP/MYSQL
PHP/MYSQL Beginners: Level 1
Nature of the course: Theory + Practical
Total hours per day: 2 hours
Course duration: 4 weeks

Course Summary
This level of the course targets beginners who want to learn how to think and write meaningful piece of
codes in PHP/MYSQL, understand how to read PHP/MYSQL codes that have been written by somebody
else and how to map literary description of a problem (requirement) to an application/library coded in
PHP/MYSQL. In summary, this course teaches how to program using PHP/MYSQL programming
language. This is a core basic level course that is essential for anyone who has no prior programming
experience but wishes to be a professional PHP/MYSQL engineer in future.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. PHP: A beginner’s guide
2. PHP & MySQL Web Development All-in-one Desk Reference for Dummies

Prerequisites
 Basic knowledge about programming, bits/bytes, procedures, classes, computer architecture, etc.
If you just have a theoretical knowledge that is perfectly okay but you should have strong
convictions on what programming is, and what you hope to achieve from this class.
 There is no prior educational level requirement for this course.
 If you are only interested in theory and have no interest/patience in spending at least 10 hours
every week throughout the duration of the course, then this course might not be for you.
 If you have absolutely no idea about programming or do not see yourself doing programming in
the next six -odd months, then this class may not be for you!

Course Details
WEEK 1
UNDERSTANDING THE PHP/ MYSQL BASICS
 How PHP works
 The PHP.ini file
 PHP tags

19
 PHP Statements and Whitespaces
 Comments
 PHP functions
VARIABLES
 Variable types
 Variables Names
 Constant

WEEK 2
FLOW CONTROLS
 If statements
 For loop
 While loop
 Case statement

WEEK 3
REUSING CODE AND WRITING FUNCTIONS
 Including files and Writing functions
 Require
 Require once
 Include
 User functions
 Defining and calling functions

WEEK 4
INTRODUCTION TO DATABASE
 Basic difference between database and file system
 Introduction of MySQL
 Connection mechanism using PHP and MYSQL
 Create table, select, insert, update and delete command
 Making form with JQuery validation and inserting in table
 Displaying all rows of table and disable in HTML table format.
 Edit records using HTML form.
 Delete records
 Single-Dimensional Arrays
 Multidimensional Arrays
 Casting Arrays
 Associative Arrays
 Accessing Arrays
 Getting the size of an array
 Looping through an array
 Looping through an associative array

20
 Examining array
 Joining arrays
 Sorting arrays
 Working EXAMPLES (Lab)

LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

21
Intermediate PHP/MYSQL: Level 2
Nature of the course: Theory + Practical
Total hours per day: 2 hours
Course duration: 4 weeks

Course Summary
The DTC – PHP/MYSQL – Level 2 course is targeted for trainees who have had some prior beginner
level hands-on programming experience in PHP/MYSQL programming language or in some other
programming language (e.g. Java, Obj-C, PHP, C, C++, etc.) and want to learn PHP/MYSQL. This
course teaches you how to utilize the PHP programming language and MySQL database server to
construct dynamic web pages and interactive websites. This course walks you through the process of
building a comprehensive website that can dynamically show data from a MySQL database, with clear,
step-by-step instructions and templates.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. PHP/MYSQL: LEVEL 1 PHP Tutorials: Programming with PHP and MySQL
2. Programming PHP
3. PHP Reference: Beginner to Intermediate PHP5

Prerequisites
 Successfully complete the entrance test with score of at least 40% (for trainees directly applying
to this level).
 Successfully complete the DWIT Training – PHP/MYSQL – Level 1 course (not applicable to
trainees directly applying to this level).
 Successfully complete the interview.
 Willing and eager to spend at least 10-20 hours (varying from student-to-student) per week
outside of the training class to read/write codes in PHP/MYSQL (self-study and practice).

Course Details
WEEK 1
FUNCTIONS
 What is a function
 Defining a function
 Returning value from function
 User-defined functions

22
 Variable scope
 Accessing variable with the global statement
 Function calls with the static statement
 Setting default values for arguments
 Passing arguments to a function by value
 Passing arguments to a function by reference
 Testing for function existence
 Working EXAMPLE (Lab)

WORKING WITH THE FILE SYSTEM


 Creating and deleting a file
 Reading and writing text files
 Working with directories in PHP
 Checking for existence of file
 Determining file size
 Opening a file for writing, reading, or appending
 Writing Data to the file
 Reading characters
 Working Example

WEEK 2
COMPLEX FORM PROCESSING
 Super global variables
 The server array
 A script to acquire user input
 Importing user input
 Accessing user input
 Combine HTML and PHP code
 Using hidden fields
 Redirecting the user
 File upload and scripts
 PHP mail functions
 Form Security method and process.
 Working EXAMPLE (Lab)
WORKING WITH REGULAR EXPRESSIONS
 The basic regular expressions
 Matching patterns
 Finding matches
 Replace patterns
 Working EXAMPLE (Lab)

23
WEEK 3
CLASSES AND OBJECTS
 Objects oriented programming
 Define a class
 An Object
 Creating an object
 Object properties
 Object methods
 Object constructors and destructors
 Class constants
 Class inheritance
 Abstract classes and methods
 Object serialization
 Checking for class and method existence
 Exceptions
 Iterators
 Summary
 Working EXAMPLE (Lab)

The anatomy of a cookie


 Setting a cookie with PHP
 Deleting a cookie
 Creating session cookie
 Working with the query string
 Creating query string
 Working EXAMPLES (Lab)

WEEK 4
SESSION
 What is session
 Starting a session
 Working with session variables
 Destroying session
 Passing session Ids
 Encoding and decoding session variables
 Working EXAMPLE (Lab)

SIMPLE JQUERY AJAX MODULE


 Posting the form using Ajax I.e. without refreshing page.
 Changing content using Ajax.
 Form Validation

24
 Captcha Validation in FORMS (To prevent junk message from form)
 Working EXAMPLES (Lab

LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

25
Advanced PHP/MYSQL: Level 3
Nature of the course: Theory + Practical
Total hours per day: 2 hours
Course duration: 4 weeks

Course Summary
This level of the course builds on the foundation required to prepare trainees for a career as a PHP-
MYSQL software engineer.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. PHP and MySQL Web Development
2. PHP Advanced and Object-Oriented Programming: Visual QuickPro Guide

Prerequisites
 Successfully completed the DWIT Training – PHP/MYSQL– Level 2 or obtained at least 40%
score on the entrance exam.
 The latter case applies for new students that are directly attempting this training.
 Successfully complete the interview.
 Willing and eager to spend at least 10-20 hours (varying from student-to-student) per week
outside of the training class to read/write codes in Java (self-study and practice).
 Please note that this is a lab intensive course where the students will be expected to work on lab
exercises for approximately half the duration of the session.

Course Details
WEEK 1
INTRODUCTION TO LARAVEL
 Concept of Composer
 Installing Composer
 Installing Laravel using composer
 Configuring Laravel
 Project Structure
 Setting up Development and Debugging Tools

26
ROUTING
 Basic Routing
 Named Routing
 Grouped Routing
 Routing Parameters
 Handling Invalid Routes
 Route filtering with Middleware

WEEK 2
Controllers
 Introduction
 Basic Controllers
 Restful Resource Controllers
 Controller Routing
 Controller Middleware
Request
 Handling Request Info.
 Request Inputs
 Form Inputs
 Old Inputs
 Cookies
 Files

WEEK 3
Database
 Introduction
 Migration
 Schema Building
 Migration Structure
 Writing Migration
 Running Migration
 Seeding
 Database Configuration
 Running Raw SQL queries
 Model
 Eloquent ORM
 Defining Model
 Retrieving Model
 Insert & Update Model

27
 Deleting Model
 Eloquent Relationship
 One to One
 One to Many
 Many to Many
View
 Passing data to view
 Sharing data to all views
 Blade Template Engine
 Introduction
 Template Inheritance
 Displaying Data
 Implement Control Structures

WEEK 4
Laravel Forms & Html Component
 Installation
 Generating form
 CSRF Protection
 Form Elements
 Labels
 Text, Text Area, Password & Hidden Fields
 Checkboxes and Radio Buttons
 File Input
 Number Input
 Data Input
 Drop-Down List
 Buttons
 Custom Form Macros

Learning Outcomes
 How to install and configure MySQL
 How to install and configure Apache with PHP
 How to create MySQL users and grant privileges
 How to test PHP and MySQL installations
 How to configure PHP
 Identify basic PHP syntax
 Create basic PHP scripts

28
Introduction to JAVA
JAVA Beginners: Level 1
Nature of the course: Theory + Practical
Total hours per day: 2 hours
Course duration: 4 weeks
Course Summary
Java course for beginners is targeted for beginners who want to learn how to think and write meaningful
piece of codes in Java, understand how to read JAVA codes that have been written by somebody else and
how to map literary description of a problem (requirement) to an application/library coded in Java. In
summary, this course teaches how to program using Java programming language. This is a core basic
level course that is essential for anyone who has no prior programming experience but wishes to be a
professional Java engineer in future.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. Introduction to Programming Using Java by David J. Eck
2. JAVA the complete reference by Herbert Schildt

Prerequisites
 Basic knowledge about programming, bits/bytes, procedures, classes, computer architecture, etc.
If you just have a theoretical knowledge that is perfectly okay but you should have strong
convictions on what programming is, and what you hope to achieve from this class.
 Willing and eager to spend at least 10-20 hours (varying from student-to-student) per week
outside of the training class to read/write codes in Java (self-study and practice).
 There is no prior educational level requirement for this course. Anyone from 10+2 student to
someone who is doing her PHD in Genetic Engineering is welcome to take this course.
 If you are only interested in theory and have no interest/patience in spending at least 10 hours
every week throughout the duration of the course, then this course might not be for you.
 If you have absolutely no idea about programming or do not see yourself doing programming in
the next six -odd months, then this class may not be for you!

29
Course Details
WEEK 1
Overview of Java Language
 Introduction
 H/w and s/w requirements
 Installation of jdk.

Programming with Java


 Class declaration
 Members of classes
 Structure of java class
 Main method
 Command line arguments
 Source code compilation
 Coding convention

Constant, Variables and Data Types


 Primitives and non-primitives variables

WEEK 2
Decision and Branching
 IF, ELSE, SWITCH, BREAK, CONTINUE

Looping
 FOR, WHILE, DO-WHILE

Fundamentals of Loops
 Initializing objects
 Static members
 Inheritance
 Polymorphism
 Encapsulation

WEEK 3
Abstract Class and Interfaces
 Defining interfaces
 Separating interface and implementation
 Implementing and extending interfaces
 Abstract classes

Exception Handling
 Exceptions and the exception hierarchy
 Throwing exceptions
 Catching exceptions
 Chaining exceptions
 The finally block
30
Advance Data Structures (Java Collection Classes)
 Arrays
 List<e> interface and its implementation
 Map<k,v> interface and implementation
 Set<e> interface and implementation

WEEK 4
Jdbc Connection
 Jdbc overview
 Using driver manager, connection, statement, prepared statement and result set
 Create, delete, insert, update statements

Java Doc and Java Libraries


 Preparing java doc
 Exporting java doc
 Implementing java libraries
 String class
 Math class

LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

31
Intermediate JAVA: Level 2
Nature of the course: Theory + Practical
Total hours per day: 2 hours
Course duration: 4 weeks

Course Summary
The DTC - Java – Level 2 course is targeted for trainees who have had some prior beginner level hands-
on programming experience in Java programming language or in some other programming language (e.g.
Java, Obj-C, PHP, C, C++, etc.) and want to learn Java. This course is most appropriate for high school
and university students (undergraduate, graduate, etc.) who want to do coursework (e.g. project, etc.) in
JAVA, including those who are already working as a professional VB.NET developer and want to switch
to ANDROID.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
5. Has attended 90% of all classes held
6. Has received an average grade of 80% on all assignments
7. Has received an average of 60% in assessments
8. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. Introduction to Programming Using Java by David J. Eck
2. JAVA the complete reference by Herbert Schildt

Prerequisites
 Successfully complete the entrance test with score of at least 40% (for trainees directly applying
to this level).
 Successfully complete the DWIT Training - Java – Level 1 course (not applicable to trainees
directly applying to this level).
 Successfully complete the interview.
 Willing and eager to spend at least 10-20 hours (varying from student-to-student) per week
outside of the training class to read/write codes in Java (self-study and practice).

Course Details
WEEK 1
Web Application Basics
 How the web works
 Http overview, brief html review
 Overview of java ee, servlets & web applications

Servlet API
 Html forms

32
 Http: request-response, headers, get, post
 Overview: how servlets work
 Servlet lifecycle: init(), service(), destroy()
 Requests and responses
 Http servlets: httpservletrequest, httpservletresponse and httpservlet
 Deployment descriptor
 Accessing parameters

WEEK 2
Additional Servlet Capabilities
 Request dispatcher: including and forwarding
 Sharing data with the request object attributes
 Sharing data with servlet context and application context

Java server Pages


 Basics and overview
 Lifecycle of a jsp
 Scriplet , page directive
 Model view controller (mvc)
 Data sharing among servlets & jsp
 Request, application, session and page scope
 Predefined jsp implicit objects (request, session, application, page)

WEEK 3
Using Custom Tags
 Custom tags to reduce jsp complexity
 The jstl
 Jsp expression language (el)
 Using custom tags
 The c:url, c:param, c:foreach, c:out tags

More Jsp Capabilities and Session Management


 Http as a stateless protocol
 Hidden form fields
 Cookies: overview, api, using cookies
 Session overview: cookies and session tracking
 Http session
 Putting data into a session object
 Retrieving data from a session object
WEEK 4
Additional Topics
 Servlet filter overview
 Filtering examples, lifecycle, & filter chains
 Filter api, modifying a request, modifying a response

33
LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

34
Advanced JAVA: Level 3
Nature of the course: Theory + Practical
Total hours per day: 2 hours
Course duration: 4 weeks

Course Summary
This level of the course builds on the foundation required to prepare trainees for a career as a Java
software engineer.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. Key Java: Advanced Tips and Techniques by Alex McManus
2. Java Performance: The Definitive Guide

Prerequisites
 Successfully completed the DWIT Training - Java – Level 2or obtained at least 40% score on the
entrance exam.
 The latter case applies for new students that are directly attempting this training.
 Successfully complete the interview.
 Willing and eager to spend at least 10-20 hours (varying from student-to-student) per week
outside of the training class to read/write codes in Java (self-study and practice).
 Please note that this is a lab intensive course where the students will be expected to work on lab
exercises for approximately half the duration of the session.

Course Details
WEEK 1
Groovy Fundamentals
 Differences between groovy and java
 Closures
 Lists and maps
 Ranges
 Lists, maps, and sets

Grails Project Structure


 Overview of a grails project
 Directories for model classes, controllers, and views

35
 Data source configuration
 Command line utilities
 Ide integration
WEEK 2
Domain Classes
 Object-relational mapping with gorm
 Constraints and validation
 Modeling relationships
 Performing crud operations
 Dynamic queries

Scaffolding
 Generating controllers
 Generating views

WEEK 3
Controllers
 Setting the default action
 Accessing request attributes
 Flash scope
 Rendering a response
 Redirects and returns

Groovy Server Pages


 Built-in grails tags
 Layouts and templates
 Creating custom tags

WEEK 4
Adding Ajax Support
 Basics of ajax
 Ajax-supporting tags
 Rendering json and xml responses

Services
 Transactions
 Services and dependency injection

Learning Outcomes
 How to use Java to develop object-oriented designs.
 How to recognize Java language components and how they interact in applications.
 How to create stand-alone Java programs and program them.
 How to learn how to use Java Swing to create a graphical user interface (GUI) and APIs in
the construction of programs.

36
 Will have a better understanding of how to employ exception handling in Java applications.
 Will become familiar with Java generics and the Java Collections API.
 How to create Java apps using threads and how to read and write files in Java.

37
Introduction to Android Programming
Android Beginners: Level 1

Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 4 weeks

Course Summary
The DTC - Android 1 course is targeted for beginners who want to learn how to think and write meaningful pieces
of codes or read codes written by someone else in ANDROID. This course teaches how to map literary description
of a problem (requirement) to an application/library coded in Android. This is a core basic level course that is
essential for anyone who has no prior programming experience but wishes to be a professional Android engineer in
future.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. Headfirst Android Development
2. JAVA programming for Android Developers for Dummies

Prerequisites
 Basic knowledge about programming, bits/bytes, procedures, classes, computer architecture, etc.
If you just have a theoretical knowledge that is perfectly okay but you should have strong
convictions on what programming is, and what you hope to achieve from this class.
 Willing and eager to spend at least 10-20 hours (varying from student-to-student) per week
outside of the training class to read/write codes in ANDROID (self-study and practice).
 There is no prior educational level requirement for this course. Anyone from 10+2 student to
someone who is doing their PHD in Genetic Engineering is welcome to take this course.
 If you are only interested in theory and have no interest/patience in spending at least 10 hours
every week throughout the duration of the course, then this course might not be for you.
 If you have absolutely no idea about programming or do not see yourself doing programming in
the next six -odd months, then this class may not be for you!

38
Course Details
WEEK 1
BASIC JAVA
 Introduction
 Example: looping, decision, exception handling, list, map, arrays
 Installation of JDK
OVERVIEW OF ANDROID
 Introduction
 H/w or s/w requirement (i.e. android sdk)
 Dalvik virtual machine & .apk file extension

WEEK 2
APPLICATION STRUCTURE
 Androidmanifest.xml
 Uses-permission & uses-sdk
 Assets, layouts & draw-able resources
 Values – strings.xml
 Activities and activity lifecycle

EMULATOR-ANDROID VIRTUAL DEVICE


 Introduction & available emulator
 Launching emulator
 Editing emulator settings
 Emulator shortcuts
 Logcat usage

WEEK 3
LAYOUT DESIGN
 Form widgets (button, spinner, checkbox, edit text)
 Text fields
 Layouts (relative layout, table layout, frame layout, linear layout)
 Nested layouts
 [dip, dp, sip, sp] versus px

UI DESIGN
 Time and date
 Images and media
 Composite
 Alert dialogs & toast
 Popup
 Web view

WEEK 4
PREFERENCES
 Shared preferences
 Preferences from xml
39
MENU & INTENT
 Option menu
 Context menu
 Sub menu
 Menu from xml
 Menu via code
 Explicit intents
 Implicit intents
 Switching activities
 Put extras

LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

40
Intermediate ANDROID: Level 2

Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 4 weeks

Course Summary
The DTC - ANDROID – Level 2 course is designed for students who have some prior hands-on programming
experience with the ANDROID programming language at a beginning level. This course is ideal for people who
have previously programmed in another programming language (e.g., Java, Obj-C, PHP, C, C++, etc.) and wish to
learn Android. This course is designed for high school and university students who want to do ANDROID
coursework, including those who are already working as a professional VB.NET developer and want to switch to
ANDROID, as well as those who have worked in the media industry since graduation or are working as a
professional freelance PHP developer.
Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. Headfirst Android Development
2. JAVA programming for Android Developers for Dummies
3. Android Programming: Pushing the Limits.

Prerequisites
 Successfully complete the entrance test with score of at least 40% (for trainees directly applying
to this level).
 Successfully complete the DWIT Training - ANDROID – Level 1 course (not applicable to
trainees directly applying to this level).
 Successfully complete the interview.
 Willing and eager to spend at least 10-20 hours (varying from student-to-student) per week
outside of the training class to read/write codes in ANDROID (self-study and practice).

Course Details
WEEK 1
STYLE & THEMES
 Styles.xml
 Colors.xml - declaring colors and drawables
 Drawable resources for shapes, gradients (selectors)

41
 Shapes drawables
 State drawables
 Transition drawables
 Ripple
 9 patch drawables
 Style attribute in layout file
 Applying themes via code and manifest file

NOTIFICATIONS
 Broadcast receivers services and notifications
 Toast
 Alarms

WEEK 2
ADAPTERS AND WIDGET
 Adapters
 Array adapters
 Base adapters
 Example - efficient adapter
 List view and list activity
 Custom list view (get data from web service as json)
 Grid view using adapters
 Gallery using adapters
 Recycler view
 Card view
 Creating and updating the widget

THREADS
 Threads running on ui thread (run on ui thread)
 Worker thread
 Handlers & runnable
 Asyntask (in detail)

WEEK 3
FRAGMENT
 Fragments
 Communication between fragments
 Fragment paper adapter
 Dialog fragment
 View pager indicator
 Circle view pager indicator
 Tab view pager indicator
 Line page indicator
 Action bar tabs and custom views on action bars
 Toolbars

42
 Navigation drawer
MULTIMEDIA
 Playing audio file (local/network)
 Simple video playback

WEEK 4
HARDWARE ACCESS
 Using sd-cards - reading and writing
 Maps via intent and map activity
 Accessing phone services (call, sms, mms)
 Network connectivity services
 Using Wi-Fi & Bluetooth
 Sensors

LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

43
Advanced ANDROID: Level 3

Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 4 weeks

Course Summary
This course expands on the DTC – ANDROID – Level 2 foundation and offers advanced subjects to equip learners
for a career as an Android software engineer.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. The Busy Coder's Guide to Advanced Android Development
2. Android Design Patterns
3. Android Programming: Pushing the Limits.

Prerequisites
 Successfully completed the DWIT Training - ANDROID – Level 2 or obtained at least 40% score
on the entrance exam.
 The latter case applies for new students that are directly attempting this training.
 Successfully complete the interview.
 Willing and eager to spend at least 10-20 hours (varying from student-to-student) per week
outside of the training class to read/write codes in ANDROID (self-study and practice).
 Please note that this is a lab intensive course where the students will be expected to work on lab
exercises for approximately half the duration of the session.

Course Details
WEEK 1
SQLITE PROGRAMMING
 Sqlite programming
 Sqlite open helper
 Sqlite database
 Cursor
 Content providers

44
 Defining and using content providers
 Providers
 Reading and updating contacts reading bookmarks
 Example: 1: Develop an app to demonstrate database usage. Crud operations must be
implemented. Final details should be viewed in grid view as well as in list view.

Do the same application with database operations in a single class (as a model class) and do the
crud operations with this class object.
WEEK 2
OTHERS
 Creating own separate project module
 Integrating project module in own apps
 including external libraries in our application
 Push notification
 Facebook api integration

WEEK 3
GAME DEVELOPMENT
 Introduction to game engine in android

WEEK 4
LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

Learning Outcomes
 Ability to understand the major dynamics and restrictions that affect mobile devices and how to
account for them while planning and developing Android apps.
 Ability to understand and solve Android-related difficulties by knowing where to look for extra
sources of knowledge.
 Become familiar with the organization, patterns, and programming techniques of the Android
platform and be able to use them to create their own Android applications.

45
Introduction to Dot Net
Dot Net Beginners: Level 1

Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 4 weeks

Course Summary
The DTC – Dot Net course is targeted for beginners who want to learn how to think and write meaningful pieces of
codes or read Dot Net codes written by someone else. This course teaches how to map literary description of a
problem (requirement) to an application/library coded in Dot Net. This is a core basic level course that is essential
for anyone who has no prior programming experience but wishes to be a professional Dot Net engineer in future.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. Pro C #9 with Dot Net 5
2. The Ultimate Beginner’s guide to learn C#

Prerequisites
 Basic knowledge about programming, bits/bytes, procedures, classes, computer architecture, etc.
If you just have a theoretical knowledge that is perfectly okay but you should have strong
convictions on what programming is, and what you hope to achieve from this class.
 Willing and eager to spend at least 10-20 hours (varying from student-to-student) per week
outside of the training class to read/write codes in Dot Net (self-study and practice).
 There is no prior educational level requirement for this course. Anyone from 10+2 student to
someone who is doing their PHD in Genetic Engineering is welcome to take this course.
 If you are only interested in theory and have no interest/patience in spending at least 10 hours
every week throughout the duration of the course, then this course might not be for you.
 If you have absolutely no idea about programming or do not see yourself doing programming in
the next six -odd months, then this class may not be for you!

Course Details
WEEK 1
STARTING WITH VISUAL STUDIO 2010
 Creating Console Application Project

46
 Project vs. Solution
 How to compile the project?

THE MAIN() METHOD – WHERE IT ALL BEGINS


CLASS IN BRIEF

WHAT IS A METHOD?
 Argument List
 Return Type
 Breaking down solution (to a problem) to one or more methods

NAMESPACE
 Alias
 Global scope

VARIABLES
 BASE CLASSES – BASIC
 How to write to Console?
 How to read from Console?

WEEK 2
FLOW CONTROL
 What is it and why do we need it?

FLOW CONTROL - CONDITIONAL STATEMENTS


 If-Else
 Switch

FLOW CONTROL – ITERATION AND JUMPS


 For
 While
 Do While
 Break
 Continue
 Go to
 For each

OPERATORS – BASIC
 Arithmetic
 Increment/Decrement
 Comparison
 Logical
 Bitwise
 Bit Shifting
 Assignment

SCOPE OF A VARIABLE

47
CONSTANTS

DATA TYPES
 Value Types
 Reference Types
WEEK 3
VALUE TYPES IN DETAIL
 Signed vs. Unsigned
 byte, sbyte
 short, ushort
 int, uint
 long, ulong
 float
 double
 decimal
 bool
 char

ARRAYS
 Single Dimensional Arrays, introducing the [] operator
 Multiple Dimensional Arrays
 Jagged Arrays
 Array is a Reference Type

STRING
 String is a Reference Type
 What is a string made up of – understanding the char type
 Ways of constructing strings
 How to copy one string to another
 Using the [] operator
 Converting strings from lower case to upper and vice-versa
 Searching for specific characters in a string
 Searching for specific words in a sentence
 Complex String operations
 String Builder
 Format Strings
 Immutability

WEEK 4
ENUMERATIONS

PREPROCESSOR DIRECTIVES
 Define
 Undef
 If, Elif, Else, Endif

48
 Warning
 Error
 Region, Endregion
COMPILING WITH MULTIPLE MAIN() METHODS

VISUAL STUDIO 2010 REVISITED – HOW TO DEBUG YOUR CODE

STRUCTURES

HOW TO EFFECTIVELY DESIGN AND WRITE YOUR OWN CLASSES?


WHERE TO GO NEXT?

LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

49
Intermediate Dot Net: Level 2

Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 4 weeks

Course Summary
The DTC – Dot Net – Level 2 course is designed for students who have some prior hands-on
programming experience with the Dot Net programming language at a beginning level. This course is
ideal for people who have previously programmed in another programming language (e.g., Java, Obj-C,
PHP, C, C++, etc.) and wish to learn Dot Net. This course is designed for high school and university
students who want to do Dot Net coursework, including those who are already working as a professional
VB.NET developer and want to switch to Dot Net, as well as those who have worked in the media
industry since graduation or are working as a professional freelance PHP developer.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. Pro C #9 with Dot Net 5
2. The Ultimate Beginner’s guide to learn C#
3. C# 8.0 in a nutshell

Prerequisites
 Successfully complete the entrance test with score of at least 40% (for trainees directly applying
to this level).
 Successfully complete the DWIT Training – Dot Net – Level 1 course (not applicable to trainees
directly applying to this level).
 Successfully complete the interview.
 Willing and eager to spend at least 10-20 hours (varying from student-to-student) per week
outside of the training class to read/write codes in Dot Net (self-study and practice).

Course Details
WEEK 1
CLASS IN DETAIL
 Data Members
 Function Members

50
 Access Modifiers
 Data Encapsulation
 Set and Get methods
 Passing parameters by Value
 Passing parameters by Reference
 Using keywords ref, out, and params in methods
 Named Arguments
 Optional Arguments
 Method Overloading
 Properties and Accessory
 Constructors and Destructors
 Partial Classes
 Static Class and Static Methods
 Static Constructor, read only fields

WEEK 2
OBJECT ORIENTED PROGRAMMING
 Implementation Inheritance
 Interface Inheritance
 Multiple Inheritance
 The Object class
 Polymorphism, Virtual Methods
 Abstract Class and Abstract Methods
 Sealed Class
 Exceptions
 Structures Revisited
 Using Constructors
 Inheritance
 Coding Conventions and Guidelines
 Properly Writing Comments

WEEK 3
ADVANCED
 Use of operators – checked, unchecked
 Use of operators – as, is, type of, unsafe, size of
 Null able types and operations
 Null Coalescing operator
 Type Inference
 Anonymous Type
 Boxing and Unboxing
 Data Conversions – Implicit and Explicit
 Four ways to compare objects for equality
 Operator Overloading
 User Defined Casts
 Indexers

51
 Generics
 Type Safety
 Constraints
 Default
 Inheritance
 Interface
 Statics
 Structures
 Delegates
 Covariance
 Contra-variance
 Delegates and Events

WEEK 4
WRITING WINDOWS FORMS APPLICATIONS
 What makes Windows Forms application different from Console Application
 Human Computer Interaction
 Slight Diversion: The WinMain() loop
 Class Hierarchy
 Controls
 User Interface
 User Interaction
 How it all works
 Forms class
 Standard Controls
 Button
 Check Box
 Checked List Box
 Combo Box
 Data Grid View
 Date Time Picker
 Error Provider
 Image List
 Label
 List Box
 List View
 Masked Text Box
 Menu Strip
 Panel
 Picture Box
 Progress Bar
 Radio Button
 Rich Text Box
 Tab Control
 Tab Pages
 Text Box

52
LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

53
Advanced Dot Net: Level 3

Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 4 weeks

Course Summary
This course expands on the DTC – Dot Net – Level 2 foundation and offers advanced subjects to equip learners for a
career as an Android software engineer.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. The Busy Coder's Guide to Advanced Android Development
2. Android Design Patterns
3. Android Programming: Pushing the Limits.

Prerequisites
 Successfully completed the DWIT Training – Dot Net – Level 2 or obtained at least 40% score on
the entrance exam.
 The latter case applies for new students that are directly attempting this training.
 Successfully complete the interview.
 Willing and eager to spend at least 10-20 hours (varying from student-to-student) per week
outside of the training class to read/write codes in Dot Net (self-study and practice).
 Please note that this is a lab intensive course where the students will be expected to work on lab
exercises for approximately half the duration of the session.

Course Details
WEEK 1
DATA STRUCTURES
 Introduction
 Key Interfaces
 Array Class
 Lists
 Queue
 Stack

54
 Linked List
 Sorted List
 Dictionaries
 Sets
 Bit Arrays
 Trees
 Graphs
 Deciding which data structure to use
 Thinking about performance

MANAGING FILES
 File I/O Revisited
 Serialize / De-serialize
 Moving, Copying and Deleting Files
 Collecting Drive Information
 Memory Mapped File

WEEK 2
WORKING WITH XML
 Standards in .NET
 XML I/O
 DOM
 XPATH

INSTRUMENTATION
 Event Logging
 Tracing
 Perfmon
 Contracts

WRITING MULTITHREADED APPLICATION


 Asynchronous Delegates
 Thread Class
 Thread Pools
 Tasks
 Race Conditions and Deadlock
 Lock statement
 Wait Handle
 Mute x
 Semaphore
 Timers
WEEK 3
WRITING NETWORK APPLICATIONS

REFLECTION AND ASSEMBLIES

55
 DCustom Attributes
 System.Type
 Assembly Class
 Overview of Assemblies
 What constitutes Assemblies?
 Structure
 Manifest
 Attributes
 Private, Shared, Satellite
 Creating and Loading Assemblies
 Application Domains
 Versioning
 GAC
 Shared Assemblies
 Strong Names
 Delayed Signing

WEEK 4
WINDOWS FORMS
 Multiple Document Interface
 User Controls

INTRODUCTION TO ASP.NET.
 What is ASP.NET?
 ASP.NET Life-cycle explained
 Web Sites vs. Web Applications
 Managing States
 Coding Models
 ASP.NET Web Forms
 ASP.NET Server Controls

LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

Learning Outcomes
 Web Application Configuration and Deployment
 Create a safe online application
 Understand the ASP.NET page structure and the Microsoft.NET Framework
 Create a web application with a wide range of controls
 Learn how to use the features of the Dot Net Framework as well as the features of C#, access the
data using inbuilt data access tools
 Perform database operations for Windows Form and web applications

56
Introduction to Python
Python Beginners: Level 1

Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 3 weeks

Course Summary
The DTC - Python 1 course is targeted for beginners who want to learn how to think and write meaningful pieces of
codes or read codes written by someone else in Python. This course teaches how to map literary description of a
problem (requirement) to an application/library coded in Python. This is a core basic level course that is essential for
anyone who has no prior programming experience but wishes to be a professional Android engineer in future.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. Python Crash Course: A Hands-On, Project-Based Introduction to Programming
2. Python Programming: An Introduction to Computer Science

Prerequisites
 Basic knowledge about programming, bits/bytes, procedures, classes, computer architecture, etc.
If you just have a theoretical knowledge that is perfectly okay but you should have strong
convictions on what programming is, and what you hope to achieve from this class.
 Willing and eager to spend at least 10-20 hours (varying from student-to-student) per week
outside of the training class to read/write codes in Python (self-study and practice).
 There is no prior educational level requirement for this course. Anyone from 10+2 student to
someone who is doing their PHD in Genetic Engineering is welcome to take this course.
 If you are only interested in theory and have no interest/patience in spending at least 10 hours
every week throughout the duration of the course, then this course might not be for you.
 If you have absolutely no idea about programming or do not see yourself doing programming in
the next six -odd months, then this class may not be for you!

57
Course Details
WEEK 1
OVERVIEW OF PYTHON LANGUAGE
 Introduction
 H/w and s/w requirements
 Installation of python
 Using interpreter
CORE DATA STRUCTURES
 String, variables
 Tuples
 List
 Dictionary
 Operation on data structures
 Slicing

CONSTANT, VARIABLES AND DATA TYPES


 Primitives and non-primitives variables

WEEK 2
DECISION AND BRANCHING
 IF, ELSE, SWITCH, BREAK, CONTINUE

LOOPING
 FOR, WHILE, DO-WHILE

FUNCTIONS
 Building modules
 Functions
 Function types
 Lambdas
 Map/filter
 Comprehension
 For, while, do-while

WEEK 3
EXCEPTION HANDLING
 Introduction
 Handling exceptions
 Raising exception
 Catching exceptions
 Chaining exceptions

OOPS
 Introduction to class/objects
 Writing a class
 Inheritance
58
 Polymorphism
 Encapsulation
 Operator overloading
 Working with database

LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

59
Intermediate Python: Level 2

Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 4 weeks

Course Summary
The DTC – Python – Level 2 course is designed for students who have some prior hands-on programming
experience with the Python programming language at a beginning level. This course is ideal for people who have
previously programmed in another programming language (e.g., Java, Obj-C, PHP, C, C++, etc.) and wish to learn
Python. This course is designed for high school and university students who want to do Python coursework,
including those who have worked in the media industry since graduation or are working as a professional freelance
PHP developer.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. Python Crash Course: A Hands-On, Project-Based Introduction to Programming
2. Python Programming: An Introduction to Computer Science

Prerequisites
 Successfully complete the entrance test with score of at least 40% (for trainees directly applying
to this level).
 Successfully complete the DWIT Training - Python – Level 1 course (not applicable to trainees
directly applying to this level).
 Successfully complete the interview.
 Willing and eager to spend at least 10-20 hours (varying from student-to-student) per week
outside of the training class to read/write codes in Python (self-study and practice).

Course Details
WEEK 1
WEB APPLICATION BASICS
 How the web works
 Overview of Django
 Django philosophies
 What we are going to build

60
GETTING STARTED
 Introduction of projects and apps
 Creating a basic simple web application
 Introduction to Django admin and how to use it
 How to use applications

WEEK 2
VIEWS AND TEMPLATES
 Introduction to views and templates
 How views and templates work
 Introduction to bootstrap
 Bootstrap for basic ui design
 Introduction to Django forms and how to use it

WEEK 3
MODELS
 Introduction to models
 How models work
 Using databases
 Making queries
 Database relationships
 Sessions

WEEK 4
RESTFUL API
 Introduction to rest api
 Rest api application
 Creating rest api for application
 Using rest api in ui

EXTRAS
 CONCLUSION AND DISCUSSIONS ON THE SUBJECT

LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

61
Advanced Python: Level 3

Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 4 weeks

Course Summary
This course expands on the DTC – Python – Level 2 foundation and offers advanced subjects to equip
learners for a career as an Android software engineer.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. Fluent Python: Clear, Concise, and Effective Programming
2. Programming Python: Powerful Object-Oriented Programming

Prerequisites
 Successfully completed the DWIT Training - Python – Level 2 or obtained at least 40% score on
the entrance exam.
 The latter case applies for new students that are directly attempting this training.
 Successfully complete the interview.
 Willing and eager to spend at least 10-20 hours (varying from student-to-student) per week
outside of the training class to read/write codes in Python (self-study and practice).
 Please note that this is a lab intensive course where the students will be expected to work on lab
exercises for approximately half the duration of the session.

Course Details
WEEK 1
INTRODUCTION TO PYTHON FOR DATA SCIENCE
 Python Basics
 Different data types

PYTHON LISTS
 Store many different data points under a single name
 Create, subset and manipulate
 Lists in all sorts of ways

62
FUNCTIONS AND PACKAGES
 Importing Python packages
 Calling functions
 Numpy
 Write superfast code with Numerical Python
 Create different types of visualizations A package to efficiently store
 Calculations with huge amounts of data

WEEK 2
MATPLOTLIB
 Create different types of visualizations
 Learn how to build Complex and customized plots based on real data.

CONTROL FLOW AND PANDAS


 Write conditional constructs to tweak the execution of scripts
 The Pandas Data Frame
 The key data structure for Data Science in Python

PYTHON FOR DATA SCIENCE (ADVANCE COURSE)


 Getting Started with Data Science
 Data Science: Generating value from Data
 The Data Science Process
 Week Assignment

WEEK 3
BACKGROUND IN PYTHON AND UNIX
 Key Data Structures
 Week Assignment

JUPYTER NOTEBOOKS AND NUMPY


 Jupyter Notebooks
 Numpy Advance tutorial practice
 Satellite Image Application in numpy
 Week Assignment

PANDAS
 Working with pantaa
 Week Assignment

WEEK 4
DATA VISUALIZATION
 Introduction to Data Visualization
 Case Studies
 Matplotlib and other Libraries
 Week Assignment

63
INTRODUCTION TO MACHINE LEARNING
 Regression Classification
 Clustering
 Analysis
 Week Assignment

WORKING WITH TEXT AND DATABASES


 Working with Databases
 Natural Language Processing
 Working with Text
 Week Assignment

FINAL PROJECT

LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

Learning Outcomes
 Learn how to set up Python and develop a simple application
 Declare and perform operations on simple data types, including strings, numbers, and
dates
 Declare and perform operations on data structures, including lists, ranges, tuples,
dictionaries, and sets
 Write conditional statements and loops
 Define and use functions, classes, and modules
 Learn how to design object‐oriented programs with Python classes
 Learn how to use class inheritance in Python for reusability
 Learn how to use exception handling in Python applications for error handling.

64
Introduction to Angular
Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 4 weeks

Course Summary
This course will teach you how to use Angular to create modern, responsive, and scalable online
applications. It focuses on comprehending the architecture of an angular application as well as how to use
it. By the end of the session, you'll have worked with Angular, one of the most current JavaScript
frameworks.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the
second module.

Required Text Books


 Angular — the Complete Guide
 Testing Computer Software
 The Complete Angular Course: Beginner to Advanced

Prerequisites
 Fundamental understanding of programming, bits/bytes, procedures, classes, and computer
architecture. It's absolutely acceptable if you only have a theoretical understanding of
programming, but you should be certain about what programming is and what you intend to gain
from this session.
 If you are only interested in theory and have no interest/patience in spending at least 10 hours
every week throughout the duration of the course, then this course might not be for you.
 If you have absolutely no idea about programming or do not see yourself doing programming in
the next six -odd months, then this class may not be for you!

Course Details
WEEK 1
Introduction
 Course Introduction
 What is Angular?
 AngularJS VS Latest Angular Version

65
 Angular CLI
 Project Setup/ Create Your First Angular App
 What is Typescript?
 Installing Bootstrap

WEEK 2
Angular Basics
 Architecture of Angular
 Angular Module
 Angular Component
 Angular Routing

WEEK 3
Databinding
 Directives
 Decorators
 Services
 Dependency Injection
 Pipe

WEEK 4
Course Project
 Project Introduction
 Planning the Project
 Create a New Project
 Implementing all of the Angular Basics
 Debugging
 Build and Deploy

Learning Outcomes
 Create Angular applications that are device agnostic
 TypeScript, Templates, and Decorators are used to create components
 Observables are used to consume REST services
 With the Component Router, you may modularize your apps
 With template-driven forms, you can capture and validate data

66
Introduction to Full Stack Web Development - MERN Stack
Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 11 weeks

Course Summary
HTML and CSS, browser programming (using JavaScript, jQuery, Angular, or Vue), and server
programming (using PHP, ASP, Python, or Node) are all covered in this course to help you become a full
stack web developer.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. Essentials of Full Stack Web Application Development using React, Node, Express & MongoDB
2. Essentials of Hands-On MERN Stack Web Development
3. Fundamentals and Essentials of MERN Stack Front To Back

Prerequisites
 Basic knowledge about programming, bits/bytes, procedures, classes, computer architecture, etc.
If you just have a theoretical knowledge that is perfectly okay but you should have strong
convictions on what programming is, and what you hope to achieve from this class.
 Willing and eager to spend at least 10-20 hours (varying from student-to-student) per week
outside of the training class to self-study and practice.
 If you are only interested in theory and have no interest/patience in spending at least 10 hours
every week throughout the duration of the course, then this course might not be for you.
 If you have absolutely no idea about programming or do not see yourself doing programming in
the next six -odd months, then this class may not be for you!

Course Details
WEEK 1
MERN Stack Development Introduction

WEEK 2
Environment Setup
 IDE

67
 Command Line
 Git/Github Workflow
 Postman
 Yarn/ NPM

Week 3
JavaScript - Basics
 Data Types
 Variables and Constant
 Operators
 Conditionals, loop
 Functions and Closure
 Array and Objects
 Inbuilt Methods
 Prototypes(prototype based inheritance)
 ES5 and ES6 standards

WEEK 4
Nodejs
 Introduction to nodejs
 Node package manager (npm)
 Node modules
 Node CLI
 Global Object
 Creating http server with nodejs
 Working on core NODE API
 Asynchronous and event loop in node js

WEEK 5
NodeJs Framework - ExpressJs
 Introduction to framework and Express
 The model-view-controller pattern in ExpressJS
 Middlewares
 Templating engine (pug, handlebars)
 Routing
 HTTP Protocol
 Http Request Object
 Http Response Object
 User authentication using jwt (json web token)
 Garbage collection and error handling

68
WEEK 6 & 7
MongoDB
 Introduction to database and existing database around
 Understanding NoSQL (schema less database)
 Introduction to MongoDB(collection and documents)
 CRUD operations using shell command
 Using Mongodb Native driver with Node
 Database modeling using ODM
 Using robo mongo(UI based database system)
 Update, insert delete and upsert documents
 Aggregation in mongodb
 Map reduce

WEEK 8
REST API
 Introduction to API
 Introduction to REST Architecture
 Building APIs with express js
 Using MongoDB as data store in express app with Mongoose

Week 9 & 10
REACT - FRONTEND TECHNOLOGY
 HTML
 CSS
 Introduction to CSS frameworks (Bootstrap)
 Create-react-app and project setup
 Components patterns in React
 State
 Props
 Life Cycle of React Components
 Functional Component
 Introduction to hooks
 React Router
 SPA using React Router
 Introduction to Redux and Flux Architecture
 State Management
 Reducers,
 Action Creators
 Middlewares (thunk, saga)
 Services
 Error Handling

69
WEEK 11
Projects
 Inventory Management
 Login System
 Ecommerce App and many other mini projects.
LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

Learning Outcomes
 By the end of the session, students should be able to develop RESTFul Application using Node,
Express and MongoDB
 Increased knowledge on JSON Data format, Node API design with async JavaScript custom
functions
 Increased knowledge on MERN Architecture and able to design website layouts
 By the end of the session, students should be able to develop full stack MERN projects

70
Introduction to React Native
Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 4 weeks

Course Summary
React Native is a JavaScript framework for building native mobile apps. It uses the React framework and
offers a large number of inbuilt components and APIs. This course is designed for JavaScript and React
developers who aspire to learn mobile building skills. By following this course, you will expand your
React and JavaScript knowledge, learn some concepts of functional programming, and prepare to enter
the mobile world. Since the JavaScript world is moving forward, we will keep up with it and use EC6
syntax in this course.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. Hands-On Design Patterns with React Native: Proven techniques and patterns for efficient native
mobile development with JavaScript
2. React Native Cookbook - Second Edition
3. React Native for Mobile Development

Prerequisites
 Basic knowledge about programming, bits/bytes, procedures, classes, computer architecture, etc.
If you just have a theoretical knowledge that is perfectly okay but you should have strong
convictions on what programming is, and what you hope to achieve from this class.
 Willing and eager to spend at least 10-20 hours (varying from student-to-student) per week
outside of the training class to self-study and practice.
 If you are only interested in theory and have no interest/patience in spending at least 10 hours
every week throughout the duration of the course, then this course might not be for you.
 If you have absolutely no idea about programming or do not see yourself doing programming in
the next six -odd months, then this class may not be for you!

71
Course Details
WEEK 1
Getting Started
 Welcome
 What is React Native?
 How React Native Works?
 Expo Vs React Native CLI
 Creating first React Native app
 Overview on first app structure
 React Native alternatives
 Running app on an Android Emulator
Basic Concepts (React and React Native)
 State and Event
 Props
 React Hooks
 Container components and UI components
 Styling
Exploring React Native Core Components
 Button
 Positioning Element with flex.
 Layout and Flexbox
 Scroll View
 List View
 Flat List
 Sectionalist
 Touchable
 Text Input
 Activity Indicator
 Picker
 Status Bar
 Switch
 Web View

WEEK 2
Debugging React Native Apps
 What to debug and what to debug?
 Handling Error messages
 Using the breakpoints
 Using React Native debugger

72
Responsive and Adaptive UI
 Working with more flexible styling rules
 Orientation of device
 Using dimensions checks
 Platform API
 SafeAreaView
Handling User Input
 TextInput
 Basic Validation
 Connecting Input Components and Forms
 Tweaking styles and handling soft keyboard

WEEK 3
Navigation with React Navigation
 Installing react navigation and adding navigation to app
 Stack Navigator
 Navigation between screens
 Header and Navigation options
 Default Navigation options and config
 Passing data between screens
 Tab Navigation
 Drawer Navigation
 Bottom Tab Navigation
State Management & Redux
 Introduction to State and Redux
 Redux Flow
 Redux and Store Setup
 Actions and Reducers concept
Storage
 AsyncStorage
 AsyncStorage Methods

WEEK 4
HTTP request
 Getting/Sending data from the remote server
 Redux Thunk
 Simple Implementation

73
Native Device Features
 Accessing Device Camera
 Maps
 Location
 Image Picking
 Implementation by making real application
LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

Learning Outcomes
 how to develop ES6 JavaScript code that is well-structured
 how to use components to develop React applications
 how to combine components using properties and states
 how to integrate mobile interfaces such as input, touch, scroll, and list
 how to use the React Native CLI development tools
 how to port a React Native application to the iOS platform

74
Introduction to Red Hat Certified Engineer Course
Linux System and Networking Administration: Level 1

Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 2 weeks

Course Summary
The Red Hat Certified Engineer course will help you prepare for the Red Hat certification exam. A current Red Hat
Certified System Administrator is eligible to achieve this certification (RHCSA). This course will prepare you for
the Red Hat performance-based certification exam, which will demonstrate your knowledge, skills, and experience
as a senior system administrator in charge of Red Hat Enterprise Linux systems. The course aims to make students
fully understand the most important and fundamental concepts of Linux server administration, and guide how to
apply those concepts to use in real-world situations. This is a core basic level course that is essential for anyone who
has no prior programming experience but wishes to be a professional Java engineer in future. This course is best
suited for anyone who has worked as a user (not necessarily as an administrator) on any variety of UNIX (Linux,
Solaris, HP-UX, AIX, etc.) or has done some system administration on Windows.

Completion Criteria

After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. The Linux Command Line, 2nd Edition: A Complete Introduction
2. Linux Pocket Guide: Essential Commands

Course Details
WEEK 1
UNDERSTAND AND USE ESSENTIAL TOOLS
 Access a shell prompt and issue commands with correct syntax
 Use input-output redirection (>, >>, |, 2>, etc.)
 Use grep and regular expressions to analyze text
 Access remote systems using ssh
 Log in and switch users in multiuser targets
 Archive, compress, unpack, and uncompress files using tar, star, gzip, and bzip2
 Create and edit text files

75
 Create, delete, copy, and move files and directories
 Create hard and soft links
 List, set, and change standard ugo/rwx permissions
 Locate, read, and use system documentation including man, info, and files in /usr/share/doc
OPERATE RUNNING SYSTEMS
 Boot, reboot, and shut down a system normally
 Boot systems into different targets manually
 Interrupt the boot process in order to gain access to a system
 Identify CPU/memory intensive processes, adjust process priority with renice, and kill
processes
 Locate and interpret system log files and journals
 Access a virtual machine's console
 Start and stop virtual machines
 Start, stop, and check the status of network services
 Securely transfer files between systems

WEEK 2
CONFIGURE LOCAL STORAGE
 List, create, delete partitions on MBR and GPT disks
 Create and remove physical volumes, assign physical volumes to volume groups, and create
and delete logical volumes
 Configure systems to mount file systems at boot by Universally Unique ID (UUID) or label
 Add new partitions and logical volumes, and swap to a system non-destructively
LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

76
Intermediate Linux System and Networking Administration: Level 2

Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 3 weeks

Course Summary
The goal of the DTC – Linux System and Networking Administration course is to ensure that students fully
comprehend the most significant and fundamental ideas of Linux server administration, as well as how to apply
those concepts in real-world scenarios. This is a core basic level course that is essential for anyone who has no prior
programming experience but wishes to be a professional Red Hat Certified engineer in future.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


 How Linux Works, 3rd Edition: What every Super user should Know
 Linux Pocket Guide: Essential Commands

Prerequisites
 Successfully complete the entrance test with score of at least 40% (for trainees directly applying
to this level).
 Successfully complete the DWIT Training - RHCSA – Level 1 course (not applicable to trainees
directly applying to this level).
 Successfully complete the interview.
 Willing and eager to spend at least 10-20 hours (varying from student-to-student) per week
outside of the training class to self-study and practice.

Course Details
WEEK 1
CREATE AND CONFIGURE FILE SYSTEMS
 Create, mount, unmount, and use vfat, ext4, and xfs file systems
 Mount and unmount CIFS and NFS network file systems
 Extend existing logical volumes
 Create and configure set-GID directories for collaboration
 Create and manage Access Control Lists (ACLs)

77
 Diagnose and correct file permission problems

WEEK 2
DEPLOY, CONFIGURE, AND MAINTAIN SYSTEMS
 Configure networking and hostname resolution statically or dynamically
 Schedule tasks using at and cron
 Start and stop services and configure services to start automatically at boot
 Configure systems to boot into a specific target automatically
 Install Linux systems as virtual guests
 Configure systems to launch virtual machines at boot
 Configure network services to start automatically at boot
 Configure a system to use time services
 Install and update software packages from Network, a remote repository, or from the local
file system
 Update the kernel package appropriately to ensure a bootable system
 Modify the system bootloader

WEEK 3
MANAGE USERS AND GROUPS
 Create, delete, and modify local user accounts
 Change passwords and adjust password aging for local user accounts
 Create, delete, and modify local groups and group memberships
 Configure a system to use an existing authentication service for user and group information

MANAGE SECURITY
 Configure firewall settings using firewall-config, firewall-cmd, or iptables
 Configure key-based authentication for SSH
 Set enforcing and permissive modes for SELinux
 List and identify SELinux file and process context
 Restore default file contexts
 Use boolean settings to modify system SELinux settings
 Diagnose and address routine SELinux policy violations

LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

78
Advanced Linux System and Networking Administration: Level 3

Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 3 weeks

Course Summary
The goal of the DTC – Linux System and Networking Administration course is to ensure that students fully
comprehend the most significant and fundamental ideas of Linux server administration, as well as how to apply
those concepts in real-world scenarios. This is a core basic level course that is essential for anyone who has no prior
programming experience but wishes to be a professional Red Hat Certified engineer in future.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. Advanced Linux Networking
2. Linux Pocket Guide: Essential Commands

Prerequisites
 Successfully completed the DWIT Training – RHCSA – Level 2 or obtained at least 40% score
on the entrance exam.
 The latter case applies for new students that are directly attempting this training.
 Successfully complete the interview.
 Willing and eager to spend at least 10-20 hours (varying from student-to-student) per week
outside of the training class to read/write codes in RHCSA (self-study and practice).
 Please note that this is a lab intensive course where the students will be expected to work on lab
exercises for approximately half the duration of the session.

Course Details
WEEK 1
SYSTEM CONFIGURATION AND MANAGEMENT
 Route IP traffic and create static routes.
 Use iptables to implement packet filtering and configure network address translation (NAT).
 Use /proc/sys and sysctl to modify and set kernel runtime parameters.
 Configure a system to authenticate using Kerberos.
 Configure a system as an iSCSI initiator that persistently mounts an iSCSI target.

79
 Produce and deliver reports on system utilization (processor, memory, disk, and network).
 Use shell scripting to automate system maintenance tasks.
 Configure a system to log to a remote system.
 Configure a system to accept logging from a remote system.

WEEK 2
NETWORK SERVICES
 Install the packages needed to provide the service.
 Configure SELinux to support the service.
 Configure the service to start when the system is booted.
 Configure the service for basic operation.
 Configure host-based and user-based security for the service.

WEEK 3
HTTP/HTTPS, DNS, FTP NFS, SMB, SMTP, SSH & NTP
 Configure a virtual host
 Configure private directories.
 Deploy a basic CGI application.
 Configure group-managed content.
 Configure a caching-only name server
 Configure a caching-only name server to forward DNS queries.
 Provide network shares to specific clients.
 Provide network shares suitable for group collaboration.
 Configure a mail transfer agent (MTA) to accept inbound email from other systems.
 Configure an MTA to forward (relay) email through a smart host.
 Configure key-based authentication.
 Configure additional options described in documentation.
 Synchronize time using other NTP peers.

LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

Learning Outcomes
 Learn how to install and manage Linux distributions and packages.
 Explain how to set up and use Linux's networking capabilities.
 Explain the concept of Linux Network Security
 Determine how to backup data on a Linux system and how to set up a Web, NFS, SAMBA, and
print server.
 Create shell scripts and modify them to handle server management.
 Capable of performing the duties of a Unix system administrator Students will learn how to
process files, manage processes, manage IO, manage queues, and network.

80
Introduction to Cyber Security
Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 4 weeks

Course Summary
This course covers cyber security, ethical hacking, ethical hacking phases, and numerous attack vectors,
preventing countermeasures, Bug Bunty Hunting, Penetration Testing, and Forensics, among other topics.
This will give you an insight into how hackers think and act maliciously, allowing you to better build up
your security infrastructure and protect against future attacks. Organizations can increase their system
security measures by understanding system flaws and vulnerabilities, lowering the chance of an incident.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


 The Cyber Effect
 The Hacker Playbook 3: Practical Guide To Penetration Testing
 Cyber Security: Law and Guidance

Prerequisites
 Basic knowledge about programming, bits/bytes, procedures, classes, computer architecture, etc.
If you just have a theoretical knowledge that is perfectly okay but you should have strong
convictions on what programming is, and what you hope to achieve from this class.
 Willing and eager to spend at least 10-20 hours (varying from student-to-student) per week
outside of the training class to self-study and practice.
 If you are only interested in theory and have no interest/patience in spending at least 10 hours
every week throughout the duration of the course, then this course might not be for you.
 If you have absolutely no idea about programming or do not see yourself doing programming in
the next six -odd months, then this class may not be for you!

Course Details
WEEK 1
 Introduction to Cyber Security
 Introduction to Ethical Hacking
 Introduction to Bug Bounty Hunting

81
 Introduction to Penetration Testing

WEEK 2
 Foot printing and Reconnaissance
 Scanning Networks
 Enumeration
 Vulnerability Analysis
 System Hacking
 Malware Threats

WEEK 3
 Web Server & Web Application Hacking
 SQL Injection
 Network Attacks and Defense Strategies
 Network Security Threats, Vulnerabilities, and Attacks
 Network Security Controls, Protocols, and Devices
 Network Security Policy Design and Implementation

WEEK 4
 Host Security
 Secure Firewall Configuration and Management
 Secure IDS Configuration and Management
 Network Traffic Monitoring and Analysis

LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

Learning Outcomes
 To secure an IT infrastructure, analyze and fix security risks in networks and computer systems
 How to design, develop, test and evaluate secure software
 To handle enterprise security risks, develop rules and processes
 Assess and convey the human role in security systems, with a focus on ethics, social engineering
flaws, and training
 Interpret and analyze security occurrences forensically.
 Able to understand and implement R programming from a statistical standpoint

82
Introduction to AWS Cloud Practitioner Training
Nature of the course: Theory + Practical
Total hours per day: 2 hours
Course duration: 4 weeks

Course Summary
This course teaches you the skills and knowledge you'll need to become an AWS Cloud Practitioner.
Instructors/trainers will demonstrate skills/tasks in this curriculum, and trainees will have the opportunity
to perform them. Trainees will practice and learn skills using the program's standard tools, materials,
equipment, and machinery. AWS Cloud and its global infrastructure, AWS core services and their use
cases, Basic AWS Cloud architecture principles, security, features of compliance, and shared security
model are among the topics covered in this course. Billing, account administration, and price models are
all presented, as well as lab work for each service.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. AWS Certified Cloud Practitioner Study Guide
Prerequisites
 Basic knowledge about programming, bits/bytes, procedures, classes, computer architecture, etc.
If you just have a theoretical knowledge that is perfectly okay but you should have strong
convictions on what programming is, and what you hope to achieve from this class.
 There is no prior educational level requirement for this course. Anyone from 10+2 student to
someone who is doing their PHD in Genetic Engineering is welcome to take this course.
 If you are only interested in theory and have no interest/patience in spending at least 10 hours
every week throughout the duration of the course, then this course might not be for you.
 If you have absolutely no idea about programming or do not see yourself doing programming in
the next six -odd months, then this class may not be for you!

Course Details
WEEK 1
Cloud Concepts
 Define the AWS Cloud and its value proposition
 Identify aspects of AWS Cloud economics
 Advantages of Cloud Computing
 Trade capital expense for variable expense

83
 Benefit from massive economies of scale
 Stop guessing about capacity
 Increase speed and agility
 Stop spending money running and maintaining data centers
 Go global in minutes
 AWS Well-Architected Framework
 Features include agility, security, reliability, performance efficiency, cost optimization,
and operational excellence.

WEEK 2
Security
 Define the AWS Shared Responsibility model
 Define AWS Cloud security and compliance concepts
 Identify AWS access management capabilities
 Includes services like IAM
 Identify resources for security support
 Includes services like Cloud Trail

WEEK 3
Technology
 Define methods of deploying and operating in the AWS Cloud
 Define the AWS global infrastructure
 Includes AWS concepts of regions, AZs, and edge location
 Identify and basic lab and core AWS services
 Compute Services – EC2, ECS, Elastic Beanstalk, Lambda, Auto Scaling
 Storage Services – S3, EBS, EFS, Glacier
 Security, Identity, and Compliance – IAM, Organizations, WAF
 Databases – RDS, Aurora, DynamoDB, ElastiCache
 Migration – Database Migration Service
 Networking and Content Delivery – VPC, Cloud Front, Route 53, Direct Connect, ELB
 Management Tools – Cloud Watch, Cloud Formation, Cloud Trail, Trusted Advisor, Personal
Health Dashboard
 Messaging – SQS, SNS
 Includes AWS Services Overview and focuses on high-level knowledge of (but surely not
deep enough)
 Identify resources for technology support
 Includes AWS Support Models and the key features and benefits the model provides to the
customers

WEEK 4
Billing and Pricing
 Compare and contrast the various pricing models for AWS
 Includes AWS Pricing

84
 Recognize the various account structures in relation to AWS billing and pricing
 Includes AWS Organizations
 Includes Consolidated Billing
 Includes Billing and Cost Management
 Identify resources available for billing support
 Includes tools like TCO Calculator which helps compare the cost of running applications in
an on-premises or colocation environment to AWS
 Includes Cost Explorer allows you to view and analyze costs
AWS Cloud Practitioner Certification Exam Preparation
 In this lesson, we will run through how the exam is going to be, the dos and don’ts, and we
will be solving some questions which might be asked in the exam.
LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

Learning Outcomes
 Define what the AWS Cloud is and the basic global infrastructure
 Describe basic AWS Cloud architectural principles
 Describe the AWS Cloud value proposition
 Describe key services on the AWS platform and their common use cases (for example, compute
and analytics)
 Describe the basic security and compliance aspects of the AWS platform and the shared security
model
 Define the billing, account management, and pricing models;
 Identify sources of documentation or technical assistance

85
Introduction to CCNA
Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 6 weeks

Course Summary
This course is for anyone who wants to get their CCNA certification. All technicians involved in the
fundamental installation, operation, and verification of Cisco networks will benefit from this course. The
following work roles are most suited to the content in this course: a) Network administrator b) Network
support technician c) Entry-level network engineer d) Help Desk technician

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. CCNA Preparation Library
2. Cisco Certified Network Associate Study Guide
3. CCNA Exam Certification Guide

Course Details
WEEK 1
 Components of a computer network and their basic characteristics
 Model of host-to-host communication
 Features and functions of the Cisco Internetwork Operating System (IOS®) software
 Describe LANs and the role of switches within LANs

WEEK 2
 Describe Ethernet as the network access layer of TCP/IP and describe the
 Operation of switches
 Install a switch and perform the initial configuration
 TCP/IP Internet layer, IPv4, and its addressing scheme
 Describe the TCP/IP Transport layer and Application layer
 Explore functions of routing

WEEK 3
 Implement basic configuration on a Cisco router

86
 Host-to-host communications across switches and routers
 Identify and resolve common switched network issues and common problems associated with
IPv4 addressing
 IPv6 main features and addresses, and configure and verify basic IPv6 connectivity
 Operation, benefits, and limitations of static routing

Week 4
 Describe, implement, and verify Virtual Local Area Networks (VLANs) and trunks
 Describe the application and configuration of inter-VLAN routing
 Explain the basics of dynamic routing protocols and describe components and terms of Open
Shortest Path First (OSPF)
 Explain how Spanning Tree Protocol (STP) and Rapid Spanning Tree Protocol (RSTP) work
 Configure link aggregation using Ether Channel
 Describe the purpose of Layer 3 redundancy protocols

WEEK 5
 Basic WAN and VPN concepts
 Describe the operation of Access Control Lists (ACLs) and their applications in the network
 Configure Internet access using Dynamic Host Configuration Protocol
 Basic Quality of Service (QoS) concepts
 Describe the concepts of wireless networks, which types of wireless networks can be built,
and how to use Wireless LAN Controllers (WLCs)
 Describe network and device architectures and introduce virtualization

WEEK 6
 Concept of network programmability and Software-Defined
 Networking (SDN) and describe smart network management solutions such as Cisco DNA
Center™, Software-Defined Access (SD-Access), and Software-Defined Wide Area Network
(SD-WAN)
 Configure basic IOS system monitoring tools
 Describe the management of Cisco devices
 Describe the current security threat landscape
 Describe threat defense technologies
 Basic security configuration of the device management plane
 Basic steps to harden network devices

Learning Outcomes
 Identification of Network Fundamentals.
 Identification and configuration of LAN switching technologies.
 Description, implementation and verification of IP routing technologies.
 Identification and configuration of WAN technologies.
 Identification and configuration of infrastructure services.

87
Introduction to Oracle
Oracle Beginners: Level 1

Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 4 weeks

Course Summary
Database Oracle System administrators can use Quality of Service Management to manage application
service levels hosted on Oracle Real Application Cluster databases. QoS Management links precise run-
time performance and resource metrics, analyzes this data with an expert system to detect bottlenecks,
and recommends resource adjustments to meet and maintain performance objectives under dynamic load
conditions, all while using a policy-based architecture. If sufficient resources are not available, QoS
prioritizes the most important business objectives above the less important ones. With this course, you
should be able to do these basic operations in the Oracle database.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. Oracle RMAN for Absolute Beginners
2. Oracle 11g DBA for Beginners
3. Mastering Oracle GoldenGate

Prerequisites
 Basic knowledge about programming, bits/bytes, procedures, classes, computer architecture, etc.
If you just have a theoretical knowledge that is perfectly okay but you should have strong
convictions on what programming is, and what you hope to achieve from this class.
 Willing and eager to spend at least 10-20 hours (varying from student-to-student) per week
outside of the training class to self-study and practice.
 There is no prior educational level requirement for this course. Anyone from 10+2 student to
someone who is doing their PHD in Genetic Engineering is welcome to take this course.
 If you are only interested in theory and have no interest/patience in spending at least 10 hours
every week throughout the duration of the course, then this course might not be for you.

88
Course Details
WEEK 1 & 2
SQL FUNDAMENTAL
 Introduction to Oracle Database 11g
 Retrieving Data using the SQL SELECT Statement
 Restricting and Sorting Data
 Using Single-Row Functions to Customize Output
 Using Conversion Functions and Conditional Expressions
 Reporting Aggregated Data Using the Group Functions
 Displaying Data From Multiple Tables Using Joins
 Using Subqueries to Solve Queries
 Managing Tables using DML statements
 Introduction to Data Definition Language

WEEK 3 & 4
ORACLE DATABASE
 Exploring the Oracle Database Architecture
 Oracle Database Management Tools
 Oracle Database Instance
 Configuring the Oracle Network Environment
 Administering User Security
 Managing Database Storage Structures
 Create and manage table spaces
 Managing Undo Data
 Managing Data Concurrency
 Implementing Oracle Database Auditing

LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

89
Intermediate Oracle: Level 2

Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 4 weeks

Course Summary
Database Oracle System administrators can use Quality of Service Management to manage application
service levels hosted on Oracle Real Application Cluster databases. QoS Management links precise run-
time performance and resource metrics, analyzes this data with an expert system to detect bottlenecks,
and recommends resource adjustments to meet and maintain performance objectives under dynamic load
conditions, all while using a policy-based architecture. If sufficient resources are not available, QoS
prioritizes the most important business objectives above the less important ones. With this course, you
should be able to do these basic operations in the Oracle database.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. Oracle Database 12c The Complete Reference (Oracle Press)
2. Mastering Oracle GoldenGate

Prerequisites
 Successfully complete the entrance test with score of at least 40% (for trainees directly applying
to this level).
 Successfully complete the DWIT Training - Oracle – Level 1 course (not applicable to trainees
directly applying to this level).
 Successfully complete the interview.

Course Details
WEEK 1
BACKUP AND RECOVERY CONCEPTS
 Backup and Recovery Configuration
 Performing Database Backups
 Performing Database Recovery
 Moving Data

90
 Performing Database Maintenance
 Managing Performance: SQL Tuning
 Automating Tasks by Using Oracle Scheduler
 Creating an Oracle Database Using DBCA
 Upgrading Oracle Database Software
 Introduction to DBAAS
WEEK 2
ORACLE PLS/SQL
 PL/SQL Fundamentals
 Develop PL/SQL Program Units

WEEK 3
ORACLE REAL APPLICATION CLUSTER (RAC)

WEEK 4
ORACLE DATA INTEGRATOR (ODI)

SMALL PROJECT WITH ORACLE

LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

Learning Outcomes
 Improve overall database analysis and design expertise and understanding.
 Improve overall understanding of SQL and PL/SQL database development and administration
processes.
 Using SQL and PL/SQL, improve programming and software engineering skills and approaches.
 Preparation of technical foundation materials and documents

91
Introduction to Geographical Information System (GIS)
GIS Beginners: Level 1

Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 3 weeks

Course Summary
The DTC – GIS course is targeted for beginners who want to learn how to think and write meaningful pieces of
codes or read GIS codes written by someone else. This course teaches how to map literary description of a problem
(requirement) to an application/library coded in GIS. This is a core basic level course that is essential for anyone
who has no prior programming experience but wishes to be a professional GIS engineer in future.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. GIS Fundamentals
2. GIS tutorial 1
3. Getting to know ArcGIS

Prerequisites
 Basic knowledge about programming, bits/bytes, procedures, classes, computer architecture, etc.
If you just have a theoretical knowledge that is perfectly okay but you should have strong
convictions on what programming is, and what you hope to achieve from this class.
 Willing and eager to spend at least 10-20 hours (varying from student-to-student) per week
outside of the training class to read/write codes in GIS (self-study and practice).
 There is no prior educational level requirement for this course. Anyone from 10+2 student to
someone who is doing their PHD in Genetic Engineering is welcome to take this course.
 If you are only interested in theory and have no interest/patience in spending at least 10 hours
every week throughout the duration of the course, then this course might not be for you.
 If you have absolutely no idea about programming or do not see yourself doing programming in
the next six -odd months, then this class may not be for you!

92
Course Details
WEEK 1
GEOGRAPHICAL INFORMATION SYSTEM
 Definition
 functional Component
 Application

REMOTE SENSING (RS)


 Principle
 Technology
 Application

GLOBAL POSITIONING SYSTEM (GPS)

BASIC COMPONENTS OF MAP


 Elements
 Layers
 Scale and Representation
 Coordinate System
 Projection System
 Datum

WEEK 2
FUNDAMENTAL OF GOOGLE EARTH PRO
 Introduction
 Create My Places
 Save Place (KML/KMZ)
 Save Image (JPEG)
 Layers

INTRODUCTION TO ESRI AND ARCGIS


 ESRI
 GIS Architecture

INTRODUCTION TO ARC MAP


 Customize
 Adding Data (Layer)
 Shape File
 MDB
 GDB
 Image (Tif, Jpeg)
 Basic Tools
 Understanding Layers
 Check/Uncheck Zoom to Layer
 Attribute Table

93
 Field
 Edit Data
 Label Features
 Properties
 General
 Unit
 Data Frame
 Map Scale
 Coordinate System
 Layers Properties
 Data Source
 Symbology
 Fields
 Definition Query
 Select by Attribute
 Select by Location
 Labels
 Export Data (.shp)
 Map Scale
 Editor
 Map Template (Layout)
 Save Project File (.mxd)

WEEK 3
COORDINATE SYSTEM
 UTM
 WGS1984
 Grid System of Cadastral Survey of Nepal
 Everest_Adj_1937_Transverse_Mercator
 Calculation of x-y in Attribute Table
 Coordinate Transformation

GEO-REFERENCING RASTER
 Google Map
 Top Map
 Cadastral Map of Nepal (Grid Sheet)
 Cadastral Map of Nepal (Free Sheet)

DESIGN FILES AND DATABASE (USING ARCCATALOGUE)


 Shape (.shp) file
 File Geodatabase (.gdb)
 Personal Geodatabase (.mdb)

WEEK 4
Digitizing (Vector Data)
 Point Feature

94
 Line Feature
 Polygon Feature

Adding Data in Layer Feature of ArcMap)


 Google Map Data (KML)
 GPS Data (GPX)
 Total Station Data (CSV)
 Excel Sheet Data (XLS)

Data Conversion
 KML -Layer - KML
 CAD - Layer - CAD
 GPX – Layer

Editing Layer Features


 Design Map Layout
 Title, Body, Inset, Scale, North Arrow, Legends
 Page and Print Set Up

LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

95
Intermediate GIS: Level 2

Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 2 weeks

Course Summary
The DTC – GIS – Level 2 course is designed for students who have some prior hands-on programming
experience with the GIS programming language at a beginning level. This course is ideal for people who
have previously programmed in another programming language (e.g., Java, Obj-C, PHP, C, C++, etc.)
and wish to learn GIS. This course is designed for high school and university students who want to do
GIS coursework, including those who are already working as a professional VB.NET developer and want
to switch to GIS, as well as those who have worked in the media industry since graduation or are working
as a professional freelance PHP developer.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. ArcGIS Blueprints
2. Cartography and Geographic Information Science
3. Essentials of Geographic Information Systems

Prerequisites
 Basic knowledge about programming, bits/bytes, procedures, classes, computer architecture, etc.
If you just have a theoretical knowledge that is perfectly okay but you should have strong
convictions on what programming is, and what you hope to achieve from this class.
 Willing and eager to spend at least 10-20 hours (varying from student-to-student) per week
outside of the training class to read/write codes in GIS (self-study and practice).
 There is no prior educational level requirement for this course. Anyone from 10+2 student to
someone who is doing their PHD in Genetic Engineering is welcome to take this course.
 If you are only interested in theory and have no interest/patience in spending at least 10 hours
every week throughout the duration of the course, then this course might not be for you.
 If you have absolutely no idea about programming or do not see yourself doing programming in
the next six -odd months, then this class may not be for you!

96
Course Details
WEEK 1
Analysis
 Extract
 Overlay
 Proximity
 Statistics
Network Analysis
 Creating Network Data
 Finding Best Possible Routes
 Finding Closest Facility

Spatial Analyst
 Interpolation
 Extraction

Spatial Adjustment

WEEK 2
Image Classification
 Interactive Supervised
 Unsupervised

Data Management
 Topology

ArcHydro
 Watershed Analysis
 Create Contour Line
 Create DEM

3D Analysis/Data Management

LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

97
Advanced GIS: Level 3

Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 1 week

Course Summary
This course expands on the DTC – GIS – Level 2 foundation and offers advanced subjects to equip learners for a
career as a GIS software engineer.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. Mastering ArcGIS

Prerequisites
 Successfully completed the DWIT Training – GIS – Level 2 or obtained at least 40% score on the
entrance exam.
 The latter case applies for new students that are directly attempting this training.
 Successfully complete the interview.
 Willing and eager to spend at least 10-20 hours (varying from student-to-student) per week
outside of the training class to read/write codes in GIS (self-study and practice).
 Please note that this is a lab intensive course where the students will be expected to work on lab
exercises for approximately half the duration of the session.

Course Details
APPROACH TO WEB GIS

LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

98
Learning Outcomes
 Explore mapped data
 Relate GIS with remote sensing technologies
 Analyze spatial data, using GIS analysis tools
 Develop and manage geodatabases
 Apply Python as a GIS computer language
 Create maps, images and apps to communicate spatial data in a meaningful way to others

99
Introduction to Microsoft SQL Server
Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 4 weeks

Database Design and Implementation: Level 1


Course Summary
The DWC - Database Design and Implementation – Level 1 course is designed for beginners who want to
learn how to develop meaningful pieces of codes in Database design and implementation, as well as how
to read other people's Database design and implementation codes. The course is 40 hours long and includes
both lecture and lab work. Laboratory exercises are required, have a set date, and are graded. Because
software programming can only be learned effectively by explicitly putting the principles that have been
taught into practice, the course places a strong emphasis on lab exercises. Exercises that are submitted after
the deadline are penalized in terms of overall points. Instructors may supply students with pertinent
lecture/lab notes as (and when) needed, either in the form of printed handouts or by email. Students may be
required to take an optional exam at the end of the course to assess their knowledge of the material covered.
This exam, which may be practical or theoretical, is required for every student desiring to advance to the
next level. In order of significance, students are graded on their attendance, lab activities, and final test.

Prerequisites
 Fundamental understanding of programming, bits/bytes, procedures, classes, and computer
architecture. It's absolutely acceptable if you only have a theoretical understanding of
programming, but you should be certain about what programming is and what you intend to gain
from this session.
 Willing and enthusiastic to spend at least 10-20 hours each week outside of the training class
reading/writing database design and implementation codes (this could vary from student to
student).
 This course does not require any prior educational experience. This course is open to anyone from
a 10+2 student to someone pursuing a Ph.D. in Genetic Engineering.
 If you're simply interested in theory and don't have the time or patience to put in at least 10 hours
each week for the duration of the course, this might not be the course for you.
 If you have no prior experience with programming and do not anticipate doing so in the next six
months, this session may not be for you.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments

100
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. SQL QuickStart Guide: The Simplified Beginner's Guide to Managing, Analyzing, and
Manipulating Data With SQL
2. SQL All-in-One For Dummies

Course Details
WEEK 1
Relational Database Fundamentals

 Overview of Relational Database Concepts


 Relational Databases and Relational Database Management Systems
 Data Normalization

Conceptual Data Modeling

 Problems with File-based System


 Concept of Data Model
 3-Tier Architecture
 Data Mapping
 Data Model and its Types
 The Relational Data Model
 Data Modeling Using ERD
 Problems of Using ERDs and Solutions

EERD and Chen Notation

 Relational Database Model Terminologies and their Implementation


 Database Relations and their Characteristics
 Relational Keys and Integrity Constraints

WEEK 2
Relational Database Design

 Database Design Methodologies,


 Conceptual, Logical and Physical Database Designs,
 Mapping ERD into Relational Schema

Creating a Database

 Database Development Methodology Overview


 Building a Logical Data Model
 Identifying Entities and Attributes

101
 Isolating Keys
 Relationships between Entities
 Creating Entity-Relationship Diagrams
 Transforming to Physical Design
 Migrating Entities to Tables
 Selecting Primary Keys
 Defining Columns
 Enforcing Relationships with Foreign Keys
 Constructing the Database Using DDL
 Creating Tables, Indexes, Constraints and Views
 Dropping Tables, Indexes, Constraints and Views
 Modifying Tables, Indexes, Constraints and Views

WEEK 3
Writing Basic SQL Queries

 Displaying Table Structures


 Retrieving Column Data from a Table or View
 Selecting Unique Values
 Filtering Rows Using the WHERE Clause
 Sorting Results Using ORDER BY
 Joining Multiple Tables
 Using Column and Table Aliases
Manipulating Query Results

• Using Row Functions


• Character
• Numeric
• Date and Time
• Data Conversion
Using the case function
 Handling Null Values

WEEK 4
Labs
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

102
Database Design and Implementation: Level 2
Course Summary
The DWC - Database Design and Implementation – Level 2 course is designed for students who have
some prior hands-on programming experience with the Database Design and Implementation
programming language at a beginning level. The level 2 course is also for people who wish to learn
Database design and implementation but have prior programming expertise (e.g., Database design and
implementation, Obj-C, PHP, C, C++, etc.). This course was built with high school and university
students in mind who want to undertake coursework in Database Design and Implementation, as well as
professionals who are now working as VB.NET developers and want to transfer to ANDROID. This
course is also appropriate for those who have completed an undergraduate degree in Economics, have
worked in the media sector or as a professional freelance PHP developer, or are in their third semester of
Electrical/Electronic undergraduate studies.

Prerequisites
 Complete the entrance examination with a score of at least 40%. (For trainees directly applying to
this level).
 Complete the DWIT Training – Database Design and Implementation – Level 1 course with
passing marks (Not applicable to trainees directly applying to this level).
 Complete the interview successfully.
 Willing and eager to spend at least 10-20 hours each week reading/writing database design and
implementation codes outside of the training session (this may vary from student to student).

Required Text Books


1. SQL QuickStart Guide: The Simplified Beginner's Guide to Managing, Analyzing, and
Manipulating Data With SQL
2. SQL All-in-One For Dummies

Course Details
WEEK 1
Advanced Query Techniques

 Inner Joins
 Outer Joins (Left, Right, Full)
 Joining a Table to Itself
 Subqueries
 Tips for Developing Complex SQL Queries
 Using Aggregate Functions
 AVG
 COUNT
 SUM
 MIN
 MAX
 Aggregating Results Using GROUP BY
 Restricting Groups with the HAVING Clause

103
User-Defined Functions

 Definition and Benefits of Use


 Create Function
 Syntax
 Return Clause and the Returns Statement
 Scalar vs. Table Functions
 Comparison with Stored Procedures
 Returning Scalar Values and Tables
 Alter and Drop Function

Manipulating Table Data using SQL’s Data Manipulation Language (DML)

 Inserting Data into Tables


 Updating Existing Data
 Deleting Records
 Truncating Tables
 Implementing Data Integrity with Transactions
 Beginning Explicit Transactions
 Committing Transactions
 Rolling Back Transactions

WEEK 2
Stored Procedures

 Definition and Benefits of Use


 CREATE PROCEDURE
 Syntax
 Variables and Parameters
 Control of Program Flow
 Alter and Drop Procedure
 Implementation Differences

Working with Views

 Benefits of Using Views


 Creating Views
 Alter and Drop View

Triggers

 Definition and Benefits of Use


 Alternatives (e.g., Constraints)
 Create Trigger
 Syntax
 Trigger Types
 "Inserted" (or "NEW") and "Deleted" (or "OLD") Tables

104
 Event Handling and Trigger Execution
 Alter and Drop Trigger

WEEK 3
Data Warehousing

 Database Warehouse Architecture


 RAID
 Parallelism and Partitioning
 ETL
 Data Mining

Database Recovery and Security

 Logical and Physical Database Security


 SQL Injections
 Database Recovery Mechanism
 Deferred and Immediate Update

WEEK 4
Labs
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

Learning Outcomes
 Ability to understand the concept of Data Modeling
 Increased familiarity with SQL
 How to write basic SQL Queries
 How to manipulate data and working with views

105
Introduction to Statistical Analysis using R
Statistical Analysis using R: Level 1

Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 5 weeks

Course Summary
The R course at the Deerwalk Training Center offers a comprehensive set of software tools for data
processing, calculation, and graphical display. It consists of the following components: an efficient data
handling and storage facility, a set of operators for working with arrays, particularly matrices. This course
covers a well-developed, simple, and effective programming language with conditionals, loops, user-
defined recursive functions, and input and output facilities.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. R for Dummies
2. R by Example
3. The R Book

Prerequisites
 There are no specific prerequisites for learning R.
 If you want to utilize R for a variety of analytical tasks, you'll need to have a basic understanding
of statistics.
 However, to get started with R as a programming language, you don't need to know any of the
other programming languages.

Course Details
WEEK 1
R Analytics
 Introduction and preliminaries
 The R environment
 Related software and documentation

106
 R and statistics
 Using R interactively
 An introductory session
 Getting help with functions and features
 R commands, case sensitivity, etc.
 Executing commands from or diverting output to a file
 Data permanency and removing objects
Simple manipulations; numbers and vector
 Vectors and assignment
 Vector arithmetic
 Generating regular sequences
 Logical vectors
 Missing values
 Character vectors
 Index vectors; selecting and modifying subsets of a data set
 Other types of objects
Objects, modes and attributes
 Intrinsic attributes: mode and length
 Changing the length of an object
 Getting and setting attributes
 The class of an object

WEEK 2
Ordered and unordered factors
 A specific example
 The function tapply() and ragged arrays
 Ordered factors
Arrays and Matrices
 Arrays
 Array indexing. Subsections of an array
 Index matrices
 The array() function
 Mixed vector and array arithmetic. The recycling rule
 The outer product of two arrays

Generalized transpose of an array


 Matrix facilities

107
 Matrix
 Linear equations and inversion
 Forming partitioned matrices, cbind() and rbind5.9 The concatenation function, c(), with
arrays
 Frequency tables from factors
Lists and Data Frames
 Lists
 Constructing and modifying lists
 Concatenating lists

Week 3
DATA frames
 Making data frames
 attach() and detach()
 Working with data frames
 Attaching arbitrary lists
 Managing the search path
Reading data from files
 The read.table() function
 The scan() function
 Accessing built-in datasets
 Loading data from other R packages
Editing Data

WEEK 4
Grouping, Loops and Conditional Execution
 Grouped expressions
 Control statements
 Conditional execution: if statements
 Repetitive execution: for loops, repeat and while

Writing your own functions


 Simple examples
 Defining new binary operators
 Named arguments and defaults
 The ‘...’ argument

108
 Assignments within functions
 Scope
 Classes, generic functions and object orientation
Graphical procedures

WEEK 5
High-level plotting commands
 The plot() function
 Displaying multivariate data
 Display graphics
 Arguments to high-level plotting functions
 Low-level plotting commands
 Mathematical annotation
 Hershey vector fonts
 Interacting with graphics
 Using graphics parameters
 Permanent changes: The par() function
 Temporary changes: Arguments to graphics functions
Packages
 Standard packages
 Contributed packages and CRAN
 Namespaces
LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

109
Intermediate Statistical Analysis using R: Level 2

Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 3 weeks

Course Summary
The R course at the Deerwalk Training Center offers a comprehensive set of software tools for data
processing, calculation, and graphical display. It consists of the following components: an efficient data
handling and storage facility, a set of operators for working with arrays, particularly matrices. This course
covers a well-developed, simple, and effective programming language with conditionals, loops, user-
defined recursive functions, and input and output facilities.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. R by Example
2. The R Book

Prerequisites
 There are no specific prerequisites for learning R.
 If you want to utilize R for a variety of analytical tasks, you'll need to have a basic understanding
of statistics.
 However, to get started with R as a programming language, you don't need to know any of the
other programming languages.

Course Details
WEEK 1
DATA TRANSFORMATION USING DPLYR
 Summarize Cases
 Group Cases
 Manipulate Cases
 Extract Cases
 Arrange Cases
 Manipulate Variables

110
 Extract Variables
 Make New Variables
 Vectorized Functions
 Summary Functions
 Combine Variables
 Combine Cases
R Markdown
 Knitr
 .Rmd files
 Interactive Documents
 Parameters
 Pandoc’s Markdown
 YAML
 Re-using Template
 Table Suggestions

WEEK 2
BUILDING APPLICATION
 Part 1 - How to build a Shiny app
 Introduction
 R
 App architecture
 App template
 Inputs and outputs
 The server function
 Sharing apps
 Shinyapps.io
 Shiny servers
Part 2 - How to customize reactions
 Introduction
 Review of Part 1
 Reactivity
 Reactive values
 Reactive functions
 render*()
 reactive()
 isolate()
 observe Event()
 event Reactive()

111
 reactive Values()
 Parting tips

WEEK 3
PART 3 - HOW TO CUSTOMIZE APPEARANCE
 Introduction
 Review of Parts 1 and 2
 HTML UI
 Adding static content
 Building layouts
 Panels and tabsets
 Prepackaged layouts
 CSS
R AS A DATABASE MANAGEMENT SYSTEM (DBMS)
 Data Definition Language (DDL)
 Data Manipulation Language (DML)
 Writing Functions
 Cursor and Views
 Big Data in R
 Automation using R

LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

Learning Outcomes
 Import, examine, manipulate, and summarize data sets in R
 Explore data sets to develop testable hypotheses and find applicable statistical tests
 Use R to do relevant statistical tests Create and edit visualizations with R
 Learn the fundamentals of R programming, including constructions, control statements, and string
functions
 Identify the key terminologies, concepts, and techniques used in statistical analysis.
 Learn how to use R programming for text processing
 Able to understand and implement R programming from a statistical standpoint

112
Applied Data Analysis
SPSS Data Analysis

Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 3 weeks

Course Summary
The course is designed for both beginning and advanced researchers who wish to learn about SPSS Data Analysis
for the purpose of research. Any undergraduate and postgraduate level students/professionals from any background
who want to study the practical approach to data analysis is welcome to take the course. There is no prior
educational level need for this course; nonetheless, you should have strong convictions about what Data Analysis is
and what you intend to achieve from it.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
5. Has attended 90% of all classes held
6. Has received an average grade of 80% on all assignments
7. Has received an average of 60% in assessments
8. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. Discovering Statistics Using IBM SPSS Statistics
2. IBM SPSS Statistics 25 Step By Step: A Simple Guide And Reference
3. SPSS For Introductory And Intermediate Statistics: IBM SPSS For Intermediate Statistics

Course Details
WEEK 1
Introduction
 Data/Variable view
 Data entry models
Data management
 Select Cases
 Recode
 Compute
 Split File
 Sort Cases

113
 Replace Missing Values
 Merge Files (VRS)
Sampling concepts
 Questionnaire
 Multi-response
 Likert scale data (VRS)

WEEK 2
Basic Data Analysis
 Techniques
 Tables
Visualizing the Data
Mean and Proportion Test

WEEK 3
Data Analysis
 Categorical data analysis
 Likert scale
Relationships
 Regression
 Correlation
LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

Learning Outcomes
 Learn how to use SPSS to analyze a variety of statistical processes.
 Comprehend how to interpret the results of a variety of statistical tests.
 Learn how to write statistical analysis results in APA format.

114
Introduction to AutoCAD Course
AutoCAD for Beginners: Level 1

Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 1 week

Course Summary
Using AutoCAD software, students master the features and elements of computer-aided drafting. This
course places an emphasis on learning the fundamental drawing and editing commands needed to create
simple two-dimensional drawings. Topics include entering and using the drawing editor, setting up the
drawing environment, constructing entities, editing a drawing, display control and zooming, creating
dimensions, creating layers and assigning objects, drawing storage and retrieval, layer and line-type
options, detailing, blocks creation and exporting blocks. This course requires the students to have a basic
understanding of Windows and software.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. AutoCAD for Dummies book series
2. AutoCAD Essentials book series

Course Details
DAY 1
Introduction

 Introduction
 User Interface and Workspace
 Creating and saving drawings
 Drawing Units
 Pan and Zoom Tools
 Model space and Layout space

115
DAY 2
Creating Drawings
 LINE command
 RECTANGLE command
 CIRCLE command
 POLYLINE command

DAY 3
Modifying and Manipulating Drawings

 Making Selection
 MOVE and COPY commands
 ROTATE and SCALE commands
 OFFSET and MIRROR commands
 TRIM and EXTEND commands
 FILLET and CHAMFER commands
 RECTANGULAR and POLAR array

DAY 4
Dimensions and Text

 Creating Dimensions
 Creating dimension style
 Creating Single-line text and Multiline text
 Creating Text style

DAY 5
Layers and Blocks

 Creating Layers and assigning objects


 Using Layer properties manager
 Editing object properties
 Creating and editing blocks

DAY 6
Layout and Plotting

 Preparing Layout and adding title blocks


 Viewports and scale
 Plotting drawing

DAY 7
Revision and LAB Sessions

116
Learning Outcomes
 You will be familiar with the AutoCAD interface and able to use the command panel.
 Ability to design two-dimensional drawings.
 Ability to create Layers and Blocks and Prepare Layouts

117
Intermediate AutoCAD: Level 2

Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 5 days

Course Summary
This course is appropriate for students who have a basic AutoCAD drawing skill and want to advance
their careers, utilize AutoCAD in their current position, or are creative enthusiasts. Topics in this course
include Precision Drawing, Object Properties, and Labelling and Annotating Architectural Plan.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
9. Has attended 90% of all classes held
10. Has received an average grade of 80% on all assignments
11. Has received an average of 60% in assessments
12. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. Mastering AutoCAD book series
2. AutoCAD for Dummies book series
3. AutoCAD Essentials book series

Course Details
DAY 1
Setting options for customized workflow and user preferences Introduction
Precision Drawing in AutoCAD
 Polar and Ortho mode
 Dynamic Input
 Object Snap
 Object Snap Tracking
 Editing with Grips

DAY 2
Advanced Object Types
 Arcs
 Ellipses
 Polygons
 Construction Line

118
 Multiline
 Tables
 Multileader
 Hatches

DAY 3
Object Properties
 Modifying object properties
 Line types, Line scale and Line weights
 Match properties

DAY 4
Advanced Modify Commands
 STRETCH command
 BREAK command
 JOIN command
 ALIGN command
 LAYON, LAYOFF and LAYISO command

DAY 5
Creating a simple drawing
 Drawing a architectural plan of a house
 Creating Sections and Elevations
 Creating detail drawings
 Labelling and annotating architectural plan

Learning Outcomes
 Improved precision in drawing in AutoCAD
 Ability to use advanced commands
 Ability to modify object properties

119
Advanced AutoCAD: Level 3

Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 4 days

Course Summary
This course is designed to teach the students everything that is needed to know to become an expert in
AutoCAD. External References and Working with Other File Formats, Working with Dynamic Blocks,
Inserting and Editing Locks with Attributes, extracting data from drawings, and Batch Plotting will all be
covered in this course.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
5. Has attended 90% of all classes held
6. Has received an average grade of 80% on all assignments
7. Has received an average of 60% in assessments
8. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. Mastering AutoCAD book series
2. AutoCAD Essentials book series

Course Details
DAY 1
External References and Working with other file formats
 Importing and working with other DWG file
 Importing and working with raster image
 Importing and working with pdf files

DAY 2
Dynamic Blocks
 Working with Dynamic Blocks
 Creating Dynamic Block Definitions

DAY 3
Attributes
 Inserting Blocks with Attributes
 Editing Attribute Values

120
 Defining Attributes
 Redefining Blocks with Attributes
 Extracting Attributes

DAY 4
Extracting data from drawings
Batch Plotting

Learning Outcomes
 Advanced AutoCAD tools will be familiar to you, and you will be able to use them.
 Learn how to use AutoCAD's lighting and material effects.
 Ability to extract data from drawings

121
Introduction to Maya for Animation
Maya for Animation: Level 1

Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 6 weeks

Course Summary
The DTC - AutoDesk MAYA course is designed to provide a basic grasp of the concept and operation of Autodesk
Maya, and to enable new users to understand the user interface and operate Autodesk Maya freely, as well as to
understand the industry's production pipeline and workflows. Creating and manipulating 3D assets in the application
and creating appealing looks using Autodesk Maya's surfacing tools as well as learning how to influence the mood
of the scene with Autodesk Maya's lighting capabilities are among the subjects covered in the course. The training
course also covers how to use Maya's animation tools to bring 3D objects to life, how to move through AutoCAD
utilizing primary navigating tools, and how to understand the concept and approaches for drawing.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
9. Has attended 90% of all classes held
10. Has received an average grade of 80% on all assignments
11. Has received an average of 60% in assessments
12. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


6. Maya at a glance
7. Getting started in 3d with Maya
8. Simplifying Maya

Course Details
WEEK 1 & 2
MAYA INTRODUCTION
 Introduction to the 3d environment
 Understanding the 3d pipeline
 The Autodesk Maya User Interface

WEEK 3 & 4
3D MODELING
 Basics of 3d modeling tools
 Inorganic Modeling ( Modeling everyday items)
 Set modeling ( of students choosing )
 Organic Modeling ( Character Body, hand and head)

122
 3D Modeling question and answer session

WEEK 5 & 6
3D TEXTURING
 Introduction to materials and textures
 The Uv space and texture Projection
 Texturing inorganic objects
 Texturing Organic Models
 3D Texturing questions and answer session

LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

123
Maya for Animation: Level 2

Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 6 weeks

Course Summary
The DTC - AutoDesk MAYA course is designed to provide a basic grasp of the concept and operation of Autodesk
Maya, and to enable new users to understand the user interface and operate Autodesk Maya freely, as well as to
understand the industry's production pipeline and workflows. Creating and manipulating 3D assets in the application
and creating appealing looks using Autodesk Maya's surfacing tools as well as learning how to influence the mood
of the scene with Autodesk Maya's lighting capabilities are among the subjects covered in the course. The training
course also covers how to use Maya's animation tools to bring 3D objects to life, how to move through AutoCAD
utilizing primary navigating tools, and how to understand the concept and approaches for drawing.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the
second module.

Required Text Books


1. The art of Maya
2. Maya Professional Tips and Techniques

Course Details
WEEK 1 & 2
RIGGING
 Introduction to deformers in Maya
 Constraints and joints
 Skinning and Parenting
 IK and FK systems
 Rigging a Human body
 Rigging question and answer sessions

WEEK 3 & 4
ANIMATION
 Introduction to animation

124
 12 principles of animation
 Keying frames in maya
 Animating bouncing ball
 Animating a pendulum
 Animating a walk cycle
 Animating a scene with dialogue

WEEK 5 & 6
LIGHTINING AND RENDERING
 Introduction to lights
 Camera Uses and Rendering
LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

Learning Outcomes
 Learn the fundamentals of Autodesk Maya.
 Understand the texturing process and apply color to all modeled items.
 Understanding of the numerous steps involved in the creation of an animation from start to finish.
 Describe the purpose and importance of storyboards in the creation of animated films.
 Explain the steps involved in blocking and posing a character.
 Ability to use Maya software to visualize a design utilizing basic rendering and animation
techniques.

125
Introduction to Photography Training Course
Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 4 weeks

Course Summary
This DTC - photography course contains in-class photography projects and classroom demos to help you grasp how
to handle your digital camera properly, whether you're using a digital SLR or a mirrorless model. The Introduction
to Photography training course gives participants with a basic understanding of digital photography and camera
operation, as well as increased confidence in the use of advanced photography equipment. The course covers the
interrelationship between light, ISO, shutter speed, and aperture, metering light for correct exposure, and how
different focal length lenses affect the look of our images, as well as exploring major camera controls, functions,
components, and accessories and learning photographic essentials. As a practical session, this photography program
also includes a one-day hike.

Required Text Books


1. Complete Guide to Photography
2. Mastering Aperture, Shutter Speed, ISO & Exposure

Prerequisites
 Basic knowledge about Photography.
 Willing and eager to spend at least 10-20 hours per week outside of the training class in
PHOTOGRAPHY (self-study and practice).
 There is no prior educational level requirement for this course.

Course Details
WEEK 1
YOU AND YOUR EQUIPMENT
 Photography, communication and Culture
 Eye and Camera
 Lenses
 How to Use Your Camera

LET’S ENJOY (SELF-DISCOVERY): DO YOU ENJOY PHOTOGRAPHY? SHOOT ONLY


WHAT YOU ENJOYS SHOOTING.

 LANGUAGE OF IMAGE:
 Visual literacy
 Composition

LET’S ENJOY (BE ARTIST): LET'S COMPOSE AND WRITE WITH THE HELP OF
LIGHT.
 CAPTURING THE IMAGE:

126
 Access and Research
 Taking photo with heart, mind and camera
 Exposure

LET’S ENJOY (BE SOCIAL ARTIST): PHOTO PROJECT ON SUBJECT YOU LOVE AND
LIKE
 THE LIGHT:
 Developing Your Visual Signature
 Natural and Available Light
 Artificial Light—Continuous
 Artificial Light—Flash

WEEK 2
LET’S ENJOY (APPRECIATE THE NATURE): TEST THE DIFFERENT LIGHTS
 I like to take picture of …
 Nature
 Portraits and Selfies
 Landscape and Travel Photography
 And more….

PRACTICAL FIELD VISIT HOURS

LEARNING OUTCOMES
 You'll discover what the pros do and how you can accomplish it for less.
 You'll find step-by-step directions for creating stunning images and learn more than simply how
to use the button on your camera.
 Throughout the course, you will be guided by various examples to demonstrate the variety of
photographic alternatives available to you.
 You'll learn about camera lenses, exposure, and lighting in a way that explains things rather than
confusing you with technical jargon.
 You'll view photos that compare several ways to help you understand how different settings yield
different outcomes.

127
Introduction to Webpage & Multimedia
Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 6 weeks

Course Summary
This course is for individuals who wish to learn how to create a simple web page, as well as HTML
properties, HTML Layouts, CSS Syntax, how digital images work, Color Modes, Actions, and Scripts,
Overview of the Selection, Working with Adjustment Layers and Filters, Publishing, Editing Audio on
the Timeline, Creating Animated Effects with Key-frames and Exporting Your Movie . This course is
best suited for anyone with some basic knowledge of web site and page design, such as high school and
university students who wish to conduct coursework or someone who is already working in web design.
Exercises in the laboratory are mandatory, have a deadline, and are graded. The course lays a high
emphasis on lab exercises as software programming can only be learned successfully by precisely putting
the principles that have been taught into practice. Exercises submitted after the deadline will have a
penalty in terms of overall score. Instructors may provide relevant lecture/lab notes to students as (and
when) needed, either in the form of printed handouts or by email.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Textbooks
1. Developing Online Content: The Principles of Writing and Editing for the Web, Multimedia Web
2. Design and Development: Using Languages to Build Dynamic Web Pages
3. Multimedia systems design

Course Details
WEEK 1
HTML
 HTML Tags
 HTML Documents
HTML Attributes
 Attribute Examples
 HTML Attribute Reference

128
HTML Headings
 Importance of Headings
 HTML Lines
 HTML Comments
 HTML Paragraphs
 HTML Tags
 HTML Links
 HTML Style
HTML Images
 HTML Images the Alt Attribute
 HTML Image Tags
HTML Tables
 HTML Table and Border attributes
 HTML Table Header
HTML LISTS
 HTML Unordered Lists
 HTML Ordered Lists
 HTML Forms
 An ordered list
 An unordered list
HTML Forms - The Input Element
 Text Fields
 Password Field
 Radio Buttons
 Checkboxes
 Submit Button
HTML Frames
 The HTML frameset Element
 The HTML frame Element
 Basic Notes - Useful Tips
HTML iframe
 Iframe - Set Height and Width
 Iframe - Remove the Border
 Use iframe as a Target for a Link

129
WEEK 2
Website Layouts
 HTML Layouts - Using Tables
 HTML Layouts - Using Div. Elements
HTML Doctypes
 HTML Different Doctypes
 HTML 4.01 Strict
 HTML 4.01 Transitional
 HTML 4.01 Frameset
The HTML HEAD Element
 The HTML title Element
 The HTML base Element
 The HTML link Element
 The HTML style Element
CSS
 What is CSS?
 CSS Syntax
 CSS Comments
The ID and Class Selectors
 The id Selector
 The class selectors
Three Ways to Insert CSS
 External Style Sheet
 Internal Style Sheet
 Inline Styles
 Different List Item Makers

WEEK 3
Multimedia/Adobe Photoshop
 Understanding how Digital Images Work
 Overview of the Selection Tools
 Understanding Layers
 Understanding Color Modes
 Working with Type
 Adjustment Layers and Filters
 Action and Scripts

130
 Preparing to Publish

WEEK 4
Multimedia/Adobe Illustrator
 Getting to Know the Work Area
 Selecting and Aligning
 Creating and Editing Shapes
 Transforming Objects
 Drawing with the Pen Tool
 Color and painting
 Working with Type
 Working with Layers
 Working with Perspective Drawing
 Blending Colors and Shapes
 Working with Brushes
 Applying Effects
 Applying Appearance Attributes and Graphic Styles
 Working with symbols
 Your Creative Workspace
 Designing Type & Layout
 Reshaping Dimensions

WEEK 5
Sony Vegas Pro
 Starting a New Project
 Add and Organize Media
 Preparing and Editing Your Media
 Advanced Timeline Tools
 Editing Audio on the Timeline
 Adding and Adjusting Audio FX
 Adding Titles
 Create Animated Effects with Key frames
 Exporting Your Movie

WEEK 6
Adobe After Effect
 Welcome to After Effects
 Introducing animation
 Layer control
 Effects overview
 Working with transparency
 Type and type animation

131
 Parenting and nesting
 Introducing expressions
 Rendering
Labs
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

Learning Outcomes
 Using Integrated Development Environments (I.D.E.'s) such as Macromedia Dreamweaver and
the Adobe Air Interface, create a Web page.
 Using Flash MX, create animated web content and applications.
 Animating Lights and Cameras, Dynamics page, Video Effects in 3DS MAX, Polygon
Modelling, Mesh Modelling, Patch Modelling, Mesh Modelling, Patch Modelling, NURBS
Modelling
 Character Animation, Free Transform Animation, Motion Capture Files, Transition Creating,
Mesh Deformation with Skin and Physique Modifiers, Crowd Animation with System Delegate
Objects, Cogitative Controller
 Ability to work with analog and digital sound, sound recording, processing, and effects

132
Introduction to the Complete Web Developer Course
Dreamweaver

Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 1 and a half weeks

Course Summary
The DTC–Dreamweaver course is designed for people who have a basic understanding of Webpage,
HTML, and CSS, as well as how to establish site structure, use AP Element to generate interactive
images, and update published files. Anyone with basic experience of web page design and structure, as
well as high school and university students who want to perform some coursework, would benefit from
this course.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the
second module.

Required Text Books


1. Building Websites All-in-One For Dummies
2. Adobe Dreamweaver Creative Cloud Revealed
3. Dreamweaver CC: the missing manual

Prerequisites
 There is no prior educational level requirement for this course.
 If you are only interested in theory and have no interest/patience in spending at least 10 hours
every week throughout the duration of the course, then this course might not be for you.
 If you have absolutely no idea about programming or do not see yourself doing programming in
the next six -odd months, then this class may not be for you!

Course Details
WEEK 1
What is Dreamweaver?
 Using the Dreamweaver Workspace
 Working with the Document Window
 Setting Your Preferences

133
 Getting Help
 Understanding the Site Creation Process
 Creating the Site Structure
 Defining the Site
 Understanding HTML and CSS
Creating a New Document
 Defining Page Properties
 Creating a Layout
 Adding Text
 Importing a Word Document
 Including Existing HTML Documents
 Creating a Template
 Using a Template
Understanding Objects
 Exploring the Assets Panel
 Inserting Images
 Creating Rollover Images
 Previewing a Document
 Using AP Elements to Create Interactive Images
 Attaching Behaviors to AP Elements
 Using Library Items
Creating a Table
 Adding Elements to a Table
 Creating a Form
 Adding Form Controls
 Inserting Multimedia Objects
Understanding Links
 Creating a Text Link
 Creating an Image Link
 Creating an Image Map
 Inserting a Navigation Bar
 Adding a Jump Menu
 Working with the Site Map DTC

134
WEEK 2
Understanding Text Formatting Options
 Formatting Text
 Creating Lists
 Formatting Tables
 Creating Frames
 Using Frames
Introduction to CCS
 Creating and Applying CSS Styles
 Working with Style Sheets
 Modifying CSS Styles
 Using CSS Layouts
 Adding AP Elements 8. Generating Reports
 Checking Links
 Validating Tags
 Checking Target Browsers
 Publishing to a Remote Site
 Using Check In/Check Out
 Updating Published Files
 Synchronizing Files

LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

135
Java Script

Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 2 weeks

Course Summary
The Java Script course at the Deerwalk Training Center (DTC) is designed for novices who wish to learn
how to think about and produce meaningful Java Script code, as well as read Java Script code written by
others. The course also teaches how to translate a literary description of a problem (requirement) into a
Java Script application or library.
This is a foundational course for anyone with no prior programming expertise who wants to work as a
professional Java Script engineer in the future.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the
second module.

Required Text Books


1. JavaScript: The Definitive Guide, 5th edition
2. Introduction to Programming Using Java by David J. Eck
3. JAVA the complete reference by Herbert Schildt

Prerequisites
 Basic knowledge about programming, bits/bytes, procedures, classes, computer architecture, etc.
If you just have a theoretical knowledge that is perfectly okay but you should have strong
convictions on what programming is, and what you hope to achieve from this class.
 Willing and eager to spend at least 10-20 hours (varying from student-to-student) per week
outside of the training class to read/write codes in Java (self-study and practice).
 There is no prior educational level requirement for this course. Anyone from 10+2 student to
someone who is doing her PHD in Genetic Engineering is welcome to take this course.
 If you are only interested in theory and have no interest/patience in spending at least 10 hours
every week throughout the duration of the course, then this course might not be for you.
 If you have absolutely no idea about programming or do not see yourself doing programming in
the next six -odd months, then this class may not be for you!

136
Course Details
WEEK 1
UNDERSTANDING JAVASCRIPT
 Introduction
 History of JavaScript
 Tools for JavaScript Development
 Introduction to Web Console
 Adding JavaScript to HTML

WORKING WITH DATA


 Variable
 Data types
 Arithmetic operators and math
 Strings and Numbers
 Conditional statement and logic
 Arrays
 Properties and methods in Arrays
 Loops
 Looping through Arrays
 Break and continue loops

FUNTIONS AND OBJECTS


 Functions in JavaScript
 Argument and return values
 Variable scope
 lets and const
 Objects
 Object constructors
 Closures

WEEK 2
JAVASCRIPT DOM ELEMENTS
 DOM: Document Object Model
 Query Selectors
 Access and change elements, classes, and attributes
 Add DOM elements
 Apply CSS to elements
[Class Project: Create an Analog Clock]

JAVASCRIPT DOM EVENTS


 What are DOM events?
 Typical DOM events
 Trigger functions with event handlers
 Add and use event listeners
 Pass argument via event listeners
 [Class Project: Typing Speed Tester]
 [Class Project: Automated Responsive Images Markup]
137
JQuery

Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 1 and a half weeks

Course Summary
The JQuery course at the Deerwalk Training Center (DTC) is designed for novices who wish to learn how
to think about and produce meaningful JQuery code, as well as read JQuery codes written by others. The
course also teaches how to translate a literary description of a problem (requirement) into a JQuery
application or library.
This is a foundational course for anyone with no prior programming expertise who wants to work as a
professional Java Script engineer in the future.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the
second module.

Required Text Books


1. JavaScript and JQuery: Interactive Front-End Web Development
2. jQuery in Action
3. Learning jQuery

Prerequisites
 Basic knowledge about programming, bits/bytes, procedures, classes, computer architecture, etc.
If you just have a theoretical knowledge that is perfectly okay but you should have strong
convictions on what programming is, and what you hope to achieve from this class.
 Willing and eager to spend at least 10-20 hours (varying from student-to-student) per week
outside of the training class to read/write codes in JQuery (self-study and practice).
 There is no prior educational level requirement for this course. Anyone from 10+2 student to
someone who is doing her PHD in Genetic Engineering is welcome to take this course.
 If you are only interested in theory and have no interest/patience in spending at least 10 hours
every week throughout the duration of the course, then this course might not be for you.
 If you have absolutely no idea about programming or do not see yourself doing programming in
the next six -odd months, then this class may not be for you!

138
Course Details
WEEK 1
QUICK INTRODUCTION
 What is jQuery?
 Setting up the environment
 First jQuery enabled page
 Selectors and filters
 Creating and modifying page content
 Handling events
 Animation page content
WORKING WITH PAGE CONTENT
 Basic and advanced selectors
 Basic, attribute, and advanced filters
 Traversing documents with JQuery
 JQuery Statement Chaining
 [Class Project: Scripting challenge]
MANIPULATING PAGE CONTENT
 Creating page content
 Inserting, altering and manipulating page content
 Manipulating attributes
 Working with CSS
 Embedding custom data
 [Class Project: Scripting challenge]

WEEK 2
JQUERY EVENTS
 jQuery event handling features
 Binding and unbinding events
 Event helper features
 Using jQuery event object
 [Class Project: Scripting challenge]
ANIMATION AND EFFECTS
 Introduction to jQuery animations
 Hiding and showing elements
 Fading elements
 Sliding elements
 Custom animations
 [Class Project]

139
Ajax

Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 1 and a half weeks

Course Summary
The Ajax course at the Deerwalk Training Center (DTC) is designed for novices who wish to learn how to
think about and produce meaningful Ajax codes, as well as read Ajax codes written by others. The course
also teaches how to translate a literary description of a problem (requirement) into a Ajax application or
library.
This is a foundational course for anyone with no prior programming expertise who wants to work as a
professional Java Script engineer in the future.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the
second module.

Required Text Books


1. Ajax: The Complete Reference
2. ASP.NET AJAX Programmer's Reference

Prerequisites
 Basic knowledge about programming, bits/bytes, procedures, classes, computer architecture, etc.
If you just have a theoretical knowledge that is perfectly okay but you should have strong
convictions on what programming is, and what you hope to achieve from this class.
 Willing and eager to spend at least 10-20 hours (varying from student-to-student) per week
outside of the training class to read/write codes in Ajax (self-study and practice).
 There is no prior educational level requirement for this course. Anyone from 10+2 student to
someone who is doing her PHD in Genetic Engineering is welcome to take this course.
 If you are only interested in theory and have no interest/patience in spending at least 10 hours
every week throughout the duration of the course, then this course might not be for you.
 If you have absolutely no idea about programming or do not see yourself doing programming in
the next six -odd months, then this class may not be for you!

Course Details
WEEK 1
GETTING STARTED

140
 What is AJAX?
 Using a synchronous XHR request
 Making request asynchronous
 Scripting for backwards compatibility

MODIYING THE DOM


 Update the DOM with get Element By Id
 Modifying elements with get Elements By Tag Name
 Parsing XML using AJAX
 Reading JSON files
 Using event-driven AJAX

JQuery AJAX
 Understand jQuery AJAX methods
 Create and AJAX request in jQuery
 Work with the date returned from a jQuery AJAX request
 Reading data with jQuery

WEEK 2
AJAX IN ACTION
 Preparing a live search AJAX app
 Sending JSON data to the page
 Searching JSON data
 Styling an application
 Adding CSS3 animations

[Class Project: ZIP code lookup]

141
Vue.js

Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 1 and a half weeks

Course Summary
The Vue.js course at the Deerwalk Training Center (DTC) is designed for novices who wish to learn how
to think about and produce meaningful Vue.js codes, as well as read Vue.js codes written by others. The
course also teaches how to translate a literary description of a problem (requirement) into a Vue.js
application or library.
This is a foundational course for anyone with no prior programming expertise who wants to work as a
professional Ajax engineer in the future.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the
second module.

Required Text Books


1. Node.js complete reference
2. Node.js for .NET developers

Prerequisites
 Basic knowledge about programming, bits/bytes, procedures, classes, computer architecture, etc.
If you just have a theoretical knowledge that is perfectly okay but you should have strong
convictions on what programming is, and what you hope to achieve from this class.
 Willing and eager to spend at least 10-20 hours (varying from student-to-student) per week
outside of the training class to read/write codes in Ajax (self-study and practice).
 There is no prior educational level requirement for this course.
 If you are only interested in theory and have no interest/patience in spending at least 10 hours
every week throughout the duration of the course, then this course might not be for you.
 If you have absolutely no idea about programming or do not see yourself doing programming in
the next six -odd months, then this class may not be for you!

Course Details
WEEK 1
INTRODUCTION
 Get to know Vue

142
 Vue Benefits
 What you should know
THE SIMPLEST FORM
 Adding Vue to a web page
 Understand execution flow
 A Bootstrap detour
 Thinking declaratively with data binding
 Understanding two-way data binding
 Methods and event handling

ESSENTIAL DIRECTIVES, OPTIONS, AND TOOLS


 Rendering elements conditionally
 Loading data asynchronously
 Using the created lifecycle hook
 Using the Vue Devtools browser extension
 Rendering list with v-for
 Using additional v-for parameters
 Combining v-for with event handling
 Using computed properties

WEEK 2
ENHANCING USER INTERFACES
 Adding dynamic style attributes
 Adding dynamic class attributes
 Using CSS transitions
 Applying transitions to lists
 Using CSS animations

VUE COMPONENETS
 Using Vue components
 Registering and using components
 Adding component props
 Managing component content with slots
 Componentizing existing in-DOM templates
 Handling events in component
 Vue CLI
 installing Vue CLI
 Vue CLI project template
 Moving to single-file components
 Building for Protection

143
PHP/MYSQL

Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 4 weeks

Course Summary
Java course for beginners is targeted for beginners who want to learn how to think and write meaningful
piece of codes in PHP/MYSQL, understand how to read PHP/MYSQL codes that have been written by
somebody else and how to map literary description of a problem (requirement) to an application/library
coded in PHP/MYSQL. In summary, this course teaches how to program using PHP/MYSQL
programming language. This is a core basic level course that is essential for anyone who has no prior
programming experience but wishes to be a professional PHP/MYSQL engineer in future.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the
second module.

Required Text Books


1. PHP: A beginner’s guide
2. PHP & MySQL Web Development All-in-one Desk Reference for Dummies

Prerequisites
 Basic knowledge about programming, bits/bytes, procedures, classes, computer architecture, etc.
If you just have a theoretical knowledge that is perfectly okay but you should have strong
convictions on what programming is, and what you hope to achieve from this class.
 There is no prior educational level requirement for this course.
 If you are only interested in theory and have no interest/patience in spending at least 10 hours
every week throughout the duration of the course, then this course might not be for you.
 If you have absolutely no idea about programming or do not see yourself doing programming in
the next six -odd months, then this class may not be for you!

Course Details
WEEK 1
UNDERSTANDING THE PHP/ MYSQL BASICS
 How PHP works
 The PHP.ini file
 PHP tags

144
 PHP Statements and Whitespaces
 Comments
 PHP functions
VARIABLES
 Variable types
 Variables Names
 Constant
FLOW CONTROLS
 If statements
 For loop
 While loop
 Case statement

WEEK 2
REUSING CODE AND WRITING FUNCTIONS
 Including files and Writing functions
 Require
 Require once
 Include
 User functions
 Defining and calling functions
INTRODUCTION TO DATABASE
 Basic difference between database and file system
 Introduction of MySQL
 Connection mechanism using PHP and MYSQL
 Create table, select, insert, update and delete command
 Making form with JQuery validation and inserting in table
 Displaying all rows of table and disable in HTML table format.
 Edit records using HTML form.
 Delete records
 Single-Dimensional Arrays
 Multidimensional Arrays
 Casting Arrays
 Associative Arrays
 Accessing Arrays
 Getting the size of an array
 Looping through an array
 Looping through an associative array

145
 Examining array
 Joining arrays
 Sorting arrays
 Working EXAMPLES (Lab)

WEEK 3
FUNCTIONS
 What is a function
 Defining a function
 Returning value from function
 User-defined functions
 Variable scope
 Accessing variable with the global statement
 Function calls with the static statement
 Setting default values for arguments
 Passing arguments to a function by value
 Passing arguments to a function by reference
 Testing for function existence
 Working EXAMPLE (Lab)
WORKING WITH THE FILE SYSTEM
 Creating and deleting a file
 Reading and writing text files
 Working with directories in PHP
 Checking for existence of file
 Determining file size
 Opening a file for writing, reading, or appending
 Writing Data to the file
 Reading characters
 Working Example

WEEK 4
CLASSES AND OBJECTS
 Objects oriented programming
 Define a class
 An Object
 Creating an object
 Object properties
 Object methods
 Object constructors and destructors
 Class constants

146
 Class inheritance
 Abstract classes and methods
 Object serialization
 Checking for class and method existence
 Exceptions
 Iterators
 Summary
 Working EXAMPLE (Lab)
THE ANATOMY OF A COOKIE
 Setting a cookie with PHP
 Deleting a cookie
 Creating session cookie
 Working with the query string
 Creating query string
 Working EXAMPLES (Lab)
SESSION
 What is session
 Starting a session
 Working with session variables
 Destroying session
 Passing session Ids
 Encoding and decoding session variables
 Working EXAMPLE (Lab)

Learning Outcomes
 Create an HTML/CSS structure and put it into action
 Use web development techniques that are intermediate and advanced
 Implement the fundamentals of JavaScript
 Create visualizations that follow UI/UX principles
 Develop and deploy a fully functional website on a web server
 To achieve working results in a project, find and use code packages based on their documentation
 Create webpages that rely on external data to function
 By combining visual components and classes, you can create solutions to programming
challenges
 Determine mobile strategies and create designs for a variety of operating systems.
 Identifying multi-device implementation trends
 Implement a RESTful backend API for AJAX-based data storage and retrieval

147
Introduction to Laravel
Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 4 weeks

Course Summary
Laravel is a popular PHP framework, and this course will show students how to set it up, manage it, and
use it to create powerful and dynamic web applications.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. Laravel: Up & Running
2. Laravel 5 Essentials
3. The Laravel Survival Guide
4. Mastering Laravel

Course Details
WEEK 1
Installing and setting up Laravel
 Introduction to Laravel
 Concept of Composer
 Install and use composer
 Installing Laravel using composer
 Install & Use of open source distributed version control system GIT
 Concept and use of GitHub
 Configuring Laravel
 Project Structure
Routing
 Basic Routing
 Named Routing
 Grouped Routing
 Routing Parameter

148
 Handling invalid routes
 Route Filtering with middleware

WEEK 2
Controllers
 Introduction
 Basic Controller
 Restful Resource Controller
 Controller Routing
 Controller Middleware
Requests
 Handling request information
 Request Inputs
 Form Inputs
 Old Inputs
 Cookies and Files
Response
 Attach Headers and Cookies to response
 Response with View
 Response with JSON
 Response with file

WEEK 3
Database
 Introduction
 Migration
 Schema Building
 Migration Structure
 Running Migration
 Writing Migration
 Seeding
 Database Configuration
 Running Raw SQL queries
Model
 Eloquent ORM
 Defining Model
 Retrieving Model
 Insert and Update Model
 Eloquent Relationships

149
 One to One
 One to Many
 Many to Many
View
 Passing Data into View
 Sharing Datas to all view
 Blade Template Engine
 Introduction
 Template Inheritance 2
 Data Displaying
 Implement Control Structures

WEEK 4
Laravel Forms and HTML Components
 Introduction
 Basic Usage
 CSRF Protection
Laravel Services
 Authentication to the Application
 Configuring Auth Library
 Moving from laravel 5 to 6 & 7
 Artisan Console
 Laravel Helpers
 Exception Handling and Error Logging
 Pagination
 Validations
 Validation Approaches
 Validation rules with associating messages
 Mail
Projects we will be doing throughout the course (including jQuery components in application)
 Basic Laravel Website
 To-do List Application
 Business Listing
 Photo Gallery and many more.

Learning Outcomes
 Learn how to make and use controllers, as well as what they are.
 Increased understanding on how to use Laravel to create applications
 Laravel setup and installation

150
 Creating a mechanism for your application's authentication
 Composer packages: how to make and use them
 Using encryption and decryption to properly implement security and sessions Adding
third-party services to the application and integrating them.

151
SPSS Data Analysis
Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 3 weeks

Course Summary
The course is designed for both beginning and advanced researchers who wish to learn about SPSS Data Analysis
for the purpose of research. Any undergraduate and postgraduate level students/professionals from any background
who want to study the practical approach to data analysis is welcome to take the course. There is no prior
educational level need for this course; nonetheless, you should have strong convictions about what Data Analysis is
and what you intend to achieve from it.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. Discovering Statistics Using IBM SPSS Statistics
2. IBM SPSS Statistics 25 Step By Step: A Simple Guide And Reference
3. SPSS For Introductory And Intermediate Statistics: IBM SPSS For Intermediate Statistics

Course Details
WEEK 1
Introduction
 Data/Variable view
 Data entry models
Data management
 Select Cases
 Recode
 Compute
 Split File
 Sort Cases
 Replace Missing Values
 Merge Files (VRS)

152
Sampling concepts
 Questionnaire
 Multi-response
 Likert scale data (VRS)

WEEK 2
Basic Data Analysis
 Techniques
 Tables
Visualizing the Data
Mean and Proportion Test

WEEK 3
Data Analysis
 Categorical data analysis
 Likert scale
Relationships
 Regression
 Correlation
LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

153
Introduction to Dart & Flutter Mobile App Development
Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 4 weeks

Course Summary
Flutter is Google’s UI toolkit for building beautiful, natively compiled applications for mobile, web, and desktop
from a single codebase. The goal is to enable developers to deliver high performance apps that feel natural on
different platforms, embracing differences where they exist while sharing as much code as possible. It is Google’s
mobile app SDK, complete with a framework, widgets, and tools, that gives developers an easy way to build and
deploy visually attractive, fast mobile apps on both Android and iOS platforms. It enables a smooth and easy cross-
platform mobile app development

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. Beginning App Development with Flutter.
2. Beginning Flutter: A Hands-on Guide to App Development.

Prerequisites
 Basic knowledge about programming, bits/bytes, procedures, classes, computer architecture, etc.
If you just have a theoretical knowledge that is perfectly okay but you should have strong
convictions on what programming is, and what you hope to achieve from this class.
 There is no prior educational level requirement for this course. Anyone from 10+2 student to
someone who is doing their PHD in Genetic Engineering is welcome to take this course.
 If you are only interested in theory and have no interest/patience in spending at least 10 hours
every week throughout the duration of the course, then this course might not be for you.
 If you have absolutely no idea about programming or do not see yourself doing programming in
the next six -odd months, then this class may not be for you!

Course Details
WEEK 1
Introduction and Installation
 Introduction to Flutter
 Introduction to cross platform mobile application
 Project Structure

154
Basics of Dart Programming Language
 Hello World
 Variables and Datatypes
 Control flow statements
 Functions
 Comments
 Imports and Classes
 Async and Await
Exploring Flutter
 Flutter Hello World Application
 Understanding Material
 Project Structure
 Concept of pub

WEEK 2
Understanding Widgets
 Introduction to widgets
 Text
 Container
 Row
 Column
 Buttons
 Scaffold and many more
 Creating custom widget
List of Items
 Using List views
 Using List view builder
Navigation
 Using Navigator
 Using Routes
 Named Routes

WEEK 3
Basics of Stateful and Stateless widgets
 Introduction to stateless widgets
 Introduction to stateful widgets
 Understanding set state

155
Using plugins and packages
 Installing plugins on application
 Using plugins ( image picker, camera etc)

WEEK 4
Data persistence
 Shared Preferences
 Using database
HTTP request
 Getting data from the remote server
 Working with data and creating data models
Projects we will be doing throughout the course
 To-do App
 Cryto Currency Tracker
 Blog Application and many more

Learning Outcomes
 You'll begin by studying the principles of Flutter widgets while constructing a Hello World app
with Flutter.
 Building a contact profile page for an Android device's address book will teach you about
layouts.
 You'll learn how to style apps with Flutter themes.

156
Introduction to MERN Stack
Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 4 weeks

Course Summary
The MERN stack is becoming more and more popular. React has become the hottest new library, and
using it with Node and Express means a high level of harmony between the client and server. Throw
MongoDB on for data storage, and you have JavaScript from front to back. These applications are quick
to put together, and represent the modern state of web application development.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. Essentials of Full Stack Web Application Development using React, Node, Express & MongoDB
2. Essentials of Hands-On MERN Stack Web Development
3. Fundamentals and Essentials of MERN Stack Front to Back

Prerequisites
 Basic knowledge about programming, bits/bytes, procedures, classes, computer architecture, etc.
If you just have a theoretical knowledge that is perfectly okay but you should have strong
convictions on what programming is, and what you hope to achieve from this class.
 There is no prior educational level requirement for this course. Anyone from 10+2 student to
someone who is doing their PHD in Genetic Engineering is welcome to take this course.
 If you are only interested in theory and have no interest/patience in spending at least 10 hours
every week throughout the duration of the course, then this course might not be for you.
 If you have absolutely no idea about programming or do not see yourself doing programming in
the next six -odd months, then this class may not be for you!

Course Details
WEEK 1
Introduction
 React, Node and MongoDB overview and Features descriptions
 React, Node and MongoDB setup
 MERN Architecture

157
 JavaScript, CSS and HTML practices

WEEK 2
Project Setup and getting started REST API with Node and Express
 Node and Express setup
 JSON format overview and JSON Mapping
 Node REST API overview
 Node REST API designing
 MVC architecture in API
 Async JavaScript function in Node API
 Promise and await concepts
 Use of postman for API call

WEEK 3
MongoDB
 MongoDB overview
 MongoDB connection
 Setup mongoose
 Design schema
 Mongo Queries (Create and drop database, Insert, delete, update and read documents)
 CRUD Operations.

WEEK 4
Angular
 React Application setup and overview on react architecture
 Types of components
 Components (Child and parent components)
 React routing and Data binding
 Managing states and props
 Message passing between components
 API call from React
 Axios request
 Promise, async and await functions
 React redux integration

Learning Outcomes
 By the end of the session, students should be able to develop RESTFul Application using
Node, Express and MongoDB
 Increased knowledge on JSON Data format, Node API design with async JavaScript custom
functions
 Increased knowledge on MERN Architecture and able to design website layouts
 By the end of the session, students should be able to develop full stack MERN projects

158
Introduction to Power BI
Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 3 weeks

Course Summary
Through hands-on exercises, you'll move from zero to hero as you learn how to use this popular business
intelligence tool. Before digging into Power BI's drag-and-drop features, you'll learn how to confidently
load and transform data with Power Query, as well as the relevance of data models. You'll also discover
how to delve deeper into reports and create completely interactive reports. Finally, you'll improve your
skills by creating unique calculated columns and fields using DAX formulas (Data Analysis Expressions)
to better evaluate your data.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. The Definitive Guide to DAX: Business Intelligence for Microsoft Power BI, SQL Server
Analysis Services, and Excel Second Edition
2. Applied Microsoft Power BI (5th Edition): Bring your data to life!
3. Microsoft Power BI Dashboards Step by Step

Prerequisites
 Basic knowledge about programming, bits/bytes, procedures, classes, computer architecture, etc.
If you just have a theoretical knowledge that is perfectly okay but you should have strong
convictions on what programming is, and what you hope to achieve from this class.
 There is no prior educational level requirement for this course. Anyone from 10+2 student to
someone who is doing their PHD in Genetic Engineering is welcome to take this course.
 If you are only interested in theory and have no interest/patience in spending at least 10 hours
every week throughout the duration of the course, then this course might not be for you.
 If you have absolutely no idea about programming or do not see yourself doing programming in
the next six -odd months, then this class may not be for you!

159
Course Details
WEEK 1
Overview
 Get Power BI Desktop
 Getting started with Power BI Desktop
Connect to Data
 Data Sources in Power BI Desktop
 Connect to web data
 Import Excel Workbooks
 Analysis Services Tabular Data
Shape and Combine Data
 Query overview
 Shape and combine data
 Data categorization
 Relationship view
 Create and manage relationships in Power BI Desktop
 Common query tasks

WEEK 2
Data Fundamentals
 Data Type in Power BI Desktop
 Measures in Power BI Desktop
 Tutorial: Create your own measures
 Calculated columns
 Tutorial: Create calculated columns
 DAX Basics
 Calculated tables
Working with Reports
 Report View
 Sort by column
 Tips and tricks for creating reports
 Import and display KPIs (Preview)

WEEK 3
Creating Solutions
 Tutorial: Importing and analyzing data from a web page
 Tutorial: Analyzing sales data from Excel and an OData feed
 Tutorial: Facebook analytics

160
Sharing your Work
 Publish from Power BI Desktop
 Dashboards in Power BIShare a dashboard from Power BI

Learning Outcomes
 Make eye-catching data visualizations and share them with others
 Find and combine data from a variety of sources
 Calculations and other Power BI tools can be used to enrich data
 Investigate data collection, modeling, and security
 Examine the business logic and calculations in Data Analysis Expressions (DAX)
 Learn how to update source data and keep data and reports safe

161
Introduction to Excel VBA Advanced
Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 5 weeks

Course Summary
This course is for people who have a basic understanding of Excel VBA and an advanced understanding
of Microsoft Excel and want to improve their skills by incorporating more sophisticated automation into
their workflows. In order to successfully learn to create Excel VBA macros and functions, you will obtain
a grasp of the background knowledge (and more) that a programmer should have.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. Excel 2016 Power Programming with VBA
2. Excel 2013 Power Programming with VBA
3. Microsoft Excel 2019 VBA and Macros
4. Excel VBA Programming for Dummies

Prerequisites
 There is no prior educational level requirement for this course.
 If you are only interested in theory and have no interest/patience in spending at least 10 hours
every week throughout the duration of the course, then this course might not be for you.
 If you have absolutely no idea about programming or do not see yourself doing programming in
the next six -odd months, then this class may not be for you!

Course Details
WEEK 1
Recording Macros
 Recording and Running Macros
 Recording a Macro

162
 Running a Macro
 Adding a Macro/Procedure to the Quick Access Toolbar
 The Personal Macro Workbook
 Saving the Personal Macros
 Editing a Personal Macro
 Assigning Personal Macros to the Toolbar
Working with the Visual Basic Editor
 Introducing Visual Basic for Applications
 Editing Macros in Visual Basic Editor
 Understanding the Development Environment
 Protect/Lock Excel VBA Code
 Using Help
Developing with Procedures
 Understanding and Creating Modules
 Defining Procedures
 Naming Procedures
 Creating a Sub-Procedure

WEEK 2
Working Using the Code Editor Managing Program Execution
 Defining Control-Of-Flow structures
 Using Boolean Expressions
 Using the If End If Decision Structures
 Using the Select Case End Select Structure
 Using the Do Loop Structure
 Using The For Next Structure
 Using the For Each Next Structure
 Guidelines for Use Of Control-Of-Flow Structures

Debugging the Code


 Understanding Errors
 Using Debugging Tools
 Identifying the Value of Expressions
 Setting Breakpoints
 How to Step Through Code
 Working with Break Mode during Run Mode
 Using the Immediate Window

163
Understanding Objects
 Defining Objects
 Examining the Excel Object Hierarchy
 Defining Collections
 Referencing Objects in a Collection
 Using the Object Browser
 Working with Properties
 The With Statement
 Working With Methods
 Event Procedures

WEEK 3
Using Intrinsic Functions, Variables and Expressions
 Defining Expressions and Statements
 Expressions
 Statements
 How to Declare Variables
 Naming Variables
 Assigning Values to Variables
 Declaring Variables Explicitly
 Determining Data Types
 Programming with Variable Scope
 Harnessing Intrinsic Functions
 Defining Constants and Using Intrinsic Constants
 Using Intrinsic Constants
Creating User Defined Functions
 Creating a Function Procedure
 Calling a UDF
 Using a function within an Excel Workbook
Message Boxes and Input Boxes
 Adding Message Boxes
 Return Values
 Notes Error! Bookmark not defined
 Using Input Boxes
 How to Declare and Use Object Variables
Handling Errors
 Defining VBA’s Error Trapping Options
 Capturing Errors with the On Error Statement
 Determining the Err Object
 Coding an Error-Handling Routine
164
 Using Inline Error Handling

WEEK 4
Creating Forms and Controls
 Defining User Forms
 Utilizing the Toolbox
 Using User Form Properties, Events and Methods
 Properties
 Events
 Understanding Controls
 Naming Conventions
 Setting Control Properties in the Properties Window
 Using the Label Control
 Using the Text Box Control
 Using the Command Button Control
 Using the Combo Box Control
 Using the Frame Control
 Using Option Button Controls
Working with Ranges
 What is a Range?
 Range Property of the Application
 Cells Property
 The Special Cells Method
 Naming Ranges
 Working with Collections
Charts
 Creating charts from worksheet data
 Key Properties and methods of the chart object
 Creating Charts from Arrays
PivotTable Object
 Understanding PivotTables
 Creating A PivotTable
 Procedure
 Using the PivotTable Wizard Method
 Using Pivot Fields

WEEK 5
Working with Arrays
 What is an Array

165
 Array Sizes
 One Dimensional Arrays
 Arrays with Multiple Dimensions
 A word about index numbers
 Ubound and Lbound
 Saving arrays in names
Working with Procedures and Parameters
 Procedure Arguments
 Passing Arguments
 Optional Arguments
 Default Values
 Passing arguments by value and reference
Creating Add-Ins
 VBA Password Protection
 About Macro Security
 Macro security settings and their effects
 Change Macro Security Settings

Learning Outcomes
 Examine how human reasoning manifests itself in Excel's user interface, as well as some of
the ways those elements present themselves in Excel.
 Students will have a good understanding of the major components of VBA after completing
the course.
 By being able to use VBA to interface with other Office products, such as Word, delegates
will be able to reach a wider audience.
 Working with data from database systems such as Access, as well as modifying and
presenting the data, is also covered in the course.

166
Introduction to Tableau
Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 4 weeks

Course Summary
Tableau is a widely used business intelligence (BI) and analytics software that is used by firms such as
Amazon, Experian, and Unilever to explore, analyze, and securely share data via Workbooks and
Dashboards. Everyone can use it because of its user-friendly drag-and-drop feature to swiftly clean,
analyze, and visualize your team's data. You'll learn how to use Tableau's interface, as well as how to link
and show data using simple visualizations. You'll have the skills you need to comfortably explore Tableau
and create effective data dashboards at the end of this session.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. Visual Analytics with Tableau
2. Practical Tableau: 100 Tips, Tutorials, and Strategies from a Tableau Zen Master
3. Tableau for Dummies

Prerequisites
 There is no prior educational level requirement for this course.
 If you are only interested in theory and have no interest/patience in spending at least 10 hours
every week throughout the duration of the course, then this course might not be for you.
 If you have absolutely no idea about programming or do not see yourself doing programming in
the next six -odd months, then this class may not be for you!

Course Details
WEEK 1
Getting Started
 The Tableau Interface
 Distributing and Publishing
Tableau Preparation
 Getting Started with Tableau Prep Builder
167
 The Tableau Prep Builder Interface
 The Input Step
 The Cleaning Step
 Group and Replace
 The Profile Pane
 The Pivot Step
 The Aggregate Step
 The Join Step
 The Union Step
 The Output Step
 Tableau Prep Conductor
Connecting to Data
 Getting Started with Data
 Managing Metadata
 Managing Extracts
 Saving and Publishing Data Sources
 Data Prep with Text and Excel Files
 Join Types with Union
 Cross-database Joins
 Data Blending
 Additional Data Blending Topics
 Connecting to PDFs
 Connecting to Cubes
Visual Analytics
 Getting Started with Visual Analytics
 Drill Down and Hierarchies
 Sorting
 Grouping
 Additional Ways to Group
 Creating Sets
 Working with Sets
 Set Actions
 Ways to Filter
 Using the Filter Shelf
 Interactive Filters
 Where Tableau Filters
 Additional Filtering Topics
 Parameters
 Parameter Actions
 Formatting

168
 The Formatting Pane
 Basic Tooltips
 Viz in Tooltip
 Trend Lines
 Reference Lines
 Forecasting
 Clustering
 Analysis with Cubes and MDX

WEEK 2
Dashboards and Stories
 Getting Started with Dashboards and Stories
 Building a Dashboard
 Dashboard Objects
 Dashboard Formatting
 Dashboard Interactivity Using Actions
 Dashboard Extensions
 Device Designer
 Story Points
Mapping
 Getting Started with Mapping
 Maps in Tableau
 Editing Unrecognized Locations
 Spatial Files
 The Density Mark Type (Heat maps)
 Expanding Tableau’s Mapping Capabilities
 Custom Geocoding
 Polygon Maps
 Map box Integration
 WMS: Web Mapping Services
 Background Images
Calculations
 Getting Started with Calculations
 Calculation Syntax
 Intro to Table Calculations
 Modifying Table Calculations
 Introduction to LOD Expressions
 Aggregate Calculations
 Date Calculations
 Logic Calculations

169
 String Calculations
 Number Calculations
 Type Calculations
 Conceptual Topics with LOD Expressions
 Aggregation and Replication with LOD Expressions
 Nested LOD Expressions
 How to Integrate R and Tableau
 Using R within Tableau

WEEK 3
Why is Tableau Doing That?
 Understanding Pill Types
 Measure Names and Measure Values
 Aggregation, Granularity, and Ratio Calculations
 When to Blend and When to Join
 Filtering for Top Across Panes
How To
 Using a Parameter to Change Fields
 Finding the Second Purchase Date with LOD Expressions
 Cleaning Data by Bulk Re-aliasing
 Bollinger Bands
 Bump Charts
 Control Charts
 Funnel Charts
 Step and Jump Lines
 Pareto Charts
 Waterfall Charts
Publish to Tableau Online
 Publishing to Tableau Online
 Device Designer
 Introduction to the Tableau JavaScript API
 Publish to Tableau Server
 Publishing to Tableau Server
 Device Designer
 Introduction to the Tableau JavaScript API

Learning Outcomes
 Connecting to a variety of data sources and cleaning up the information
 Combining several datasets
 Data visualization takes the form of charts, graphs, maps, plots, and so on
 Tips and tricks for using statistics to tell a clear and effective tale

170
 Drilldowns, sorting, grouping, and set and cluster creations are all examples of visual analytics
 Data filtering, parameters, tooltips, annotations, and reference lines are all available.
 Developing or changing your career path in the field of data science and analytics
 Make a dashboard out of your report
 Calculations such as aggregate calculations, date, logical, string, number, and other sorts of
calculations can be written in a very complicated and powerful way

171
Introduction to QA
Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 4 weeks

Course Summary
The course is structured to assist students in learning key topics in Software Quality Assurance, such as
software testing objectives, processes, criteria, strategies, and methodologies. The course also covers
subjects like how to create test cases and test data, how to execute testing operations, how to manage
software problems and defects, software test automation using real-world examples, and how to perform
software security and performance testing.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. Software Testing and Quality Assurance: Theory and Practice
2. Testing Computer Software

Prerequisites
 Fundamental understanding of programming, bits/bytes, procedures, classes, and computer
architecture. It's absolutely acceptable if you only have a theoretical understanding of
programming, but you should be certain about what programming is and what you intend to gain
from this session.
 If you are only interested in theory and have no interest/patience in spending at least 10 hours
every week throughout the duration of the course, then this course might not be for you.
 If you have absolutely no idea about programming or do not see yourself doing programming in
the next six -odd months, then this class may not be for you!

Course Details
WEEK 1
Introduction to QA
 Importance of QA, QA as a career
 Difference between Project and Product
 Difference between Quality Assurance and Quality Control
172
 Manual and Automation testing
 Roles and Responsibilities of Business Analyst, Developers, Architects, Project
 Managers, QA.
 Test Team(QA Manager, QA Lead, QA Engineer, Release Engineer)
Software Development Life Cycles (SDLC)
 Software Development Life Cycle Stages
 Agile Methodologies
 Software Testing Life Cycles
 Types of Testing
 Test Platforms (Development, QC, UAT, Production)
 Defects (Identification, Logging, Life Cycle, Priority)
 Defect Life Cycle

WEEK 2
Quality Assurance phases
 Feature Requirement Analysis
 Test Plan
 Test Scenario
 Test Cases
 Test Data
 Test Script
 Decision Table
 Test Result
 QA Process Cycle
Python Programming Basics
 Comment in python
 Main Function
 Function Definition and Function Call
 If-else, for loop
 Indent
 Assert
 Try-except in python
Automation Testing – Basics
 Introduction to Automation Testing
 What is Automation testing
 Benefits of Automation Testing
 Introduction to Selenium
 Xpath and its types and examples
 Web driver and its action

173
WEEK 3
Automation Testing – Advanced
 Introduction to Automation Framework
 Accessing Multi URL via Automation
 Read input parameters from Excel
 Importing Data from Web(Web Scraping)
 Write Web data to Excel.
 Read keyword and XPATH from Excel file
 Write Automation Test Result to Excel file
Test Script, Database and SQL - Basics
 Importance of SQL in Quality Assurance
 Introduction to the database.
 Database Verification and Validation
 MySQL Database, Comparison with Popular Databases – Oracle, MS SQL Server, IBM,
DB2
 Structured Query Language (SQL)
 Data Definition Language (DDL)
 Data Manipulation Language (DML)
 Introduction to Tables, Rows, Columns
 What are a Foreign Key, Primary Key and Unique Key
 What are DDL and DML, (DML) Select, Update, Delete and Insert Into statements
 (DDL) Create, Alter, Drop statements

WEEK 4
Performance Test - Basics
 Performance testing and its importance in QA
 Types of Performance Testing
 API Testing with GET, POST, Delete, and PUT methods
 Common Performance Problems
 Performance Testing Process
 Example Performance Test Cases
 Performance Test Using JMeter
 Performance Test report generation
Security Test- Basics
 Security testing and its importance in QA
 Types of Security Testing
 Authentication and Authorization
 Example Test Scenarios for Security Testing
 Methodologies/ Approach / Techniques for Security Testing
 SQL Injection and XSS (cross-site scripting)

174
LAB Work
 Test scenario preparation
 Test case preparation
 Test Data Preparation
 Decision Table Preparation
 BDD Examples Practice
 Test Script Preparation (SQL)
 Browsing web via Automation
 Data validation via Automation
 Web scraping using selenium
 Accessing multiple URL using selenium
 Create keyword driven Automation framework
 Create Automation test result in Excel
 Performance test using JMeter

Learning Outcomes
 Learn how to create and implement a software quality assurance plan for all software initiatives
 How to form a software quality assurance team and manage it
 How to monitor and maintain quality, create and maintain relevant metrics
 Learn how to implement a software quality assurance program in an agile context including
iterative and incremental development

175
Introduction to C Programming
Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 3 weeks

Course Summary
C Programming is an object-oriented programming language. This course will provide an overview of
how Objective-C works and how it differs from other programming languages if you have previously
programmed. All materials, code, and assignments relevant to the module should be committed to the
module's SVN repository. The tutor will assign the students particular activities to help them understand
specific ideas throughout a three-week lesson that will last three hours each week. Each class will consist
of approximately 20% theory and 80% practice. The tutor will post all the required material for the class
at least a week prior in the SVN repository and it will include the topics that will be covered in the class,
practice exercise details and assignment details. There will be two examinations to determine the student's
progress throughout the course.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. C Programming Absolute Beginner's Guide
2. C: The Complete Reference
3. C Programming in easy steps, 5th Edition
4. Head First C: A Brain-Friendly Guide

Course Details
WEEK 1
Platform Setup & C-Revision
 Review of C Programing
 Variables and data types
 Operators
 Epilogue
 Blocks and Compound Statements
 Control Flow

176
 Conditional Statements
 Loops
 Functions
 Modular Programming
 Variable Scope
 Static Variables
 Register Variables

WEEK 2
Pointer & Array
 Pointers and Memory Addresses
 Physical and Virtual Memory
 Addressing and Indirection Functions with Multiple Outputs
 Arrays and Pointer Arithmetic
 Strings
 String Utility Functions
 Searching and Sorting Algorithms
 Linear Search
 A Simple Sort Faster
 Sorting Binary Search
 Pointers
 Void Pointers
 Function Pointers
WEEK 3
User defined Datatype
 Structures
 Unions
 Bit field
Data structure
 Memory allocation
 Linked lists
 Binary trees
Standard Library
 <stdio.h>
 <ctype.h>
 <stdlib.h>
 <time.h>
Introduction to Graphics
 Modes

177
 Initialization
 Graphics Function
Final Project on C Programing

Learning Outcomes
 Create algorithms to solve simple programming problems.
 Describe and employ strategies that are useful in debugging.
 Mobile and Web App Mockup & Prototype in Figma
 Responsive Web Design using HTML, CSS and JS
 Reusing Design Elements

178
Introduction to C++ Programming
Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 4 weeks

Course Summary
This is a self-paced course that will teach you how to use the C++ programming language. The building of
command-line programs that use various data kinds, expressions, decision branching, and iteration to solve
issues are some of the subjects that will be discussed. The information on C++ programming is provided in
four weeks of interactive lectures with weekly quizzes to check your understanding. By the end of the
session, students will get hands-on experience writing C++ programs.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. C++ Primer 5th Edition
2. C++ in One Hour a Day, Sams Teach Yourself 8th Edition
3. C++ All-in-One For Dummies 3rd Edition

Course Details
WEEK 1
Introduction

 C++ Overview
 C++ Basic Syntax
 C++ Comments
 C++ Data Type
 C++ Variable Type
 C++ Variable Scope
 C++ Storage class
 C++ Operator
 C++ Loop Type

WEEK 2
Fundamentals

179
 C++ Decision Making
 C++ Function
 C++ Numbers
 C++ Array
 C++ String
 C++ Pointer
 C++ References
 C++ Date & Time
 C++ Basic Input/Output
 C++ Data Structures

WEEK 3
Object Oriented

 C++ Object Oriented


 C++ Inheritance
 C++ Overloading
 C++ Polymorphism
 C++ Abstraction
 C++ Encapsulation
 C++ Interface

WEEK 4
Advanced

 C++ Files and Streams


 C++ Exception
 C++ Dynamic Memory
 C++ Namespaces
 C++ Templets
 C++ Web programming
 C++ Multithreading

Learning Outcomes

 Ability to understand everything from the fundamentals to object-oriented design.


 Enable you to develop everything from simple programs to automate repetitive chores to
larger applications, allowing you to handle more specialist topics like Data Science and
Artificial Intelligence with python.

180
Introduction to Laravel
Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 4 weeks

Course Summary
Laravel is a popular PHP framework, and this course will show students how to set it up, manage it, and
use it to create powerful and dynamic web applications.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
13. Has attended 90% of all classes held
14. Has received an average grade of 80% on all assignments
15. Has received an average of 60% in assessments
16. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


5. Laravel: Up & Running
6. Laravel 5 Essentials
7. The Laravel Survival Guide
8. Mastering Laravel

Course Details
WEEK 1
Installing and setting up Laravel
 Introduction to Laravel
 Concept of Composer
 Install and use composer
 Installing Laravel using composer
 Install & Use of open source distributed version control system GIT
 Concept and use of GitHub
 Configuring Laravel
 Project Structure
Routing
 Basic Routing
 Named Routing
 Grouped Routing
 Routing Parameter

181
 Handling invalid routes
 Route Filtering with middleware

WEEK 2
Controllers
 Introduction
 Basic Controller
 Restful Resource Controller
 Controller Routing
 Controller Middleware
Requests
 Handling request information
 Request Inputs
 Form Inputs
 Old Inputs
 Cookies
 Files
Response
 Attach Headers and Cookies to response
 Response with View
 Response with JSON
 Response with file

WEEK 3
Database
 Introduction
 Migration
 Schema Building
 Migration Structure
 Running Migration
 Writing Migration
 Seeding
 Database Configuration
 Running Raw SQL queries
Model
 Eloquent ORM
 Defining Model
 Retrieving Model
 Insert and Update Model

182
 Eloquent Relationships
 One to One
 One to Many
 Many to Many
View
 Passing Data into View
 Sharing Datas to all view
 Blade Template Engine
 Introduction
 Template Inheritance 2
 Data Displaying
 Implement Control Structures

WEEK 4
Laravel Forms and HTML Components
 Introduction
 Basic Usage
 CSRF Protection
Laravel Services
 Authentication to the Application
 Configuring Auth Library
 Moving from laravel 5 to 6 & 7
 Artisan Console
 Laravel Helpers
 Exception Handling and Error Logging
 Pagination
 Validations
 Validation Approaches
 Validation rules with associating messages
 Mail
Projects we will be doing throughout the course (including jQuery components in application)
 Basic Laravel Website
 To-do List Application
 Business Listing
 Photo Gallery and many more.

Learning Outcomes
 Learn how to make and use controllers, as well as what they are.
 Increased understanding on how to use Laravel to create applications

183
 Laravel setup and installation
 Creating a mechanism for your application's authentication
 Composer packages: how to make and use them
 Using encryption and decryption to properly implement security and sessions Adding
third-party services to the application and integrating them.

184
Introduction to Microsoft SQL Server
Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 4 weeks

Database Design and Implementation: Level 1


Course Summary
The DWC - Database Design and Implementation – Level 1 course is designed for beginners who want to
learn how to develop meaningful pieces of codes in Database design and implementation, as well as how
to read other people's Database design and implementation codes. The course is 40 hours long and includes
both lecture and lab work. Laboratory exercises are required, have a set date, and are graded. Because
software programming can only be learned effectively by explicitly putting the principles that have been
taught into practice, the course places a strong emphasis on lab exercises. Exercises that are submitted after
the deadline are penalized in terms of overall points. Instructors may supply students with pertinent
lecture/lab notes as (and when) needed, either in the form of printed handouts or by email. Students may be
required to take an optional exam at the end of the course to assess their knowledge of the material covered.
This exam, which may be practical or theoretical, is required for every student desiring to advance to the
next level. In order of significance, students are graded on their attendance, lab activities, and final test.

Prerequisites
 Fundamental understanding of programming, bits/bytes, procedures, classes, and computer
architecture. It's absolutely acceptable if you only have a theoretical understanding of
programming, but you should be certain about what programming is and what you intend to gain
from this session.
 Willing and enthusiastic to spend at least 10-20 hours each week outside of the training class
reading/writing database design and implementation codes (this could vary from student to
student).
 This course does not require any prior educational experience. This course is open to anyone from
a 10+2 student to someone pursuing a Ph.D. in Genetic Engineering.
 If you're simply interested in theory and don't have the time or patience to put in at least 10 hours
each week for the duration of the course, this might not be the course for you.
 If you have no prior experience with programming and do not anticipate doing so in the next six
months, this session may not be for you.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments

185
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


3. SQL QuickStart Guide: The Simplified Beginner's Guide to Managing, Analyzing, and
Manipulating Data With SQL
4. SQL All-in-One For Dummies

Course Details
WEEK 1
Relational Database Fundamentals

 Overview of Relational Database Concepts


 Relational Databases and Relational Database Management Systems
 Data Normalization

Conceptual Data Modeling

 Problems with File-based System


 Concept of Data Model
 3-Tier Architecture
 Data Mapping
 Data Model and its Types
 The Relational Data Model
 Data Modeling Using ERD
 Problems of Using ERDs and Solutions

EERD and Chen Notation

 Relational Database Model Terminologies and their Implementation


 Database Relations and their Characteristics
 Relational Keys and Integrity Constraints

WEEK 2
Relational Database Design

 Database Design Methodologies,


 Conceptual, Logical and Physical Database Designs,
 Mapping ERD into Relational Schema

Creating a Database

 Database Development Methodology Overview


 Building a Logical Data Model

186
 Identifying Entities and Attributes
 Isolating Keys
 Relationships between Entities
 Creating Entity-Relationship Diagrams
 Transforming to Physical Design
 Migrating Entities to Tables
 Selecting Primary Keys
 Defining Columns
 Enforcing Relationships with Foreign Keys
 Constructing the Database Using DDL
 Creating Tables, Indexes, Constraints and Views
 Dropping Tables, Indexes, Constraints and Views
 Modifying Tables, Indexes, Constraints and Views

WEEK 3
Writing Basic SQL Queries

 Displaying Table Structures


 Retrieving Column Data from a Table or View
 Selecting Unique Values
 Filtering Rows Using the WHERE Clause
 Sorting Results Using ORDER BY
 Joining Multiple Tables
 Using Column and Table Aliases
Manipulating Query Results

• Using Row Functions


• Character
• Numeric
• Date and Time
• Data Conversion
Using the case function
 Handling Null Values

WEEK 4
Labs
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

187
Database Design and Implementation: Level 2
Course Summary
The DWC - Database Design and Implementation – Level 2 course is designed for students who have
some prior hands-on programming experience with the Database Design and Implementation
programming language at a beginning level. The level 2 course is also for people who wish to learn
Database design and implementation but have prior programming expertise (e.g., Database design and
implementation, Obj-C, PHP, C, C++, etc.). This course was built with high school and university
students in mind who want to undertake coursework in Database Design and Implementation, as well as
professionals who are now working as VB.NET developers and want to transfer to ANDROID. This
course is also appropriate for those who have completed an undergraduate degree in Economics, have
worked in the media sector or as a professional freelance PHP developer, or are in their third semester of
Electrical/Electronic undergraduate studies.

Prerequisites
 Complete the entrance examination with a score of at least 40%. (For trainees directly applying to
this level).
 Complete the DWIT Training – Database Design and Implementation – Level 1 course with
passing marks (Not applicable to trainees directly applying to this level).
 Complete the interview successfully.
 Willing and eager to spend at least 10-20 hours each week reading/writing database design and
implementation codes outside of the training session (this may vary from student to student).

Required Text Books


1. SQL QuickStart Guide: The Simplified Beginner's Guide to Managing, Analyzing, and
Manipulating Data With SQL
2. SQL All-in-One For Dummies

Course Details
WEEK 1
Advanced Query Techniques

 Inner Joins
 Outer Joins (Left, Right, Full)
 Joining a Table to Itself
 Subqueries
 Tips for Developing Complex SQL Queries
 Using Aggregate Functions
 AVG
 COUNT
 SUM
 MIN
 MAX
 Aggregating Results Using GROUP BY
 Restricting Groups with the HAVING Clause

188
User-Defined Functions

 Definition and Benefits of Use


 Create Function
 Syntax
 Return Clause and the Returns Statement
 Scalar vs. Table Functions
 Comparison with Stored Procedures
 Returning Scalar Values and Tables
 Alter and Drop Function

Manipulating Table Data using SQL’s Data Manipulation Language (DML)

 Inserting Data into Tables


 Updating Existing Data
 Deleting Records
 Truncating Tables
 Implementing Data Integrity with Transactions
 Beginning Explicit Transactions
 Committing Transactions
 Rolling Back Transactions

WEEK 2
Stored Procedures

 Definition and Benefits of Use


 CREATE PROCEDURE
 Syntax
 Variables and Parameters
 Control of Program Flow
 Alter and Drop Procedure
 Implementation Differences

Working with Views

 Benefits of Using Views


 Creating Views
 Alter and Drop View

Triggers

 Definition and Benefits of Use


 Alternatives (e.g., Constraints)
 Create Trigger
 Syntax
 Trigger Types
 "Inserted" (or "NEW") and "Deleted" (or "OLD") Tables

189
 Event Handling and Trigger Execution
 Alter and Drop Trigger

WEEK 3
Data Warehousing

 Database Warehouse Architecture


 RAID
 Parallelism and Partitioning
 ETL
 Data Mining

Database Recovery and Security

 Logical and Physical Database Security


 SQL Injections
 Database Recovery Mechanism
 Deferred and Immediate Update

WEEK 4
Labs
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

Learning Outcomes
 Ability to understand the concept of Data Modeling
 Increased familiarity with SQL
 How to write basic SQL Queries
 How to manipulate data and working with views

190
Introduction to UI Design & Front-End Development
Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 3 weeks

Course Summary
This course is for anyone who would like to learn how to build a website, as well as how to construct
mockups and prototypes for mobile apps and websites. This course has been created with high school and
university students in mind who wish to undertake coursework, along with anyone with a basic
understanding of online sites and pages. By the end of the session, students will have an understanding on
how to build a website employing HTML, CSS and JavaScript.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. Front-End Web Development: The Big Nerd Ranch Guide
2. JavaScript: The Good Parts
3. HTML & CSS
4. JavaScript: The Definitive Guide

Course Details
WEEK 1
Understanding & Applying Design Fundamentals
 What is UI Design?
 UI vs UX Design
 UI Design vs Front End Developer
 Designing and Prototyping UI’s
 Design Fundamentals
 Color & Contrast
 White Space
 Visual Hierarchy
 Complexity vs Simplicity
 Consistency
 Scale

191
Figma
 Introduction
 Learning Figma Interface
 Setting up a new project
 Adding and Editing Content
 Completing the Design
 Exporting, Sharing, and Prototyping
 Working with clients
Front End Development
 What is Front End Development?
 Code Editors

WEEK 2
HTML
 Introduction
 HTML Elements
 HTML Attributes
 HTML Headings
 HTML Paragraphs
 HTML Styles
 HTML Formatting
 HTML Quotation
 HTML Comments
 HTML Colors
 HTML Links
 HTML Images
 HTML Tables
 HTML Lists
 HTML Block & Inline
 HTML Responsive
 HTML Forms
CSS
 Introduction
 CSS Rulesets
 CSS Selectors
 CSS Declarations
 CSS Values
 CSS Units
 CSS Relative Units
 CSS Box Models

192
 CSS Functions
 CSS Animations
 CSS Media Queries
 CSS Library

WEEK 3
JavaScript

What is JavaScript?

 JavaScript Stats
 What can JavaScript do?
 JavaScript Framework
 Top Websites Built Using JavaScript
 Benefits of JavaScript
 JavaScript Fundamentals
 JavaScript Variables
 JavaScript Constants
 JavaScript Data Types
 JavaScript Objects
 JavaScript Functions
 JavaScript Conditional Statements
 JavaScript Loops
 JavaScript Switch Case

Learning Outcomes
 Design Websites
 Mobile and Web App Mockup & Prototype in Figma
 Responsive Web Design using HTML, CSS and JS

193
Introduction to the Crash Course for SEE Students
HTML and CSS

Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 2 weeks

Course Summary
The course's first module introduces students to web development and the basic technology that is used to
define the structure of a webpage. The first session also sets the scene and familiarizes you with key ideas
and syntax, including how to apply HTML to text, construct hyperlinks, utilizing HTML to structure a
webpage, creating client-side parts of the form, and covering basic table markup, along with more
complex features such as implementing captions and summaries. Additionally, in week two of this
module CSS is used to style and lay out web pages — for example, to alter the font, color, size and
spacing of your content, split it into multiple columns, or add animations and other decorative features.
This module gets you started on the path to CSS.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. HTML & CSS: The Complete Reference, Fifth Edition

Prerequisites
 There is no prior educational level requirement for this course.
 If you are only interested in theory and have no interest/patience in spending at least 10 hours
every week throughout the duration of the course, then this course might not be for you.
 If you have absolutely no idea about programming or do not see yourself doing programming in
the next six -odd months, then this class may not be for you!

Course Details
WEEK 1
Web Programming Introduction

HTML-Introduction
 History of HTML

194
 What you need to do to get going and make your first HTML page
 What are HTML Tags and Attributes?
 HTML Tag vs. Element
 HTML Attributes
HTML-Basic Formatting Tags
 HTML Basic Tags
 HTML Formatting Tags
 HTML Color Coding
HTML-Grouping Using Div Span
HTML-Lists
 Unordered Lists
 Ordered Lists
 Definition list
HTML-Images
 Image Mapping
HTML – Hyperlink
 URL - Uniform Resource Locator
 URL Encoding
HTML – Table
 <table>
 <th>
 <tr>
 <td>
 <caption>
 <thead>
 <tbody>
 <tfoot>
 <colgroup>
 <col>

HTML – Frame & Form


 <input>
 <textarea>
 <button>
 <select>
 <label>

195
HTML – Headers
 Title
 Base
 Link
 Style s
 Script
 Meta

WEEK 2
CSS2-Introduction
 Benefits of CSS
 CSS Versions
 History
CSS Syntax
 External Style Sheet using
 <link>
 Single Style Sheets
 Multiple Style Sheets
 Value Lengths and Percentages
CSS2 – Selectors
 ID Selectors
 Class Selectors
 Grouping Selectors
 Universal Selector
 Descendant / Child Selectors
 Attribute Selectors
 CSS – Pseudo Classes

CSS2 – Color Background Cursor

• Background image
• Background repeat
• Background position
• CSS Cursor
CSS2-Text Fonts

• color
• background color

196
• text-decoration
• text-align
• vertical-align
• text-indent
• text-transform
• white-space
• letter-spacing
• word-spacing
• line-height
• font-family
• font-size
• font-style
• font-variant
• font-weight
CSS2-Lists Tables

• list-style-type
• list-style position
• list-style-image
• list-style
CSS Tables

• border
• width & height
• text-align
• vertical-align
• padding
• color

CSS2-Box Model

• Borders & Outline


• Margin & Padding
• Height and width
• CSS Dimensions

CSS2-Display Positioning

• CSS Visibility
• CSS Display

197
• CSS Scrollbars
• CSS Positioning
• Static Positioning
• Fixed Positioning
• Relative Positioning
• Absolute Positioning
• CSS Layers with ZIndex
• CSS Floats

198
JavaScript

Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 1 week

Course Summary
The Java course for beginners is designed for people who wish to learn how to conceive and produce
meaningful Java code, as well as how to interpret JAVA code written by others and how to convert a
literary description of a problem (requirement) to a Java application or library. This is a foundational
course for anyone who has no prior programming knowledge but wants to become a professional Java
engineer in the future or wants to see if JAVA is fit for them.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. Introduction to Programming Using Java by David J. Eck 2. JAVA the complete reference by
Herbert Schildt

Prerequisites
 If you are only interested in theory and have no interest/patience in spending at least 10 hours
every week throughout the duration of the course, then this course might not be for you.
 If you have absolutely no idea about programming or do not see yourself doing programming in
the next six -odd months, then this class may not be for you!

Course Details
WEEK 1
Introduction to JavaScript

• Introductions, motivation: web developer, orientation.


• Introduction to Procedural Programming
• JS History
• Dynamic (JS enabled) vs. Static web sites. Front-End “big three”: HTML,
• Best Approaches to Learn JS

199
Variable, Value, Data type, Operators and Expressions

• Variables: and let keyword


• Statements
• Value
• JS Keywords
• Understanding Expressions
Arrays, Decision making and Loops

• String
• Arrays
• If Statement
• If-Else Statement
• If-Else-IF ladder and Nested If Statements
• Switch
• Handling repetitive tasks with loops
• For Loop
• While and Do-While Loop
Functions, Variable Scope and Objects

• Date and Math Objects


The Browser Environment

• BOM (Browser Object Model)


• Window.* properties
• DOM (document object model)
• Accessing DOM Nodes
• Modifying DOM Nodes
• Creating and Removing Nodes
Events and Event Handling

• What are Events? Listen to Events.


• Event Handling
• HTML5 Forms and Input tag (form validation)
• Get and Post methods

200
WordPress, SEO, Video Editing & Public Speaking
Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 1 week

Course Summary
This course's courses will focus on honing your extracurricular abilities. We will focus on the practical
method to assist you learn public speaking in this course. There will be a lot of hands-on activities to help
you gain confidence as a public speaker. In addition, video editing classes will be taught, as well as SEO
and getting acquainted with WordPress.

Prerequisites
 If you are only interested in theory and have no interest/patience in spending at least 10 hours
every week throughout the duration of the course, then this course might not be for you.
 If you have absolutely no idea about programming or do not see yourself doing programming in
the next six -odd months, then this class may not be for you!

Course Details
WEEK 1
WordPress
SEO
Video Editing: Sony Vegas Pro

• Sony Vegas Pro Software Overview


• Projects and Media Timeline
• Split and Delete Video Clips
• Video Effects
• Transitions
• Custom Text Effects
• Flip & Mirror Clips
• Slow Motion
• Zooming
• Film Effects
• Color Correction
• Audio Effects
• Green screen removal
• Thumbnail
• Lower thirds
• Video Rendering

201
Public Speaking
Bonus: Basic Photography Course

Learning Outcomes
This crash course is aimed to help SEE students improve their academic and extracurricular skills.
Students will have gained more knowledge and a fundamental idea of what they wish to achieve after
completing this course.

202
Introduction to Advance Office Package
Beginners: Level 1

Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 1 and half weeks

Course Summary
The DWIT Training - MS Excel - Level 1 course is designed for those who want to learn how to: •
Navigate the Excel User Interface • Calculate and Modify a Worksheet • Basic Math and Statistics •
Logic Function. This course is best suited for anyone who has some basic computer knowledge and wants
to learn to make some data entry records and do some calculations such as making bills and keeping
records, high school and university students (plus two, undergraduate, etc.) who want to do coursework,
and someone who is already working as a record keeper and wants to make some official data records and
create bills.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. Excel All-in-one for Dummies 2019.
2. Book 2: Slaying the Excel Dragon: A Beginners Guide to Conquering Excel's Frustrations and
Making Excel Fun.
3. Book 3: Excel Basics in 30 Minutes (3rd Edition): The Quick Guide to Excel and Google Sheets.

Prerequisites
 There is no prior educational level requirement for this course.
 If you are only interested in theory and have no interest/patience in spending at least 10 hours
every week throughout the duration of the course, then this course might not be for you.
 If you have absolutely no idea about programming or do not see yourself doing programming in
the next six -odd months, then this class may not be for you!

Course Details
WEEK 1
Getting Started with Excel

203
 Navigate the Excel User Interface
 Use Excel Commands
 Create and Save a Basic Workbook
 Enter Cell Data
 Use Excel Help

Performing Calculations and Modify a Worksheet


 Find and Select Text
 Modify Text
 Find and Replace Text
 Insert, Delete, and Adjust Cells, Columns, and Rows
 Search for and Replace Data
 Insert Comment

Formatting a worksheet and Printing Workbook


 Modify Fonts
 Add Borders and Colors to Worksheets
 Apply Number Formats
 Align Cell Contents
 Apply Styles and Themes
 Apply Basic Conditional Formatting
 Create and Use Templates
 Preview and Print a Workbook
 Define the Page Layout

Basic Math and Statistics


 Utilize basic mathematics including add, sub, multiplication and division in
Excel
 Learn basic math function including SUM,ROUND,SUBTOTAL
 Learn basic statistical function including COUNT, AVERAGE, MAX, MIN,
MODE

Logic Function
 Learn to build standalone logical IF function and make them
 More complex by nesting AND or OR within them

WEEK 2
Understanding Dates
 Understand how dates works in Excel using the
 TODAY,YEAR, MONTH, DAY and DATE function

LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

204
Intermediate: Level 2

Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 1 and half weeks

Course Summary
The DWIT Training - MS Excel - Level 2 course is designed for beginners who wish to learn how to
Create Charts, Analyze Data using Pivot Tables, Slicers and Pivot Charts, Goal Seek and Solver, and Use
Macro in Microsoft Excel. This level of the course is best suited for anyone who has some basic computer
knowledge and wants to learn more advanced skills in Excel, high school and university students (plus
two, undergraduate, etc.) who want to do coursework, and individuals who are already working as a Data
entry and want to learn more advanced skills in Excel.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. Excel 2019 Bible
2. Ctrl+Shift+Enter Mastering Excel Array Formulas
3. Learn Excel 2016 Essential Skills with The Smart Method

Prerequisites
 Successfully complete the entrance test with score of at least 40% (for trainees directly applying
to this level).
 Successfully complete the DWIT Training – Level 1 course (not applicable to trainees directly
applying to this level).

Course Details
WEEK 1
Optimizing Data
 Sorting o Filtering
 Naming Ranges

Visualizing Data with Basic Charts


 Create Charts
 Modify and format Charts
 Analyzing Data with Pivot Tables, Slicers and Pivot Charts

205
 Resize an Image
 Create a PivotTable
 Analyze Pivot Table Data o Present Data with Pivot Charts
 Filter Data by Using Slicers

Goal Seek and Solver


 What-if Analysis Using Goal Seek
 Using Solver to complete A What-if
 Adding Constraints to Solver

WEEK 2
Macro and Conditional Format with Custom rules
 Apply Data Validation
 Work with form and Controls

Custom View and Scenarios


 Add Quick Access to Custom View
 Editing and Deleting Custom View
 Setting up A Set of Scenarios
 Displaying and Editing Different Scenarios

LABS
Lab assignments will focus on the practice and mastery of contents covered in the lectures; and
introduce critical and fundamental problem-solving techniques to the students.

206
Advanced: Level 3

Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 1 Week

Course Summary
The DWIT Training– MS Excel - Level 3 course is targeted for the beginners who want to perform data lookups,
learn how to apply data validation, protect worksheet and workbook and consolidate data. This level of the course
is best suited for anyone who has some basic computer knowledge and wants to learn more advanced
skills in Excel, high school and university students (plus two, undergraduate, etc.) who want to do
coursework, and individuals who are already working as a Data entry and want to learn more advanced
skills in Excel.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. Excel 2019 Bible
2. Ctrl+Shift+Enter Mastering Excel Array Formulas
3. Learn Excel 2016 Essential Skills with The Smart Method

Prerequisites
 Successfully completed the DWIT Training – MS Excel – Level 2 or obtained at least 40% score
on the entrance exam.
 The latter case applies for new students that are directly attempting this training.
 Please note that this is a lab intensive course where the students will be expected to work on lab
exercises for approximately half the duration of the session.

Course Details
WEEK 1
Performing Data Lookups

 VLOOKUP : Syntax and Usage


 Using A Near Match in the Lookup
 Managing the Lookup Table

207
 Dealing with Missing Data in A Lookup
Automating Workbook Functionality
 Apply Data Validation
 Work with form and Controls
Working with Multiple Worksheets and Workbooks Simultaneously
 Use Links and External References
 Consolidate Data

Learning Outcomes
 Examine spreadsheet fundamentals and learn how to use Microsoft Office Excel.
 Make changes to a worksheet and a workbook.
 Use cell references to your advantage.
 Learn how to use formulae and functions.
 Make and edit graphs and charts.
 Sort and filter table data.
 Learn VLOOK UP functions
 Use pivot tables and charts to your advantage.

208
Introduction to Technical Writing
Nature of the course: Theory + Practical

Total hours per day: 2 hours

Course duration: 2 weeks

Course Summary
This course includes technical writing as well as other types of writing. The fundamentals of technical
writing, knowing who you're writing for and why you're writing it, getting rid of the clutter in your
writing with the goal of achieving effective and seamless communication, strong paragraphs and sentence
structure, the fundamentals of writing (grammar and punctuation), insights into collaborative writing,
planning and preparing a technical report/white paper, and an efficient and organized writing method are
topics covered in this course.

Completion Criteria
After fulfilling all of the following criteria, the student will be deemed to have finished the Module:
1. Has attended 90% of all classes held
2. Has received an average grade of 80% on all assignments
3. Has received an average of 60% in assessments
4. The tutor believes the student has grasped all of the concepts and is ready to go on to the second
module.

Required Text Books


1. Technical Writing Process
2. The Insider's Guide to Technical Writing
3. Technical Writing: A Practical Guide for Engineers and Scientists

Course Detail
WEEK 1
Introduction and Course Policies
 What Is Technical Writing?
 Types of Technical Documentation
Audience and Purpose
 Understanding the Reason Behind Writing
 Introducing the Course Projects (CPs)
About Written Communication
 Communicating Effectively and Persuasively
Assignment 1: Brainstorm Three ideas for your final project.

209
WEEK 2
Document Design
 Word Feature Demo
 Writing Collaboratively through Google Docs/MS Word

Technical Reports
 Primary and Secondary Research
 Outline of Reports
Strengthen Your Writing
 Key Strategies and Habits
 Controlling Your Message
Technical Documentation
 Ways of Documenting a Project/White Paper
Assignment 2: Take-Home Grammar Exercises
 Classroom Project’s Final Presentation; Draft of the document.
Learning Outcomes
 Study management communication settings and genres, explore current business themes, and
produce final professional workplace papers to have a better understanding of professional
writing.
 Recognize, explain, and apply the formal aspects of organizational communication genres such as
white papers, recommendation and analytical reports, proposals, memorandums, web pages,
wikis, blogs, business letters, and promotional publications.
 Understand the ethical, international, social, and professional restrictions of audience, style, and
substance in writing situations
 Understand contemporary resources (such as search engines and databases) for accessing
secondary data, as well as effective primary data collection procedures.
 Experiment with the distinct characteristics of professional rhetoric and writing.

210
Basic Introduction To IOT

Nature of the course: Theory + Practical

Total Credit: 1 (1 hour per week)

Course Code: DWIT – 032

COURSE OVERVIEW
Arduino Platform and Programming a one credit course aimed at Second year computer science students
of DWIT. The Arduino is an open-source computer hardware/software platform for building digital
devices and interactive objects that can sense and control the physical world around them. Students will
learn to program the microcontroller in Arduino platform. In addition to this various hardware and
circuitry needed for embedded system design, automation and Internet of Things is discussed. Students
will also learn about shields, which are smaller boards that plug into the main Arduino board to perform
other functions such as sensing light, heat, GPS tracking, or providing a user interface display. The
course will also cover programming the Arduino using C code and accessing the pins on the board via the
software to control external devices.

PREREQUISITE

Student should know basic knowledge of programming and computer hardware.

COURSE CONTENT

 Introduction to Internet of things


 Introduction to Arduino platform and programming
 Arduino platform based microcontrollers.
 Pin details and interfacing
 Analog /Digital Signals
 Hardware and circuitry
 Serial communication

LEARNING OUTCOME

Upon completing this course, you will be able to:

 Outline the composition of the Arduino development board


 Read board schematics
 Install Arduino IDE
 Compile and run a program
 Explain the structure of an Ardui no sketch
 Access the pins of the Arduino
 Differentiate between digital and analog pin
 Debug embedded software
 Analog and digital access
 Sensors and interface
211
 Serial communication

212
Composition and Rhetoric

Nature of the course: Theory

Total Credit: 1 (1 hour per week)

Course Code: DWIT – 021

COURSE OVERVIEW
Composition and Rhetoric is a one-credit course initially aimed at third-year computer science students of
DWIT. The idea is to familiarize students with college-level research and argument writing. Students will
learn research analysis, argument strategies, research techniques, and documentation. You will research a
topic of your choosing, emphasizing its links to community, society, and citizenship.

PREREQUISITE

Students must have a good command of the English language.

COURSE GOALS:

1. To develop your skills in writing, analytical reading, and critical analysis as outlined in the
Commons program
2. to develop your confidence with these skills, preparing you for more effective participation
in college-level courses
3. To develop and enhance your research skills, especially proper and effective use of
traditional and electronic sources in a research paper.

STUDENT LEARNING OUTCOMES:

1. Communicate clearly and effectively through writing


2. Identify information needs and locate and evaluate information sources in traditional and
electronic form
3. Analyze and respond to critical readings, annotating the text to identify main points,
important details, and draw inferences
4. Recognize and create valid arguments
5. Formulate thesis statements and write argumentative research papers
6. Identify and locate authoritative sources in the library catalog (both print and electronic
books), research databases, and the web, using authoritative sources to support the argument
7. Adapt the writing process to argumentative research writing (planning and drafting their
text), peer evaluate others’ texts, and self -evaluate their own written texts in the context of
research writing
8. Know and use MLA or APA documentation, including the creation of the Works Cited page

213
Data Science
Nature of the course: Theory + Practical

Total Credit: 2 (2 hours per week)

Course Code: DWIT – 005

COURSE OVERVIEW
This course is code-intensive and hands-on with a focus on an intuitive and thorough understanding of
the concepts and algorithms involved in modern Data Science using the Python programming language.
This course will teach the students to perform data analysis in Python in a professional manner, following
the industry best practices, standards, and norms.

PREREQUISITE

The student should have basic knowledge/skills about programming and mathematics.

COURSE CONTENTS

Chapter 1: Fundamentals of Python Programming (8 hrs)

Introduction to Python variables, Data types, Type conversion, Python Operators, Lists, Conditionals, Loops,
Functions, Lambda functions, Tuples, Sets, Dictionary, Object-oriented Programming in Python

Chapter 2: Basic Statistical Concepts (4 hrs)

Mean, Median, Mode; Standard deviation, variance; Intro to Probability, Probability, distributions: Uniform
Distribution, Gaussian Distribution; Correlation, Covariance, multivariate covariance; Histograms

Chapter 3: NumPy (Numerical Python Library) (6 hrs)

Numpy arrays: array attributes, array indexing, slicing, accessing multi-dimensional arrays, reshaping arrays, array
concatenation and splitting; Computation on NumPy arrays: Universal functions (Ufunc); Advanced Ufunc features:
aggregates; Computation on Arrays: Broadcasting, Comparison, Masks, and Boolean Logic; Fancy indexing, Fancy
indexing in multiple dimensions, Combined indexing

Chapter 4: Data Manipulation with Pandas (8 hrs)

Pandas objects: Series objects, DataFrame objects, Index objects; Data indexing and selection in Series and
DataFrame; Indexers: loc and iloc; Operating on Data in Pandas: Ufuncs: Index preservation, Ufuncs: Index
alignment, Ufuncs: Operations between DataFrame and Series; Handling Missing Data, Combining Datasets: Merge
and Join, Relational Algebra, Categories of Joins, Specification of the merge key, Specifying Set arithmetic for
Joins, Aggregations and Grouping

214
Chapter 5: Data Visualization with Matplotlib (4 hrs)

Setting styles; How to display plots; Interfaces: Matlab-style interface, Object-oriented interfaces; Simple Line
plots; Adjusting the plot: Line colors, styles, Axes limits, labeling, Simple Scatter plots; Histograms: Binnings, and
Density; Multiple subplots; Visualization with Seaborn package

COURSE LEARNING OUTCOMES:


On completion of this course, student should be able to:

1. get a thorough understanding of the basic constructs of the Python programming language
2. get an intuitive understanding of the basic concepts of statistics
3. perform data analysis of real world data using Python libraries with visualization using a
methodical approach
4. draw meaningful insights from the data analysis performed

215
Fundamentals of cloud computing

Nature of the course: Theory + Practical

Total Credit: 2 (4 hours per week)

Course Code: DWIT - 029

COURSE OVERVIEW
This course is intended for students in learning the overall understanding of cloud computing concepts,
independent of specific technical roles. It provides a detailed overview of cloud concepts, cloud core
services, security, pricing, and support.

PREREQUISITE
Students should know the basics of computer networks and databases.

COURSE CONTENTS

Chapter 1: Cloud Concepts Overview (2 hrs)


Introduction to cloud computing, advantages of cloud, cloud service providers, cloud services, moving to the cloud

Chapter 2: Cloud Economics and Billing (4 hrs)


Fundamentals of pricing, total cost of ownership (TCO), billing and cost management, technical support models

Chapter 3: Global Infrastructures Overview (2 hrs)


Global Infrastructure, cloud services and service categories

Chapter 4: Cloud Security (4 hrs)


Introduction, shared responsibility model, identity and access management, securing a new account, securing
accounts, securing data, working to ensuring compliance

Chapter 5: Networking and Content Delivery (6 hrs)


Introduction, networking basics, virtual private cloud (VPC), VPC networking, VPC security, domain services,
content delivery service

Chapter 6: Compute (6 hrs)


Compute services overview, compute services cost optimization, container services, introduction to serverless
architecture and services

Chapter 7: Storage (6 hrs)


Types of cloud storages, block storage, object storage, file storage

Chapter 8: Database (4 hrs)


Types of cloud database, relational database, NOSQL database, data warehouse

216
Chapter 9: Autoscaling , Load Balancing and Monitoring (6 hrs)
Load balancing, autoscaling and monitoring services

COURSE LEARNING OUTCOMES:


On completion of this course, students should be able to:

1. Learn fundamentals of cloud computing and cloud services


2. Gain an understanding of the importance of cloud
3. Develop skills in different cloud services
4. Boost the urge to implement their ideas

217
Introduction to Python Programming
Nature of the course: Theory + Practical

Total Credit: 2 (2 hours per week)

Course Code: DWIT – 013

COURSE OVERVIEW
The objective of the course is to teach the basics of the python programming language. The students will
learn python syntax, python basic data types such as list, dictionary, tuples, defining and using functions,
using third-party Units, and much more.
The course will help students to learn the concepts of programming that they can apply to solve problems
of their interest using programming.

PREREQUISITES
Basic computer skills and familiarity with text editors and command-line interface

COURSE CONTENT

Unit 1: Introduction

Relationship between computers and programs


Basic principles of computers
File systems
Using the Python interpreter
Introduction to binary computation
Input / Output

Unit 2: Data types and control structures

Operators (unary, arithmetic, etc.)


Data types, variables, expressions, and statements
Assignment statements
Strings and string operations
Control Structures: loops and decision

Unit 3: Modularization and Classes

Standard Units
Packages
Defining Classes
Defining functions
Functions and arguments (signature)
218
Unit 4: Exceptions and data structures

Data Structures (array, List, Dictionary)


Error processing
Exception Raising and Handling

Unit 5: Object-oriented design

Programming types
Object-Oriented Programming
Object-Oriented Design
Inheritance and Polymorphism

219
Js Programming

Nature of the course: Theory + Practical

Total Credit: 2(2 hours per week)

Course Code: DWIT – 034

COURSE OVERVIEW
JavaScript is a two-credit course aimed at fifth-semester fifth-semester students. It is an object-oriented
programming language employed by most websites along with HTML and CSS to create robust,
dynamic, and interactive user experiences. The JavaScript programming language was introduced in 1995
and has since become one of the most popular with support by all major web browsers.

PREREQUISITE

Students should have a basic knowledge of HTML and CSS

COURSE CONTENT

Introduction

 Comments
 no script Tag
 Strict Mode
 Console Output
 Variables
 Prompt Box
 Functions
 Arithmetic Operators
 Comparison Operators
 Logical Operators
 Bitwise Operators
 Assignment Operators
 Conditional Operator
 Conditional Statements
 Switch Statement
 For Loop
 For In Loop
 While Loop
 Do While Loop
 Events
 Cookies
 Page Redirection
 Dialog Box
 HTML DOM
220
ES6 Features

 Number
 Date
 Arrays
 Math
 Boolean
 JS Version ES6
 String

OOP in JS

 This Keyword
 Simple Class
 Inheritance Override Super

JS and DOM

 What is DOM?
 Document and Window
 DOM manipulation

Advance JS - Part1

 Error Handling
 Anonymous Function
 Generator Functions
 AJAX
 Hoisting
 Modules
 Function Constructor

Advance JS - Part 2

 Browser Navigator
 Promises
 Set Collection
 Map Collection
 JavaScript URI
 Loop Labels
 Multimedia Controlling
 Template Literals

JS Revision and Introduction to Node JS

 Class test which covers the whole thing which is taught


 All basic fundamentals of Node JS
 Variables
221
 Functions and Closures
 Node.js Performance
 Node.js Internals
 Thread, V8 Engine, Data-Intensive Applications

Node.js Concepts

 Modules, Exports, and Require


 Events and the Event Emitter
 Asynchronous Code
 The Event Loop, Streams, Files
 Basics of Node.js HTTP
 Express Web framework
 Persisting Data

LEARNING OUTCOMES

1. Know variable naming rules and JavaScript data types.


2. Identify expressions and operators.
3. Know flow control.
4. Demonstrate objects and arrays usage.
5. Define functions and methods.
6. Define constructors and inheritance.
7. Demonstrate usage of pattern matching with regular expressions

222
Linux Basics
Nature of the course: Theory + Practical

Total Credit: 2 (2 hours per week)

Course Code: DWIT - 029

COURSE OVERVIEW
Basic Linux is a two-credit course aimed at second-year computer science students of DWIT. The idea is
to familiarize students with important and fundamental concepts of Linux server administration. More
importantly, it helps students to be able to configure, maintain, and support a variety of Linux systems.
Linux is an operating system that is widely used on the server-side. Linux operating system is software
that manages all of the hardware resources associated with computers. It’s an open-source operating
system that is more secured and reliable.

PREREQUISITE
Students should have a basic knowledge of computer systems and architecture

COURSE OUTLINE

Unit 1: Introduction to Linux (4hrs)

1. History
2. Distributions
3. Licensing
4. Installation of VMware/Virtual box
5. Installation of Linux

Unit 2: Files system and basic operations (12 hrs)

1. Linux file system tree layout


2. Basic commands for navigation
3. Working with files, directories, file contents,
4. Text Editors (vi, gedit)
5. help

Unit 3: File/directory permissions/Acl (4hrs)

Unit 4: User and Group management (4hrs)

Unit 5: package management (1hr)

Unit 6: Shell Scripting (5 hrs)

223
LEARNING OUTCOMES

1. To understand the basics of Unix like Operating System


2. To understand virtualization
3. To install VMware and Linux operating systems on it.
4. To learn basic Linux commands
5. To get the concept of shell scripting

224
Node js

COURSE OVERVIEW
NODEJS is a two-credit course aimed at second-year students of BSc.CSIT and BCA. Node. js is a
platform built on Chrome's JavaScript runtime for easily building fast and scalable network applications.
Node. js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for
data-intensive real-time applications that run across distributed devices.

PREREQUISITE
Students must have a good understanding of the basics and the intermediate concepts of JavaScript
such as expressions, loops, scopes, arrays, objects, callbacks, this keyword, etc.

COURSE OUTLINE

Introduction (Week 1 – Week 2)

 Introduction to Node, Express, and Mongo DB


 Environment Setup
 Node.js and ES6
 Nodemon as a live server

Express (Week 3 – Week 4)

 Express
 Create your first Express Route
 Serving JSON to Client
 Handling POST, PUT, DELETE requests
 Postman
 Understanding HTTP Verbs/Methods
 Routing (Week 5)
 Path parameters
 Route handlers
 Express router
 Router parameters

Middleware (Week 6)

 Introduction to Middleware
 Logger Middleware
 More Middleware’s

MongoDB (Week 7- Week 8)

 Introduction to Mongo DB and NoSQL


 Connecting to MongoDB from Express with Mongoose
 Schema and Models
225
 Saving documents
 Fetching documents
 Fetching documents by ID
 Updating documents in MongoDB
 Mongoose API

LEARNING OUTCOME

At the end of the course, students will have the kno wledge of

 Web application frameworks. One of the most essential dependencies of any Node.
 Security.
 Package management.
 Cloud platforms.
 Source control.

226
Php Programming

Nature of the course: Theory + Practical

Total Credit: 2 (2 hours per week)

Course Code: DWIT - 004

COURSE OVERVIEW
After the successful completion of this course, the students will be able to understand the syntax of the
PHP language. They will be able to design a portfolio website. They will have the knowledge to perform
CRUD operations on the database.
Students will be able to choose files from the system and perform open, read, write operations on one
system. They can perform operations on a form like saving data from a form to send data to the server.
Students can create cookies and set cookies on the elements.

PREREQUISITE
Students should have a basic knowledge of HTML

COURSE OUTLINE

1. Installing and configuring PHP


2. Introduction to HTML
3. Basic PHP Syntax
4. Variables, Numbers, Dates, and Strings
5. Control Structures
6. How to use MySQL Database?
7. Using PHP and MySQL Together
8. How to create forms
9. Working with Images

LEARNING OUTCOMES

1. Understand 2 tier architecture (Client and Server)


2. Explain the difference between the programming language and scripting language
3. Create a database-based web application.

227
Product Conceptualizaion
Nature of the course: Theory

Total Credit: 1 (1 hour per week)

Course Code: DWIT – 025

COURSE OVERVIEW
Product Conceptualization is a one-credit course aimed at first-year computer science students of DWIT.
The idea is to familiarize students with various aspects of developing software starting from the idea to
actual development/implementation.
The course will cover various components like identifying a problem and try to solve the problem
through the use of software applications. In the process, students are made aware of how to turn an idea
into a concept, assess what kind of software will best solve the problem, the concept of MVP (Minimum
Viable Product), finding the right user group of the product, and will also briefly touch upon the idea of
generating revenue from the product.
By the end of the course, students are expected to be familiar with various aspects of building software
and apply those learnings while developing their own software applications.

PREREQUISITE
None

COURSE CONTENT
 Basics of building software
 Justification for the Idea, Idea vs Concept
 Understanding of various components like background study, assessment of the market, need for domain
knowledge
 SWOT analysis/concept of Minimum Viable Product etc.
 Different types of applications (Mobile, Web-based, desktop, etc.)
 SaaS and PaaS
 Product Pricing - Strategies and Variables

Week / Chapter 1
Background to the course, Assessment methods, Semester planning

Week / Chapter 2
Basics of Software development, Product Idea, and Product Concept

Week / Chapter 3
Software Development Consideration Factors – Problem-solving / Usefulness / Ease of Use

Week / Chapter 4 & 5


Software Development Lifecycle / Agile V Waterfall / Requirement Gathering / Features

Week / Chapter 6 & 7


Software Design Considerations, User Interfaces UI and User Experience UI/X

228
Mid-Term
Week / Chapter 8 & 9
Pricing a Software Product / Software as a service SaaS / Platform as a Service PasS

Week / Chapter 10 & 11


Marketing a Software Product

Week / Chapter 12
Concept of MVP

Week / Chapter 13
Revision

Week / Chapter 14 & 15


Project Work

COURSE LEARNING OUTCOMES:

On completion of this course, students should be able to:


Learn basics of various aspects of developing a software product for commercial use

1. Gain a basic understanding of factors associated with commercial software development


2. Deeper Insight into components of software - Design / Pricing / Marketing
3. Develop a project concept based on the above understandin g.

229
Programming Basics

Nature of the course: Theory + Practical

Total Credit: 2 (2 hours per week)

Course Code: DWIT – 024

COURSE OVERVIEW

Programming basics is a two-credit course aimed at the first semester of both BCA and BSc CSIT. This
course helps students in learning the basics of computer programming and enhances problem-solving.

PREREQUISITE
None

COURSE CONTENT

Introduction to Programming Language

● Introduction to Programming Language: Levels of Programming Languages, Language Conversion, and


Translators.
● Comparing between compiler interpreter and assembler.

Language Specification

● Language Specification: Introduction, Syntax, and Semantics of Programming, their comparison. Types
of Error: Semantic Error and Syntax Error

Character Set and Data Types

● Introduction to the Character set of C


● Tokens in C: Identifiers, Keywords, Constants, Strings, Special symbols, and Operators.
● Introduction to Variables, Datatypes and Escape Sequences
● Writing Simple Program in C

Operators

● Introduction to Operators and its types: Arithmetic Operators, Relational Operators, Logical Operators,
Bitwise Operators, Assignment Operators, Misc Operators
● Implementation of Various Operators in C language.

Decision Making

● Introduction to Decision Making and Decision Control Statements: if statements, if-else statements,
nested if statements, switch statements, and nested switch statements.
● Understanding and Implementation of Various Decision-making Statements.

230
Loops

● Introduction to Loops and Loop Control Statements: while loop, for loop, do...while loop, nested loops.
● Understanding and Implementation of Various Looping Statements.

COURSE LEARNING OUTCOMES:


By the end of the course, a student should be able to write simple programs in Java. They should be familiar with
the following topics:

• Primitive data types and expressions


• Control flow operations (if-then-else, for loops, while loops)
• Basic object-oriented concepts (classes, objects, instance variables, methods)
• Subclassing, inheritance, and polymorphism
• Abstract classes and interfaces
• The Swing library for graphical user interfaces
• Error handling and debugging
• Documentation
• Good programming style

231
Programming in JAVA I
Nature of the course: Theory + Practical

Total Credit: 1 (1 hour per week)

Course Code: DWIT – 033

COURSE OVERVIEW

Programming in Java-I is a one-credit course aimed at third-year computer science students of DWIT.
The idea is to familiarize students with an intermediate level of Java programming. This course explores
the Java language and fundamentals including introducing array, array operation, and two-dimensional
array. In addition, it includes Java statements and operators which are not covered in Java I such as
branching statements, “?” operator and bitwise operators, binary representations and ASCII values, and
so on.

PREREQUISITE
Basics of programming language

COURSE CONTENT

 Introduction to Java Programming


 Introduction to Java Programming
 Java Keywords and Identifiers
 Java Syntax.
 Java Program Structure.
 Comments in Java
 Modifiers in Java.
 Java Data Types.
 Variables in Java.
 Operators in Java
 Java Control Flow – Decision Making Statements.
 Java Control Flow – Looping Statements.
 Java Control Flow – Branching Statements.
 Java Strings
 Java Characters
 Java – Date and Time
 Java Arrays
 Java Array List
 Java IO – Read User Input.
 Java IO – File Handing.
 Java Methods – User Defined Methods
 Java Methods – Built-in Methods
 Exception Handling in Java
 Java Object-Oriented Programming – Inheritance.
 Java Object-Oriented Programming – Polymorphism.
 Java Object-Oriented Programming – Abstraction.
 Java Object-Oriented Programming – Encapsulation.
232
LEARNING OUTCOMES:
On the completion of the course, students will be able to develop

 Desktop GUI Applications


 Web Applications
 Enterprise Applications (Banking, ERP, Ecommerce, etc,)
 Mobile Applications
 Scientific Applications
 Embedded Systems
 Big Data Technologies
 Distributed Applications
 Gaming Applications

233
Programming in JAVA II

Nature of the course: Theory + Practical

Total Credit: 1 (1 hour per week)

Course Code: DWIT – 037

COURSE SUMMARY
Programming in Java-II is a one-credit course initially aimed at third-year computer
science students of DWIT. The idea is to familiarize students with an advanced
level of Java programming.

This course reinforces Java basics, including exception handling and event
handling. It expands on the Swing GUI components and introduces advanced
concepts such as Generics, JDBC, and threads. It will also focus on object design
principles, inheritance hierarchies, and the power of polymorphism (dynamic run -
time binding).

PREREQUISITE
Before diving into the course students must have a strong hand in basic java.

COURSE CONTENT

Unit 1: Graphic User Interface (GUI) development

Unit 2: Design patterns

Unit 3: Error handling approaches

Unit 4: Generics and wildcards

Unit 5: Relational database technologies: JDBC, SQL, and MySQL integration

Unit 6: Multithreading and concurrency

COURSE LEARNING OUTCOMES:


The following are the learning outcome of this course

1. Knowledge of object-oriented design principles


2. Design inheritance hierarchies that maximize reusability
3. Employ interfaces to represent abstractions
4. Compare abstract classes and interfaces
5. Develop a complex GUI application
6. Incorporate JDBC to connect to and interact with a relational database
234
7. Develop custom exception classes to support error handling
8. Use collections to organize data
9. Evaluate the advantages of generics
10. Observe the options available for concurrent programming

235
Project I
Nature of the course: Theory + Practical

Total Credit: 3 (3 hours per week)

Course Code: DWIT - 035

COURSE SUMMARY
The course is introduced as a part of the credit course during the junior year III year/the fifth semester. As
a micro project, each student will carry out an individual software project and submit the project report.
This project aims to provide students an opportunity to bring together and synthesize the concepts from
various areas they have learned over the first two years of their study as well as the knowledge and skills
they are learning during the third year of their study, and creatively apply them to real-life situations. The
students are expected to conduct their project through careful planning, research, and execution of the
tasks while developing critical judgment, communication skills, and competence in the subject area. The
reasons to have this project as an individual project are to provide an opportunity for students to do
something of their interest, and also to encourage them for independent learning. Moreover, an individual
project also prevents ‘social loafing’ and ‘polarization’, which are prevalent in such project work.

PREREQUISITE AND PROGRESS CONDITIONS

 Students are assumed to have gained sufficient knowledge in the software and other
tools required to undergo the project.
 Students are recommended to decide on a project topic with a realistic objective.
 Students are recommended to study journal papers, conference papers, research
articles, and project reports to become familiar with literature review, objectives, and
report writing.
 Student must get their project idea/proposal approved by the project review
committee before they start to work on it.
 Students must make the following oral presentations: project idea presentation,
project progress review defense, and project final demo and defense.
 As a part of the project work, students must write and submit a project report, which
has to meet the requirements specified by the college. This report shall be an
academic work that must be related to and includes the theory and practices that the
students have implemented in their project.
 Students must deliver a working software project tha t is described in the accepted
proposal.

COURSE OBJECTIVES
After completing this project work, the students are expected to be able to know the basics of
project-based work and be able to carry out an independent development software project. In
further detail, the students should be able to fulfill the following objectives:

236
 To develop a basic ability to define project objectives, evaluate the background
critically, and gain a comprehension of the context for the work.
 To understand the software requireme nts (both functional and non-functional
requirements) and acquire limited ability to elicit and analyze actual requirements
from the end-users and other stakeholders.
 To acquire knowledge and develop skills to use modeling languages (e.g., Unified
Modelling Language) to design software architecture.
 To know the basic concepts related to software quality assurance and can take them
into account in project work. By this, the students should be able to design suitable
test cases and use them for software test ing.
 To know and select the main software tools that are related to project work and be
able to use these tools also in practice.
 To understand the basics of successful project working practices, project scheduling,
and reporting.
 To present project outcomes through presentation and in the technical report.
 To take into account ethical requirements related to project work.
 To learn independently through self-reflection and evaluation of their own work
processes, and develop the ability to take appropriate a ctions to improve it.

237
Project II
Nature of the course: Theory + Practical

Total Credit: 3 (3 hours per week)

Course Code: DWIT - 038

COURSE SUMMARY

DWIT mini project is a three-credit course aimed at VI semester students of BScCSIT. This course
initiates students to implement their knowledge into a practical environment. The nature of this project
guides students in extending their skills applicable to research study, analysis of the requirements, design,
and implementation, testing, maintenance, and deployment into the real environment. It includes both
theoretical as well as practical approaches.
The main goal of this course is to develop the skills associated with analysis design and the development
of meaning and efficient real-world application.

COURSE CONTENTS

1. Problem Identification
2. Problem Specification
3. Analysis and Design
4. Implementation
5. Testing
6. Maintenance and Deployment

The content of this course is divided into six different phases; the students will first
involve themselves in identifying a problem that needs to be addressed. Such a problem
needs to be specified precisely and several solutions need to be prescribed out in which
most viable will be selected. The selected proposed solution now has to be analyzed
properly and design. This mig ht involve the use of tools depending upon the nature of the
problem and environment. The design should be implemented using the different platforms
of their choice. The project should be followed by testing when the implementation gets
completed. Maintenance should be done when necessary and deployed in the real
environment.

238
Scratch Programming

Nature of the course: Theory + Practical

Total Credit: 2 (2 hours per week)

Course Code: DWIT - 023

COURSE OVERVIEW
This course helps students in learning t he fundamentals of computing and enforces
creativity and problem-solving skills in the easiest way possible. It also helps to create a
variety of Scratch projects that include sprites, sounds, math operations, variables, and
logic. In addition, students ca n be able to use and manage the various Scratch account
features including sharing and remixing activities.

PREREQUISITE
Student should know basic skills about the mathematics.

COURSE CONTENTS

Chapter 1: Introduction about Computer Programming (2 hrs)

Introduction, need for computer programmers, blocky programs, types of project with scratch, comparison with
similar programs

Chapter 2: The Basics of Scratch (4 hrs)

Introduction, history of scratch, computing basics, scratch account, design, scratch studio, differences between
sprites and images, creating your own sprites, scratch’s block categories

Chapter 3: The First Project Basics (4 hrs)

Variables, program controls, conditions, adding movement to a sprite, adding sound, changing the
colors, making sprite appear to speak and think

Chapter 4: Adding Interactivity and Math concepts (4 hrs)

Types of events triggered using a keyboard, adding clickable buttons, game story and design, game-keep score,
signifying the game over, four mathematical operations, random numbers, comparing numbers, logic, and logical
arguments

Chapter 5: Logic and adding sound (4 hrs)

Different types of blocks, repeating actions, different statements i.e. conditional, nested control, linking sound to a
sprite, playing scratch’s sound, adding narration to your story

239
Chapter 6: Costumes and Background Changes (4 hrs)

Adding and changing costumes, backgrounds, graphic special effects, multiple sprites, size of
sprites

Chapter 7: Project Activities (8 hrs)

Project Motivation, Project samples in scratch, Project Planning, Project Pitching, Project
Presentation, and demo, Feedbacks

COURSE LEARNING OUTCOMES:


On completion of this course, students should be able to:
Learn core computational concepts such as iteration and co nditionals

1. Gain an understanding of important mathematical concepts such as coordinates,


variables, and random numbers
2. Develop skills in project management and improve social skills
3. Boost the urge to implement their ideas

240
Technical Writing
Nature of the course: Theory

Total Credit: 2 (2 hours per week)

Course Code: DWIT – 027

COURSE OVERVIEW
This course helps students to develop their communicative skills in academic and
professional context which enables them to compete for a technical career and a lso
perform effectively in their desired profession. It also aids them to understand how
important role effective communication plays in their workplace. In addition,
students will also learn various forms of employment communication, proposal
writing and report writing.

PREREQUISITE
Students should possess basic knowledge of effective writing and basic communication processes.

COURSE CONTENTS

Chapter 1: Introduction of Technical Writing (3 Hrs)

Introduction, You are a Technical Writer, Characteristics, How Technical Writing Compares to Other Writing.

Chapter 2: Audience, Purpose and Writing Process (5 Hrs)

Introduction, Understanding Audience’s Needs, Planning Your Documents Purpose and Medium, A
process for Technical Writing; Planning Drafting and R evising.

Chapter 3: Brief Correspondence (5 Hrs)

Introduction, Text Messages, Emails, Memos and Letters, Audience, Prewriting, Formatting, Composing.

Chapter 4: Employment Communication (5 Hrs)

Introduction, Formatting and Organizing Resumes, Types of Resumes, Composing Resumes and
Employment Letters.

Chapter 5: Proposal Writing (5 hrs)

Introduction, Definition and Purpose, Types, Characteristics, Structure of Proposals, Formal and Informal Proposals.

241
Chapter 6: Report Writing (5 hrs)

Introduction, Different Types of Report, Stages in Writing Report, The Terms of Reference, Planning Your Report,
Collecting and Organizing Information, Structuring Your Report, Common Elements of Report, Style of Writing,
Checklist.

Chapter 7: Ethics in Workplace (2 Hrs)

Introduction, what is Ethics? Creating a Culture of Ethics, What Do You Do When Faced with
Ethical Dilemma? Why is it so Difficult to Behave Ethically?

242
Time Management

Nature of the course: Theory + Practical

Total Credit: 1 (1 hour per week)

Course Code: DWIT - 022

COURSE OVERVIEW

Time Management is a DWIT Credit course aimed at first-year BScs and BCA students of DWIT. This
gives an overall idea of what’s, why’s and how’s of time management its significance for a computer
science student. The course makes students aware of how to save time from their hectic day-to-day
activities.
The course will cover various components like what, why, and how to manage the available resource in
connection with the available time. The course is designed so as to explore student’s knowledge of Time
Management. In this course, students are directly involved in answering the WH Questions mentioned
above with the best practice of the participatory approach. The course instructor helps student actively
participate in the learning process and tell about a various practical approach to deal with the time
management issues.

Following activities are done to advance the classes of 8 to 10 lecture hours.

1. Students are divided into four to six groups.


2. Students give the best names to their group such as the name of the flower, the name of the
district, name of an animal.
3. Students choose the lead of the team.
4. Each group discusses in the team both in class and do home assignment and answer What,
Why and How of the Time Manage ment and send to the teacher for the feedback.
5. The teacher facilitates the class discussion sessions on the answers and gives his feedback to
the group.
6. The final presentation of each group will be done at the end of the course.
7. Evaluation is done on the basis of presentation, matter, and methods.

PREREQUISITE

There is no prerequisite to this course.

243
COURSE OUTLINE

 Time Management in students’ perspective.


 How did the students manage their time in the past and the lessons they learned?
 Define time management in terms of available time and other resources.
 Why time management is important? What happens when time is not managed
properly?
 Different time management practices, tips, and tricks.
 Eisenhower Matrix, Time-Energy-Money at different stages of life are discussed.
 The morale of better time management practice vs ignoring the time and going ahead
in personal life. What happens when a person misses the track of life? Can he/ she
come back to normal life? These are discussed with the aid of “Time Mana gement
Conduit” a diagram conceptualized and elaborated.
 Group Presentation in Class on “What the students learned from the class and how
they implement the better time management practices”.

LEARNING OUTCOME

1. Students know about time as the most precious gift provided equally by nature to everyone
and it is always unique.
2. They will be made aware that the particular time never comes again once it is passed so how
to use it optimally.
3. They will be able to understand what happens when time is not managed pro perly in their
day-to-day life, in classes, in professions.
4. They will be able to understand that time management practices vary from person to person
based on their interpersonal habits.
5. It helps students to be prepared for some changes in their working habits and personal habits
to best use the available time.

244
Web Development Using HTML & CSS

Nature of the course: Theory + Practical

Total Credit: 2 (2 hours per week)

Course Code: DWIT - 002

COURSE OVERVIEW

Web development is a two-credit course aimed at first-year computer science


students of DWIT. This course aims to develop the foundation of web development
using HTML and CSS.

In this course, students will learn all the b asic tools that every web development
programmer needs to know. The course covers designing a web page from scratch
along with creating CSS classes from a beginner's level to a more intermediate
level. The course will also cover all the key concepts of HTM L such as tags,
elements along with declarations, properties, values, and how to include a CSS
style sheet with your HTML code.

COURSE CONTENT

Unit 1: Getting to Know HTML

Unit 2: Introduction to CSS

Unit 3: Opening the Box Model

Unit 4: Positioning Content

Unit 5: Working with Typography

Unit 6: Setting Backgrounds & Gradients

Unit 7: Creating Lists

Unit 8: Adding Media

Unit 9: Building Forms

Unit 10: Organizing Data with Tables

245
LEARNING OUTCOMES

At the end of the course, all students will have to submit two projects. A portfolio was created
using HTML and CSS and a Blog site was created using Word Press. The project must cover 70% of
the course syllabus.






246
deerwalk
training center
Deerwalk Complex
Sifal, Kathmandu, Nepal
Email: contact@deerwalk.edu.np
Facebook: www.facebook.com/dwit.coPege
Contact Number: 4-485424

You might also like