This course will get you started from scratch by introducing computer science and programming concepts. The course will familiarize you with Python as the server-side scripting language, HTML, CSS and JavaScript as the client-side scripting language.
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 (Python), then get you engage with practical aspect of coding both with front-end and back-end programming – Javascript, HTML, CSS, Python, JSON, REST API, MySQL, SQLite, Django Framework and Pythonanywhere cloud. This course aim at giving you what you need 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 CybEUnderstand 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 Python Programming and Development Environment Setup
- Understand Built-in Modules and Functions in Python
- Understand Python Operators – Arithmetic, Logic…
- Understand Python Control Structures,
- Understand the Default parameters and Multiple Arguments in Python
- Understand Class Constructors (__init__) and Destructor (__del__), Subclasses, Superclasses and Inheritance
- 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 Special (Magic/Dunder) Methods
- Understand the Property Decorators – Getters, Setters, and Deleters
- And Many More …
-
Module 5: Data Structure
- Understand what Data Structure is
- Understand Python Data Structures
- Understand Tree in Python Data Structure
- Understand Ways to Represent Graphs
- Understand Hashmap using Lists
- Understand Binary Search, Linked Lists, Lists, Tuples, Sets & Dictionaries
- And Many More …
-
Module 6: Algorithms
- Understand what Algorithm is
- Understand the Concepts of Python Algorithms with Data Structures
- Understand Algorithms & Pseudo-code (How to plan your programs!)
- Understand Python for Numerical Algorithms
- Finding Anagrams with Python
- Maximum Contiguous Sub-array Problem O(n) with Python
- 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 Python 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 Insertion Sort algorithm with Python
- Understand Bubble Sort algorithm with Python
- Understand Sorting Algorithms Benchmarks Comparison
- 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 176
- 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
- Getting Started and Installing Python (For Absolute Beginners)
- Numbers and Math in Python
- Variables and Inputs
- Built-in Modules and Functions
- Save and Run Python files .py
- Strings
- Python Lists
- Python Slices or Slicing
- Python IF ELSE Statements
- Python elif and nested if Statements
- Comparison operators , Logical Operators , is and in
- While Loop and For Loops in Python
- Defining Functions
- Default parameters and Multiple Arguments in Python
- Classes and Self
- Class Constructors (__init__) and Destructor (__del__)
- Subclasses , Superclasses and Inheritance
- Install PyCharm ( Python IDE ) on Windows 8 + Create and Run First Project
- Install PyCharm Python IDE on Ubuntu Linux + Create and Run First Project
- Python Programming Tutorial | Learn Python programming | Python language
- How to Download and Install Python 3.6 on Windows 10
- How to Install Python and PyDev Plugin in Eclipse + Create a Simple PyDev Project
- How to Install Python 3.6 on Mac OS X
-
Additional Resources
-
Module 4: Introduction to Object Oriented Programming (OOP)
In this module, we will cover general OOP concepts and how it apply to Python. 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.
-
Additional Resources
-
Module 5: Data Structure - Python
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 Python.
- Introduction to data structures
- Trees – Python Data Structures
- Ways to Represent Graphs – Python Data Structures
- Hashmap using Lists – Python Data Structures
- Binary Search Tree part-2: Remove – Python Data Structures
- Lists, Tuples, Sets & Dictionaries – Python Data Structures
- MaxHeap heapsort – Python Data Structures
- Binary Search Tree – BST – Python Data Structures
- Linked Lists – Python Data Structures
- Doubly Linked Lists – Python Data Structures
-
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 Python.
- Introduction to Algorithms
- Python Algorithms For Beginners Tutorial 1 – Selection Sort and cProfile
- Learning Algorithms and Data Structures in Python
- Let’s Learn Python #20 – A* Algorithm
- Intro to Algorithms in python
- Python 3 Programming Tutorial [16] Algorithms & Pseudocode (How to plan your programs!)
- Performance Python for Numerical Algorithms
- Algorithms: Finding Anagrams (Python)
- Algorithms: Maximum Contiguous Subarray Problem O(n) (Python)
- Algorithms – Bubblesort
- Python – List Comprehensions
- List Comprehensions
- Sets – Python
-
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 Python.
-
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 Python.
-
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
- Architetural 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