This course will introduce the core aspects of computer science and programming. We will move past the basic of programming, and explore Ruby as server-side scripting language with MongoDB as database. The course aims to make you a full-stack web developer.
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, here you will understand the general concept of computer programming, and take you deeper into specialized programming language (Ruby), then get you engage with practical aspect of coding both with front-end and back-end programming – Javascript, HTML, CSS, Ruby and Ruby on Rail, 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 Ruby Programming and Development Environment Setup
- Understand Formatting: capitalize, upcase, downcase, reverse, length
- Understand Ruby Operators – Arithmetic, Logic…
- Understand Ruby Control Structures,
- Understand Combined Comparison Operator (Spaceship Operator)
- Understand the Concept of Create Read Update Delete (CRUD) and Ruby Lambdas
- And Many More …
-
Module 4: Introduction to Object Oriented Programming (OOP)
- Understanding what Object Oriented Programming is
- Understand Classes and Instances
- Understand class methods and static methods
- Understand OOP Paradigms
- Understand the Concept of Inheritance
- Understand how Object can be Process
- And Many More …
-
Module 5: Data Structure
- Understand what Data Structure is
- Understand Ruby Data Structures
- Understand Arrays in Ruby Data Structure
- Understand Hash in Ruby Data Structure
- Understand Ruby’s Built in Hash Methods
- And Many More …
-
Module 6: Algorithms
- Understand what Algorithm is
- Understand the Concepts of Ruby Algorithms
- Understand Bubble sort algorithm implementation in Ruby
- Understand Date Algorithms in Ruby
- Understand Ruby Merge Sort Implementation
- Understand Ruby Implementation of Quick Sort
- 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 Ruby Recursion and Objects
- 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 Insertion Sort algorithm with Python
- Understand Bubble Sort algorithm with Python
- Understand Merge, Bubble and Quick Sort in Ruby
- 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 145
- Quizzes 0
- Duration
- Skill level All levels
- Language English
- Students 8
- Assessments Yes
-
Module 1: Introduction to Computer Science
-
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
- Introduction to Programming
- Ruby Programming – 1 – Install Ruby and Editor
- Ruby Programming – 2 – Komodo IDE
- Ruby Programming – 3 – Arithmetic Operators Tutorial
- Ruby Programming – 4 – if – else – elsif
- Ruby Programming – 5 – Formatting: capitalize, upcase, downcase, reverse, length
- Ruby Programming – 6 – .split and arrays
- Ruby Programming – 7 – How to Write Arrays in Ruby
- Ruby Programming – 8 – Write a Hash
- Ruby Programming – 9 – gets.chomp Method
- Ruby Programming – 10 – More on Hashes
- Ruby Programming – 11 – Functions
- Ruby Programming – 12 – counter – index – .each do
- Ruby Programming – 13 – Functions with Numbers
- Ruby Programming – 14 – Pythagorean Theorem Calculator
- Ruby Programming – 15 – All about Loops
- Ruby Programming – 16 – Find and Replace Program
- Ruby Programming – 17 – Multidimensional Arrays
- Ruby Programming – 18 – Find Prime Numbers
- Ruby Programming – 19 – Histogram and Sorting
- Ruby Programming – 20 – Combined Comparison Operator (Spaceship Operator)
- Ruby Programming – 21 – How to Write a Sort Method
- Ruby Programming – 22 – Hashes and Symbols
- Ruby Programming – 23 – Add an Item to a Hash
- Ruby Programming – 24 – CRUD Create Read Update Delete
- Ruby Programming – 25 – CRUD Part 2 of 2
- Ruby Programming – 26 – Ternary Conditional Expression
- Ruby Programming – 27 – When and Then
- Ruby Programming – 28 – Conditional Assignment Operator
- Ruby Programming – 29 – Ruby for SketchUp
- Ruby Programming – 30 – First SketchUp Plugin
- Ruby Programming – 31 – Shovel Operator
- Ruby Programming – 32 – Yield
- Ruby Programming – 33 – Ruby Procs Explained
- Ruby Programming – 34 – Ruby Lambdas Explained
- Ruby Programming – 35 – Ruby Classes
- Ruby Programming – 36 – Ruby Global Variables
- Ruby Programming – 37 – FizzBuzz Game
-
Additional Resources
-
Module 4: Introduction to Object Oriented Programming (OOP)
In this module, we will cover general OOP concepts and how it apply to Ruby. 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
- Practical Object-Oriented Design in Ruby Chapter 1
- Practical Object-Oriented Design in Ruby Chapter 2 (Part 1/2)
- Practical Object-Oriented Design in Ruby Chapter 2 (Part 2/2)
- Practical Object-Oriented Design in Ruby Chapter 3
- Practical Object-Oriented Design in Ruby Chapter 4 (1/2)
- Practical Object-Oriented Design in Ruby Chapter 4 (2/2)
- Practical Object-Oriented Design in Ruby Chapter 5
- Practical Object-Oriented Design In Ruby Chapter 6
- Practical Object-Oriented Design In Ruby Chapter 7
- Practical Object-Oriented Design In Ruby Chapter 8
- Practical Object-Oriented Design In Ruby Chapter 9
-
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 Ruby.
-
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 Ruby.
-
Additional Resources
-
Module 7: Recursion in Programming
-
Additional Resources
-
Module 8: Sorting and Searching Operation
-
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 Resources