Boost Your Base Bootcamp
Stack School:
https://courses.stackschool.co/courses/boost-your-base-bootcamp
"Boost Your Base Bootcamp[ Online + Offline ]", In this long course we will introduce you to C Programming Language, Java, Data Structures and Algorithms, Design Patterns and Problem Solving. At the end of the Bootcamp, you will find yourself in a place where you can engage yourself in any field of the IT world.
50+ Weeks, 100+ Classes - A Long Journey to Become A Programmer
অবজেক্ট অরিয়েন্টেড প্রোগ্রামিং, ডাটা স্ট্রাকচারস এবং অ্যালগোরিদম
আইটি জগতে নিজেকে যোগ্য করে গড়ে তোলার জন্য আপনার দরকার প্রোগ্রামিং এবং কম্পিউটার সাইন্সের দক্ষতা। এই দীর্ঘ কোর্সে আমরা আপনাকে সি প্রোগ্রামিং ল্যাংগুয়েজ, জাভা, ডাটা স্ট্রাকচার এবং অ্যালগোরিদম, ডিজাইন প্যাটার্ন এবং প্রব্লেম সল্ভিং এর সাথে পরিচয় করাবো। হাতে কলমে শেখানোর সাথে সাথে ইন্ডিভিজুয়াল এবং গ্রুপ প্রোজেক্টের মাধ্যমে আপনাকে দক্ষ করে গোড়ে তোলার চেষ্টা করা হবে এই সুবিশাল কোর্সে। এই কোর্স শেষে আপনি নিজেকে এমন একটি জায়গায় আবিষ্কার করবেন যেখান থেকে আপনি আইটি জগতের যেকোনো ফিল্ডে নিজেকে জড়িত করতে পারবেন। আপনার প্রোগ্রামিং এর ভিত্তি তৈরির কাজ করবে এই বুটক্যাম্পটি।
2. 50+ weeks - 2 CPW
A Long Journey for Long Career
Total 100+ Classes
Structured and Detailed Lectures
Regular Fee - 60K BDT
Fruitful Invesment for Your Career
BOOST YOUR BASE
BOOTCAMP
To be a perfect software engineer, we must build a solid
understanding of core concepts of computer science
and this 50+ weeks long Bootcamp is designed to make
all those complicated terms easier to you.
3. What You Will Learn
Programming Fundamentals
Problem Solving TacTics
Logic Building Techniques
Object Oriented Programming
Data Structures & Algorithms
Design Principles
Prerequisites
Basic Computer Uses
Download Software
30 WPM Typing Speed (Minimum)
Laptop and Internet Connection
10 hrs/week Practicing Time (Minimum)
Web Browsing
Highlighted Technologies
The C Programming Language
Java Programming Language
OOP using Java
Data Structure and Algorithm using Java
GOF Design Principles
Problem Solving on Online Judges
4. If we want to write a novel, we must master the language and it’s grammar first. Like so, to
be a perfect software engineer we must build a solid understanding about core concepts of
computer science. This 50+ weeks-long Bootcamp is designed to make all those compli-
cated terms easier to you. We will start with programming fundamentals and ends with
design principles and projects (individual & group).
This long Bootcamp is divided into 8 main different courses including -
1 Programming Fundamentals 5 Data Structures
6 Algorithms
7 Design Patterns
8 Group Project
2 Problem Solving TacTics
3 Explore Java Programming
4 Understand OO Programming
5. Problem Solving TacTics:
We can only learn code by implementing it. Programming is all about solving problems and if we want to master coding then we have to solve a lot of real or imaginary problems.
But finding problems at the beginning is tough. Online Judge is the solution here. We will teach you how to find and solve problems from the major online judges. At first, we will
use our C Programming skills to solve small problems but latter we will use OOP for solving more advanced problems.
Programming Fundamentals:
We will start from the beginning. And our journey starts with learning a programming language and understanding programming fundamentals. Here we will learn The C Program-
ming language and will cover the most important programming topics including array, string, function, pointer, struct, memory management and file system. As C programming
is the mother of all programming language we will try to cover all the necessary features of C Programming and will invest most of the time here to build our base.
Introduction to Java Programming:
C is a very good programming language but it is not a perfect fit for most of the enterprise applications. We need more higher-level languages to solve complex problems. Here
we can choose any Object Oriented Programming Language like C++, C#, Python or Java. But we will go with Java. Shifting from C Programming to Java is not a very big deal.
We will invest 3-4 weeks to feel comfortable with Java and its syntax.
Introduction to Object-Oriented Programming:
Our main goal to learn Java is learning Object-Oriented Programming (OOP). Object-Oriented is just a concept that is widely used with most of the programming languages. The
concept of OOP is very easy and learning those concepts will take no more than 4 weeks. But learning the way software engineers implementing OOP is pretty difficult and it
will take some experience to design any software using OOP. We will try to share our OOP design experiences with you that you guys can easily understand the real situation
and its solution.
Data Structures:
One of the most important concepts of computer science is Data Structures mean how we will arrange our data that we can easily insert, find, update or remove. There are two
types of data structures available - Linear and Non-Linear. We will try to cover all the common data structures you will use in your daily life.
Algorithms:
Another important concept of computer science is Algorithms which basically means how we can solve a given problem. Actually whatever code we write on a daily basis to
solve a problem is an algorithm but here we are not talking about that. Computer scientists always try to find a better, efficient solution to common problems and we usually
use those solutions as algorithms. There are several types of algorithms available most of them are related to Data Structures, Searching, Sorting or Finding Shortest Path. Here
we will try to cover all major Algorithms.
6. Group Projects:
We will have a lot of projects and assignments throughout the camp and in the end we will have a group project. This project will not like enterprise projects but most like uni-
versity projects. Here we will learn how to manage versions, collaborate with teams and share the same code base alongside with the project.
Design Principles:
Design Principles are like Algorithms which is also predefined solutions to real-world problems but it is related to solving and design a real software application rather than
a small piece of the problem. Software Engineers found four different situations that are really common to every software system and create four different types of patterns
which is called Gang of Four. They are - Creational Patterns, Collectional Patterns, Structural Patterns, and Behavioural Patterns. We will try to cover all those patterns.
7. Section No : 0
Total Class: 02 Total Hour: 04
Introduction and Bootcamp Planning
Topics Covered in This Section
Bootcamp Planning
Programming Roadmap
Environment Setup
01
Orientation Class
This is our orientation class. We will intro-
duce with each other and celebrate our start
of new journey.
02 Bootcamp Planning
This is a very long bootcamp and we must
have a perfect plan to complete it and obvi-
ously track our progress.
8. Section No : 1
Total Class: 20 Total Hour: 40
Programming Fundamental with C
Topics Covered in This Section
Programming Fundamental Topics
Memory Allocation and File I/O
Structures and Unions
String and Pointers
Functions and Arrays
03
Programming, Environment Setup
& Programming Workflow
Getting started with programming by under-
standing programming workflow and setting
up environment to write and execute codes.
04
Statements, Variables, Data Types
Learn about programming statements, vari-
ables, data types and basic calculation
alongside with standard input output
05
Data Types Advanced and Operators
Learn about almost all types of data, bit byte
system, memory managements and differ-
ent operators provided with C language.
06
Decision Making in Programming
To make decision based on different condi-
tion we will learn if, if else, else if and switch
statements with examples and flow chart.
07
Loops and Repetition in Programming
We will learn for loop, while loop, do while
loop, break and continue statements to do
repetitive tasks.
08
Start Problem Solving Journey
& Mathematics Discussion
To build our analytical skills we will solve
problems on different online judges and
practice some mathematics too.
9. 09 Deal with Functions in C Programming
We will discuss about function declaration,
invoking function, function prototype, argu-
ments, parameter and return statements.
10
Basic Arrays in Programming (Theory)
What is array? How does array work? Why
do we need array? discussion about com-
plete theory of array in programming.
11
Basic Arrays - Implementing in
C Programming Language
How to declare an array? How to retrive data
from arrays? How to travervse array element
, add, insert, delete, update array elements?
12
Array CRUD Operations and
Searching Sorting
Simple array project with CRUD operations.
How to sort array elements? How to search
any element from array?
13
2D and 3D Arrays in C Programming
What is 2D and 3D array? How to traverse
multi dimensional array? How to update and
delete multi dimensional array?
14
Understanding Strings
in C Programming
What is String in C Programming? How to
create String? How to work with String in C
Programming Language?
15
String Common Operations
in C Programming
Find string length, string concatenation,
string comparision, sub string and searching
strings.
16
Understanding The Concept of Pointer
What is Pointer? How does it works? Why do
we need a Pointer? Pointer and memory
management system and pointer theory.
17
Working with Pointer in C
How to declare a pointer? How to use a
pointer? Pointer and arrays, pointer arithme-
tic operations and pass by refferences.
10. 18
Pointer and Dynamic Memory
Allocations
Memory allocation and it’s importance, Dy-
namic array, garbage collections and
calloc(), malloc(), realloc() and free().
19
Structures, Union and ENUMs in
C Programming
What is structures and union in C? How to
work with structures and union? Struct vs
Union? How to work with ENUM in C?
20
File Handling in C Programming
What is file handling? Accessing to files,
different file modes, read-write-append files,
copy, delete, renaming files in C.
21
Header Files and Directives in
C Programming
Understanding header file and directives in C
Programming. Standard header files and
directives. How to create custom header file?
22
Project Idea and Architecture
Discussion
Management type individual project. Discus-
sion about project idea and it’s architectures
11. Section No : 02
Total Class: 06 Total Hour: 12
Introduction to Java Programming
Topics Covered in This Section
Understanding Java
Java Virtual Machine and Portability
Setup Working Environment
Programming Fundamental Java Syntax
23 Understanding Java & Setup
Working Environment
Java Virtual Machine, Understand Portable
Code, Understand and Install JDK, Java Pop-
ular IDE’s and Install Intellij Idea.
24 Basic Syntax and Data Types in Java
System IO, Basic Skeleton, Data Types and
Operators. How to comment Java code?
25 How to Deal with Strings in Java
String, Mutable and Immutable Objects.
Strings are Object. String methods, String
comparisionandUnicodeCharacterEncoding
26 How to Deal with Arrays in Java
How to declare arrays? How to traverse
arrays? Common array methods in Java.
27 Understanding Methods in Java
What is Method? How to declare method?
How to invoke method? Function vs Method
and namin convension in Java.
28 Exceptions and Error Handling in Java
What is Exception? How to handle exception
in Java? Builtin Exceptions. How to create
and throw custom exceptions?
12. 29 Understanding Object Oriented
Theory in Details 30 Understanding Object and Classes
in Java 31 Is a Relationship vs Has a
Relationship (Inheritance)
32 Method Overloading vs Method
Overriding (Polymorphism) 33 Runtime Polymorphism and Method
Bindings 34 Abstraction in Java using Abstract
Class and Interface
Section No : 03
Total Class: 22 Total Hour: 44
Introduction to Object Oriented Programming
Topics Covered in This Section
Object Oriented Methodologies
Basic Design Principles
Real Life Examples of OOP
Object, Object-Oriented Programming
Main concepts of OOP, OOP big picture by
examples,How does OOP help us
Understanding polymorphism, Method
overloading, Method overriding, Covariant
return type
IdentifyingObject,ObjectandClasses,Constructor,
Classproperties,Staticproperties,thiskeyword,
toStringmethod,Instancevariablesandobject
Super keyword,final keyword,Instance initializer
block,InstanceOf operator,Runtime
polymorphism, static vs dynamic binding
What is abstraction, Understanding abstract
class, Understanding Interface, extends vs
implementS
What is Inheritance, Understanding the
concepts behind the inheritance, Extends
keywords, Has a relationship
13. 35 Package, Access Modifier and
Encapsulation 36 Java Wrapper Classes and Object
Class Architecture 37 Java Memory Model - Pass By
Reference vs Pass By Value
38 Unified Modelling Language -
UML Diagram 39 Understanding OOP using Date and
Calendar Classes 40 Java Collections - List and Set
41 Java Collections - Queue, Map
and Hash Table 42 Java Collections - Sorting,
Comparable, Comparator Interafaces 43 Understanding Generics using
Collection Frameworks
Package, Access Modifier, Encaptulation
What is UML, How to create a class diagram
using UML, UML Crash Course
Different Types of Queue and Dequeue ,
Different Types of Map, Different Types of
Hash Table
Object Class Methods, Object Clonings,
Wrapper Classes, toString()
Understand Date Class Architecture,
Understand Calendar Class Architecture, Date
Class Methods,Calendar Class Methods
How to sort a collection of objects,
Comparable interface, Comparator interface
Pass By Reference vs Pass by Value, Java
Memory Model, clone(), equals()
What is the Collection Framework? Different
Type of Lists, Different Type of Sets
What is generics, How to use generics,
Where to use generics
14. 44 Object Oriented Case Study 1
45 Object Oriented Case Study 2
46 File Handing in Java
47 GUI Programming using Java Swing 1
48 GUI Programming using Java Swing 2
49 Project Architecture, Planning and
Discussion 1
50 Project Architecture, Planning and
Discussion 2
Object Oriented Case Study 1
GUI Programming using Java Swing 1
Object Oriented Case Study 2
GUI Programming using Java Swing 2
Read, write and append files, Basic file
operations
Project Architecture, Planning and
Discussion 1
Project Architecture, Planning and
Discussion 2
15. 51 Introduction to Data Structures
52 Understand Stack and Queue with
Implementation 53 Implement Infix, Suffix and Prefix
54 Implement Priority Queue and
Dequeue 55 Implement Singly Linked List
56 Implement Circular and Doubly
Linked List
Section No : 04
Total Class: 15 Total Hour: 30
Data Structures Anatomy
Topics Covered in This Section
Linear vs Non Linear Data Structures
Lists and Sets
Stacks and Queues
Recursive Programming
Map and Hash Tables
Trees and Binary Search Trees
Real Life Examples of OOP
Data Structure, Importance & type of data
structures, linear vs non-linear data
structures, Array data structure
What is the priority queue & dequeue.
Implement priority queue & dequeue.
Implement Stack using array & Queue using
array
Understand & Implement infix, suffix and
prefix using stack
What is linked list, How does linked list work,
Implement singly-linked list
What is a circular linked list & doubly linked
list. implement a circular linked list & doubly
linked list.
16. 57 Implement Stack and Queues using
Linked List 58 Implement Sets using Linked List
59 Understanding Recursive Functions
60 Implement Linked List using
Recursive Function 61 Understanding Maps and Hash Table
62 Implement Binary Search Trees
63 Implement Heaps Data Structure
64 Understanding Graph Data Structure
65 Implement Graph Data Structures
Implement Graph Data Structures
What is Tree, Implement Binary SearchTrees,
Tree CRUD operations, Searching a Binary
Search Tree
What is the recursive function, How does
recursive function work, Implement recursive
function
What is Set, Implement set using linked list
What is Map & Hash Table.
Implement Maps & Hash Tables.
What is Graph, How does graph work, How
to implement graph data structure
What is heap, How to implement heap
Implement Linked List using Recursive
Function
Implement Stack and Queues using Linked
List
17. 66 Understanding Algorithm Analysis
67 Searching Algorithm - Linear and
Binary Search 68 Sorting Algorithm - Bubble Sort,
Insertion Sort and Selection Sort
69 Sorting Algorithm - Merge Sort
70 Sorting Algorithm - Quick Sort
71 Understanding Divide and Conquer
Section No : 05
Total Class: 15 Total Hour: 30
Algorithms Anatomy
Topics Covered in This Section
Algorithm Analysis
Searching Algorithm
Sorting Algorithm
Divide and Conquer
Dynamic Programming
Greedy Algorithm
Backtracking
Graph Algorithms
Bubble Sort, Insertion Sort, Selection Sort
Divide and Conquer algorithm
Linear Search, Binary SearchWhat is an algorithm, How to analysis algo-
rithms
What is Merge Sort, How does merge sort
work, Implement merge sort
What is Quick Sort, How does quick sort
work, Implement quick sort
22. 97 Git, Github and Collaboration
98 Project Management Tools and
Techniques 99 Project Architecture and Planning
100 Model View Controller Architecture
Section No : 07
Total Class: 04 Total Hour: 08
Group Project and Project Management
Topics Covered in This Section
Git and Github
Project Management with Trello
Project Architecture
What is Git & Source Code Management
System, How to Collaborate using Git and
Github
Understanding MVC, How to work with MVC
What is Project Management, How to
Manage a Software Project, Project Manage-
ment Tools Trello
UML Diagram, Source Code Planning,
Project Directory Structures