This course aims to teach student full-stack web development using NodeJS as the programming language and MongoDB as database. The course will get you started with introduction to computer science and programming, object oriented programming, front-end scripting language etc.
COURSE DESCRIPTION
In this course, we will start with the basic concept of computer science that will take you into another aspects of computer science called computer programming, where you will understand the general concept of computer programming, and take you deeper into specialized programming language (NodeJS), then get you engage with front-end and back-end programming – Javascript, HTML, CSS, NodeJS, MongoDB. This course aims to give you what it takes to become a world class full-stack web developer.
CERTIFICATION
On completion.
LEARNING OUTCOME
-
Module 1: Introduction to Computer Science
- Understand what computer science is
- Understanding Bits
- Understand How Computers Represent Texts
- Understand Hexadecimal Notation
- Understand the Concepts of Two’s Complement to Decimal
- Understand the Concepts of Bias-K/Excess-K
- And Many More …
-
Module 2: The Internet
- Understanding Wires, Cables, & Wifi
- Understanding IP, HTTP, HTML and DNS
- Understand Packets, Routing and Reliability
- Understand Concepts of Encryption & Public Keys
- Understand the Concepts of Cyber security & Crime
- Understand The Internet and the World Wide Web
- And Many More …
-
Module 3: Introduction to Computer Programming
- Understanding the Concepts of Programming
- Understand NodeJS Programming and Development Environment Setup
- Understand Built-in Modules – Node Package Manager (NPM)
- Understand Callbacks Function
- Understand Events and Error Handling
- Understand File Stream
- Understand Network and Advance Network Programming
- And Many More …
-
Module 4: Introduction to Object Oriented Programming (OOP)
- Understanding what Object Oriented Programming is
- Understand Handling Multiple Requests
- Understand References to Objects
- Understand Prototype and Modules
- Understand how to Creating a Basic Server and
- Understand how to Pass JSON Data Using Routes
- And Many More …
-
Module 5: Data Structure
- Understand what Data Structure is
- Understand PHP Data Structures
- Understand Arrays
- Understand how Process Queues
- Understand Binary Trees
- Understand Algorithms with Big-O Notation
- And Many More …
-
Module 6: Algorithms
- Understand what Algorithm is
- Understand the Concepts of Algorithms and its Importance
- Understand Algorithm analysis and the Big O notation
- And Many More …
-
Module 7: Recursion in Programming
- Understand what Recursion is
- Understand Recursion Basic
- Understand Data Structure Recursion
- Understand Recursion Linked List
- Understand the Greatest Recursion Problem
- Understand NodeJS Recursive Functions
- And Many More …
-
Module 8: Sorting and Searching Operation
- Understand Insertion and Selection Sort
- Understand Bubble, Merge and Quick Sort
- Understand Linear and Binary Search Operation
- Understand Binary Search Tree – Traversal & Height
- Understand Map Data Structure & ES6 Map Object
- Understand Graph Data Structure Intro (adjacency list, adjacency matrix, incidence matrix)
- And Many More …
-
Module 9: Software Engineering Principles
- Understand Design Model and Design Concepts
- Understand Requirements Modeling Flow, Behavior, Patterns and Web Apps
- Understand Agile Development
- Understand Architectural Design – Component Level Design, User Interface Design and Pattern Base Design
- Understand Software Quality Concepts and Assurance
- Understand Software Testing Strategies
- And Many More …
SYLLABUS
- Week 1: Introduction to Computer Science – Module 1
- Week 2: The Internet – Module 2
- Week 3: Introduction to Computer Programming – Module 3
- Week 4: Python Programming – Module 3
- Week 5: Introduction to Object Oriented Programming – Module 4
- Week 6: Data Structure – Module 5
- Week 7: Algorithm and Recursion in Programming – Module 6 & 7
- Week 8: Sorting and Searching Operation – Module 8
- Week 9: Software Engineering Principle – Module 9
Course Features
- Lectures 138
- Quizzes 0
- Duration
- Skill level All levels
- Language English
- Students 158
- Assessments Yes
-
Module 1: Introduction to Computer Science
In this module, we will walk you through basic concept of computer science and get you on the right track to software development. This course is just a starting point to get you started, subsequent courses in this series will get started with specialized aspect of computer programming languages and how to apply these languages to development a complete software.
-
Additional Resources
-
Module 2 : The Internet
The Internet is the global system of interconnected computer networks that use the Internet protocol suite (TCP/IP) to link devices worldwide. It is a network of networks that consists of private, public, academic, business, and government networks of local to global scope, linked by a broad array of electronic, wireless, and optical networking technologies. The Internet carries an extensive range of information resources and services, such as the inter-linked hypertext documents and applications of the World Wide Web (WWW), electronic mail, telephony, and peer-to-peer networks for file sharing. In the this course, we will cover what the internet is and how it works.
-
additional Resource
-
Module 3: Introduction to Computer Programming
In this module, you will be introduced to computer programming as an act of developing and implementing various sets of instructions to enable a computer to do a certain task. These instructions are considered computer programs and help the computer to operate smoothly.
- Introduction to Programming
- Computer Programming -1- Introduction
- Computer Programming -2- Environment Setup
- Computer Programming -3- Basic Applications
- Computer Programming -4- Package Manager npm
- Computer Programming -5- Callbacks Function
- Computer Programming -6- Events
- Computer Programming -7- Error Handling
- Computer Programming -8- File Stream
- Computer Programming -9- Network Programming
- Computer Programming -10- Advance Network Programming
-
Additional Resources
-
Module 4: Introduction to Object Oriented Programming (OOP)
In this module, we will cover general OOP concepts and how it apply to NodeJS. In nutshell, OOP is the type of software design in which programmers define not only the data type of a data structure, but also types of operations that can be applied to the data structure.
- Understand Object-Oriented Programming
- NodeJS Object Oriented Concept -1- Basic Concepts
- NodeJS Object Oriented Concept -2- Handling Multiple Requests
- NodeJS Object Oriented Concept -3- Understanding References to Objects
- NodeJS Object Oriented Concept -4- this
- NodeJS Object Oriented Concept -5- Prototype
- NodeJS Object Oriented Concept -6- Modules
- NodeJS Object Oriented Concept -7- More on Modules
- NodeJS Object Oriented Concept -8- Shared State of Modules
- NodeJS Object Oriented Concept -9- Object Factory
- NodeJS Object Oriented Concept -10- Core Modules
- NodeJS Object Oriented Concept -11- Creating a Basic Server
- NodeJS Object Oriented Concept -12- Simple Web File Server
- NodeJS Object Oriented Concept -13- Connect
- NodeJS Object Oriented Concept -14- Express
- NodeJS Object Oriented Concept -15- Handling User Requests
- NodeJS Object Oriented Concept -16- Understanding app.js
- NodeJS Object Oriented Concept -17- EJS
- NodeJS Object Oriented Concept -18- Adding More Pages
- NodeJS Object Oriented Concept -19- Working with JSON Data
- NodeJS Object Oriented Concept -20- Passing JSON Data Using Routes
-
Additional Resources
-
Module 5: Data Structure
Data Structure is a specialised format for organising, storing and retrieving data. In this module, we will walk you through the concept of data structure and how it’s applied to NodeJS.
- Introduction to data structures
- NodeJS/Javascript Data Structure -1- Introduction to Arrays
- NodeJS/Javascript Data Structure -2- All about Queues
- NodeJS/Javascript Data Structure -3- Introduction to Binary Trees
- NodeJS/Javascript Data Structure -4- Describing Algorithms with Big-O Notation
- NodeJS/Javascript Data Structure -5- Sorting
-
Additional Resources
-
Module 6: Algorithms
An algorithm is a step by step way or procedure of performing a task. In this module, we will walk you through the concept of algorithm and how it’s applied to NodeJS.
-
Additional Resources
-
Module 7: Recursion in Programming
Most computer programming language support recursion by allowing a function to call itself within the program in order to solve a problem. Thus, recursion is a method where the solution to a problem depends on solutions to smaller instances of the same problem. In this module, we will walk you through the concept of algorithm and how it’s applied to NodeJS.
-
Additional Resources
-
Module 8: Sorting and Searching Operation
Sorting is the process of organising item in a particular way, while searching is the process of locating an item. In this module, we will introduce sorting and searching technique with the use of algorithm and NodeJS.
- Insertion Sort
- Selection Sort
- Bubble Sort
- Merge Sort
- Quicksort
- Linear Search
- Binary Search
- NodeJS/Javascript -1- Stacks
- NodeJS/Javascript -2- Sets
- NodeJS/Javascript -3- Queues & Priority Queues
- NodeJS/Javascript -4- Binary Search Tree
- NodeJS/Javascript -5- Binary Search Tree: Traversal & Height
- NodeJS/Javascript -6- Map data structure & ES6 map object
- NodeJS/Javascript -7- Hash Tables
- NodeJS/Javascript -8- Linked List
- NodeJS/Javascript -9- Trie Data Structure
- NodeJS/Javascript -10- Heap Data Structure (max and min)
- NodeJS/Javascript -11- Graph Data Structure Intro (inc. adjacency list, adjacency matrix, incidence matrix)
-
Additional Resources
-
Module 9: Software Engineering Principles
Software engineering is an engineering branch associated with development of software product using well-defined scientific principles, methods and procedures. The outcome of software engineering is an efficient and reliable software product. In this module, we will walk you through software engineering principle.
- Software Engineering Introduction
- Process Model
- Agile Development
- Principles to Guide Practice
- Understanding Requirements
- Requirements Modeling
- Requirements Modeling Flow, Behavior, Patterns and Web Apps
- Design Concepts
- Architectural Design
- Component Level Design
- User Interface Design
- Pattern Base Design
- Web App Design
- Quality Concepts
- Review Technologies
- Software Quality Assurance
- Software Testing Strategies
- Testing Conventional App
- Testing Object Oriented App
- Testing Web App
- Formal Modeling and Verification
- Software Configuration Management
- Product Metrics
- Project Management Concepts
- Process and Project Metrics
- Estimation for Software Project
- Project Scheduling
- Risk Management
- Maintenance and Re-engineering
- Software Process Improvement
- Emerging Trends
- Concluding Comments
-
Additional Resource