Best Computer Science Courses

Find the best online Computer Science Courses for you. The courses are sorted based on popularity and user ratings. We do not allow paid placements in any of our rankings. We also have a separate page listing only the Free Computer Science Courses.

7 Scientifically Proven Steps to Increase Your Influence

Learn the science of charisma. Increase your impact, influence and income using 7 science based steps.

Created by Vanessa Van Edwards - Author and Behavioral Investigator


Students: 281609, Price: Free

Students: 281609, Price:  Free

I'm going to help you increase your influence. This is a completely new way to think about how you interact with people and the impact you have on those around you.

And you can learn this method in seven basic steps.

Whether you are in the business world, dating situations or the social scene you have to master the impact you have on the world.

My goal is to you make you more memorable, influential and charismatic.

Our Approach:

My teaching method can be summed up in three bullets:

  • Heavily Science Based
  • Entertainment + Education = Edutainment (I love to make up words)
  • Tactical and Actionable

I take a science based approach to influence. These aren't tricks or gimmicks. They are steps based on years of research out of academic institutions and peer-reviewed journals.

Although I have a lot of science, I have a cheeky sense of humor. So I promise, the course will surprise and entertain you.

I kept this course concise, compact and actionable because you're busy and you want change NOW! I got you.

The Seven Steps of Influence:

  1. Turn People On
  2. Be Emotionally Horny
  3. Let's Get Physical
  4. Once Upon a Time...
  5. Get Naked
  6. Favor Me?
  7. Get Contagious

I mean, come on...with titles like that how could you not take this course?

How This Course Will Change Your Life:

When you walk into a room, people will remember you.

When you introduce yourself, people will want to know your name.

When you meet someone, they will want to do business with you.

Let's Banish:

  • Awkward Moments
  • Not Feeling Worthy
  • Low Self-Esteem
  • Dreading Events
  • Being Boring

What People Are Saying About Us:

"This is one of the most exciting courses I have taken on Udemy! I love Vanessa's style and energy."

--Tara Zweibeck

"There are no scenarios in which Vanessa's courses are not helpful. Her teaching is dynamic, engaging and informative. She is clearly passionate about her field and that enthusiasm is infectious. I'm hooked!"

--Jennifer Gentile

"I feel like I have a super power after taking Vanessa's course. Her blend of science and self-help is fricking brilliant. Thank god I found her work."

--Dave Halpreen

Fundamentals of Computer Hacking

Everyone can become a hacker provided they learn it from the basics and build a solid foundation. Start with this course

Created by infySEC Global - Head - Cyber Security Research


Students: 197275, Price: Free

Students: 197275, Price:  Free

This Course is the fundamental course on Ethical Hacking which delivers knowledge of real time attack vectors and defensive methods. This course has been designed by group of globally recognized Information Security Professionals to meet the participant and organization expectations. For easy understanding for the participants , LIVE practical demonstration on the appropriate full fledged courses.

This course delivers comprehensive deep understanding of how attacker’s works in dark and methodology they follow to deface a network. In other hand, how the Information Security Professionals working in an organization identifies these methodologies and deface attackers.

This course will give a idea to know how our other full courses will be like.

Introduction to Data Science using Python (Module 1/3)

Learn Data science / Machine Learning using Python (Scikit Learn)

Created by Rakesh Gopalakrishnan - Over 260,000 Students


Students: 120642, Price: Free

Students: 120642, Price:  Free

Are you completely new to Data science?

Have you been hearing these buzz words like Machine learning, Data Science, Data Scientist, Text analytics, Statistics and don't know what this is?

Do you want to start or switch career to Data Science and analytics?

If yes, then I have a new course for you. In this course, I cover the absolute basics of Data Science and Machine learning. This course will not cover in-depth algorithms. I have split this course into 3 Modules. This module, takes a 500,000ft. view of what Data science is and how is it used. We will go through commonly used terms and write some code in Python. I spend some time walking you through different career areas in the Business Intelligence Stack, where does Data Science fit in, What is Data Science and what are the tools you will need to get started. I will be using Python and Scikit-Learn Package in this course. I am not assuming any prior knowledge in this area. I have given some reading materials, which will help you solidify the concepts that are discussed in this lectures.

This course will the first data science course in a series of courses. Consider this course as a 101 level course, where I don't go too much deep into any particular statistical area, but rather just cover enough to raise your curiosity in the field of Data Science and Analytics.

The other modules will cover more complex concepts. 

Build A Search Engine With Python: Computer Science & Python

AStateOfData.Com™ Computer Science With Python - Build A Search Engine With Python: Computer Science & Python

Created by A State Of Data - Training Center


Students: 104031, Price: $69.99

Students: 104031, Price:  Paid

AStateOfData.Com™ Computer Science With Python: An Absolute Beginners Guide To Computer Science

  1. Introduction


    Many of the online courses teach you to code but not the theory/way of thinking behind it why would we choose a while but not a for loop, why should we pass 2 parameters to a function but not only one?

This course will teach you how to think about solving coding problems throughout quizzes, there are 112 video format quizzes that aim to keep you engaged with the course and teach you the Python fundamentals in an easy to follow manner


    We provide a platform for thousands of people to expand the understanding of programming and computer science. Founded in 2013 our mission is to spread the love for programming. To achieve this, we're working hard on providing content that will help people build a solid foundation in those subjects.


    This course will help you to master the foundation and know-how to solve problems with Python code.

  2. The content in a nutshell


    This course will introduce you to the fundamental ideas in computing and teach you to read and write your own computer programs. We are going to do that in the context of building a web search engine.

    Uint 1 will teach you the python grammar and show you how to use variables, strings, and some Python built-in functions to work on them in order to create a web crawler that makes use of those.

    Unit 2 will take you in more depth in using procedures, loops, and the logical constructs in order to add more functionality to the crawler built-in unit 1.

    Unit 3 is about managing data through mastering the use of the different data types to be able to create the search engine index.

    Our biggest goal tho is to learn about computer science, So unit 4 focuses on teaching you how computers store data and how to be cost-effective when doing that. In addition to understanding the foundation of networks and data management.

    By the end of unit 5, you'll have a better understanding of how programs run and how to implement a hash table for our search engine.

    Unit 6 will extend the grammar we introduced in unit 1 and will show you how to get the best result for a search query.

    If the course gets much interaction and feedback, we'll work on units to demonstrate how to code real-world Python applications

That's the content in a nutshell. I hope you're as excited as I'm to start this learning journey, so just the enrollment today and thank me later.

   3. Who is the course for?


    This course is designed for extreme beginners with no computer science or programming background, it'll help them get up and running with Python and give them a foundational understanding of computer science concepts.


    If you're an experienced programmer or you already master Python and computer science concepts, then please do not take this course, unless you'd want a quick refresh on the Python programming foundation

  4. Learning objectives


    This course focuses on helping extreme beginners in mastering computer science and python programming theory, in order to be able to solve coding problems or develop their own applications.

  5. Conventions used in this course

Most of the snippets of code shown in this course (slides not interpreter), follows these color schemes:

  • Variable names: green

  • Operators: purple

  • Python built-in functions: cyan

  • Procedure names: blue

  • Boolean Values: golden yellow

  • Quizzes Questions and choices: orange

  • Quizzes correct answer: green thick

  • Quizzes false answer: red X

  • Python symbols: pink

This course is the first of a multiple-courses sequence: Introduction to Computer Science and Programming Using Python. Together, they are designed to help people with no prior exposure to computer science or programming learn to think computationally and write programs to tackle useful problems.

Since these courses may be the only formal computer science courses many of the students take, we have chosen to focus on breadth rather than depth. The goal is to provide students with a brief introduction to many topics so they will have an idea of what is possible when they need to think about how to use computation to accomplish some goal later in their career. That said, they are not "computation appreciation" courses. They are challenging and rigorous courses in which the students spend a lot of time and effort learning to bend the computer to their will.

In this introduction to computer programming course, you’ll learn and practice key computer science concepts. You’ll learn Python, a powerful, easy-to-learn, and widely used programming language, and you’ll explore computer science basics, as you build your own programs.

This Computer science and programming using python course will introduce you to the fundamental ideas in computing and teach you to read and write your own computer programs.

Computer science is about how to solve problems, like building a search engine, by breaking them into smaller pieces and then precisely and mechanically describing a sequence of steps that you can use to solve each piece. And those steps can be executed by a computer.

In this course, we will not get into everything that you need to be a programmer, but we will cover the main ideas and learn a lot about computer science along the way.

By the end of this course, you will be fluently programming in Python and you'll be so good at Python that you can get a job or use the language professionally.

You'll cover all that you need to be an accomplished Python Programmer. Including:

  • What is Programming

  • Why programming

  • Grammar and Python Rules

  • Backus Naur Form

  • Python Grammar

  • Processors

  • Introducing Variables

  • Variables Can Vary

  • Variables

  • Introducing Strings

  • Using Strings

  • Strings and Numbers - String Concatenation

  • String indexing

  • String subsequences

  • Understanding string selection

  • Finding string in string

  • Find Function With Parameter

  • Extracting links from a web page

  • Procedural abstraction

  • Introducing procedures

  • Procedure code

  • Procedure input

  • Procedure Output


  • Return Statement

  • Inc Procedure

  • Sum procedure

  • Square procedure

  • Equality Comparison

  • If statement

  • The Or construct

  • While loop

  • Factorial Function

  • Break Keyword

  • Print all links from a seed page

Data Science, Machine Learning, Data Analysis, Python & R

FREE Course on Data Science, Machine Learning, Data Analysis, Data Visualization using Python and R Programming

Created by DATAhill Solutions Srinivas Reddy - Data Scientist


Students: 65970, Price: Free

Students: 65970, Price:  Free

Interested in the field of Data Science, Machine Learning, Data Analytics, Data Visualization? Then this course is for you!

This course has been designed by two professional Data Scientists so that we can share our knowledge and help you learn complex theory, algorithms and coding libraries in a simple way.

We will walk you step-by-step into the World of Data Science. With every tutorial you will develop new skills and improve your understanding of this challenging yet lucrative sub-field of Data Science.

Moreover, the course is packed with practical exercises which are based on real-life examples. So not only will you learn the theory, but you will also get some hands-on practice building your own models.

And as a bonus, this course includes both Python and R code templates which you can download and use on your own projects.

Python For Data Science

This course specifically created for Data Science / AI / ML / DL. It covers BASICS PYTHON ONLY

Created by Vinoth Rathinam - Founder of NXTGEN A.I | Corporate Trainer | Data Scientist


Students: 57126, Price: Free

Students: 57126, Price:  Free

This course specifically created for A.I Aspirants ( Data Science/Deep Learning/Machine Learning students). It covers all the PYTHON BASICS topics. But still this course can also be learnt by other fields aspirants like Automation, Chatbots, WebDevelopers etc. Because for all the fields this course will create basic knowledge and with this you can self learn python library easily.

Note: Very soon Python Libraries such as NumPy, Pandas and Matplotlib courses will be launched. But for all these advanced course , this "Python For Data Science" course  will be the basement for it.

" 9 main reasons to Learn Python !!! "

1. Python’s popularity

When compared to all other programming language, python is extremely simple, easy to learn, interpret and implement. Due to this reason it became very popular and trending programming right now.

2. High salary

The job demand for python programmers are high. Python engineers have some of the highest salaries in the industry.

The average Python developer salary in the US is $110,021 and $123,743 per year according to the survey conducted by Gooroo and Indeed respectively

3. Python is used in Data Science

There are plenty of Python scientific packages for data visualization, machine learning, natural language processing, complex data analysis and more. All of these factors make Python a great tool for scientific computing and a solid alternative for commercial packages such as MatLab. The most popular libraries and tools for data science are Pandas, matplotlib, NumPy, scikit-learn, Mlpy, NetworkX, Theano, SymPy and TensorFlow

4. Python is used in Automation

IT industries are now moving towards Artificial Intelligence in Automation. So Python with Robot framework combination is the best alternative for Selenium Webdriver with Java as it is easier road map with no programming background.

5. Python used with Big Data

Pydoop is a Python interface to Hadoop that allows you to write a MapReduce program in Python and process data present in the HDFS cluster.

Its features such as a rich HDFS API; a MapReduce API that allows to write pure Python record readers / writers, partitioners and combiners, transparent Avro (de)serialization, and easy installation-free usage.

6. Chat Bots

A chat bot is an artificial intelligence-powered piece of software in a device (Siri, Alexa, Google Assistant etc), application, website or other networks that try to gauge consumer’s needs and then assist them to perform a particular task like a commercial transaction, hotel booking, form submission etc.

NLTK(Natural Language Toolkit) library is a leading platform for building Python programs to work with human language data.

7. Python in Web Development

Python has a wide range of frameworks for developing websites. The most popular frameworks are Django, Flask, Web2Py, Turbo Gears, etc. These frameworks are written in Python, so it’s easier to implement and use it for web development.

8. Computer Graphics in Python

Python is largely used to build GUI and desktop applications. The Python Computer Graphics Kit is a generic 3D package that can be useful in any domain where you have to deal with 3D data of any kind, be it for visualization, creating photorealistic images, Virtual Reality or even games

9. Game Developer

Python libraries such as PyGame, Pyglet , PyOpenGL etc. are used to develop 2D, 3D games with easy coding. Learning any one of these package can able to create rapid game prototyping or for beginners learning how to make simple games.

Master Complete Statistics For Computer Science – I

Course In Probability & Statistics Important For Machine Learning, Artificial Intelligence, Data Science, Neural Network

Created by Shilank Singh - Maths & Stats Tutor


Students: 48332, Price: $89.99

Students: 48332, Price:  Paid

In today’s engineering curriculum, topics on probability and statistics play a major role, as the statistical methods are very helpful in analyzing the data and interpreting the results.

When an aspiring engineering student takes up a project or research work, statistical methods become very handy.

Hence, the use of a well-structured course on probability and statistics in the curriculum will help students understand the concept in depth, in addition to preparing for examinations such as for regular courses or entry-level exams for postgraduate courses.

In order to cater the needs of the engineering students, content of this course, are well designed. In this course, all the sections are well organized and presented in an order as the contents progress from basics to higher level of statistics.

As a result, this course is, in fact, student friendly, as I have tried to explain all the concepts with suitable examples before solving problems.

This 150+ lecture course includes video explanations of everything from Random Variables, Probability Distribution, Statistical Averages, Correlation, Regression, Characteristic Function, Moment Generating Function and Bounds on Probability, and it includes more than 90+ examples (with detailed solutions) to help you test your understanding along the way. "Master Complete Statistics For Computer Science - I" is organized into the following sections:

  • Introduction

  • Discrete Random Variables

  • Continuous Random Variables

  • Cumulative Distribution Function

  • Special Distribution

  • Two - Dimensional Random Variables

  • Random Vectors

  • Function of One Random Variable

  • One Function of Two Random Variables

  • Two Functions of Two Random Variables

  • Measures of Central Tendency

  • Mathematical Expectations and Moments

  • Measures of Dispersion

  • Skewness and Kurtosis

  • Statistical Averages - Solved Examples

  • Expected Values of a Two-Dimensional Random Variables

  • Linear Correlation

  • Correlation Coefficient

  • Properties of Correlation Coefficient

  • Rank Correlation Coefficient

  • Linear Regression

  • Equations of the Lines of Regression

  • Standard Error of Estimate of Y on X and of X on Y

  • Characteristic Function and Moment Generating Function

  • Bounds on Probabilities

Decoding AP Computer Science A

Ace AP Computer Science A and get an Introduction to Java

Created by Moksh Jawa - High School Student


Students: 36133, Price: Free

Students: 36133, Price:  Free

Prepare for and ace the AP Computer Science exam!

Learn the basic concepts and functions of the Java programming language to create your own computer programs!

Learn more about computer science with a course with 115 lectures and over 10.5 hours of content FOR FREE!

  • Java Development Kit Installation
  • Types and Operators
  • Methods and Wrapper Classes
  • Object-Oriented Programming (OOP), Classes, and Objects
  • Loops and Conditionals
  • Inheritance and Polymorphism
  • Recursion and Sorting/Searching Algorithms

Content Overview
Suitable for beginning programmers, through this course of 115 lectures and over 10.5 hours of content, you’ll learn all of the Java fundamentals and establish a strong understanding of the concept behind object-oriented programming (OOP). Each chapter consists of exercises, putting your new learned skills into practical use immediately.

Starting with the installation of the Java Development Kit, this course will take you through Java variable types, operators, and how to use them. By creating classes and objects, you’ll a establish a strong understanding of OOP.

With these basics mastered, the course will take you through program flow control by teaching you how to use for loops, while loops, and conditional if-else statements to add complexity and functionality to your programs.

Students completing the course will have the knowledge to create functional and useful Java programs.

Complete with working files and code samples, you’ll be able to work alongside the author as you work through each concept, and will receive a verifiable certificate of completion upon finishing the course.

Essentials of Data Science

Discover what Data Science is all about

Created by Maximilian Schallwig - Data Scientist


Students: 25288, Price: Free

Students: 25288, Price:  Free

Data Science is growing ever faster as Big Data become an increasingly important part of our lives.
Because data is universal, the applications of Data Science are pretty much endless, all you need is access to the data of the system that you want to study.

Since it's such a new field, there are a lot of questions about what is Data Science, what do Data Scientists do, and what do you need to succeed as a Data Scientist? 

This course is designed to give you an overview of the three essential areas of Data Science, the areas that every good data scientist should know, and being proficient in these areas can be the key to your success. After this course you will have a clear understanding of what Data Science is all about, and can make a clear decision of if it's the right field for you. You will also know what areas are important in Data Science, and hence can make informed decisions on what areas to focus on learning.

When you really get into Data Science there are other areas that start coming in too, but all of these can be traced back to one, or multiple, of these three basic foundations.

Coding Interview Jumpstart: Algorithms and Problem Solving

Learn the principles behind fundamental computer science algorihms asked on interviews for top tech companies.

Created by Branko Fulurija - Proffessional programming tutor, 2x Microsoft intern, 5+ years of competitive programming, Full-Stack developer


Students: 22509, Price: Free

Students: 22509, Price:  Free


In this course we will together make the first steps in the exciting world of algorithms. If you have never learned anything about algorithms, don’t be afraid or intimidated. Algorithms aren’t as hard as people often consider them to be. I’m convinced that any programmer can master the art of problem solving and algorithms if he or she has the motivation to succeed. In fact, I believe that most of the algorithms can be very easy to understand if they are explained in a clear and simple way. 

Considering that I know how hard can the beginning be, because I have been in the same situation once, I have invested my knowledge and experience into this course, to help you guys making the first steps towards mastering algorithms and bringing you one step  closer to your dream job.


Section 1: Introduction

In this section, I will introduce you with the material and the structure of the course. 

Section 2: Algorithm Analysis

In section 2, we are going to talk about algorithm analysis. For some of you, this will be your first step into the world of algorithms and you will understand why is this such an important topic.

We are going to learn several things:

  • First, we will learn about the importance of analysis, and why do we have to analyze our solutions.

  • Then we are going to focus on Asymptotic notation, which is basically a language that allows us to analyze program running time by identifying its behavior as the input size for the algorithm increases.

  • After that we will focus on a specific type of notation, called Big-O notation, and we  will use the Big-O notation to compare algorithms.

  • Finally we are going to practice these concepts by calculating time and space complexity of some given algorithms.

Section 3: Sorting

Sorting is one of the most common algorithms in the world, if you look all around you can find a lot of applications that are using a sorting algorithm to put elements of some list in a certain order. The elements don’t have to be numbers, they can be strings or maybe some events which are sorted by date.

In this section we will learn several sorting algorithms:

  • Bubble Sort

  • Selection Sort

  • Insertion Sort

  • Merge Sort

  • Quick Sort

  • Counting Sort

For each algorithm we will determine the time and space complexity and compare trade-offs.

At the end of this section you will learn the most important sorting algorithms and you will be able to determine what is the best algorithm to use depending on the type and range of the data which needs to be sorted.

Section 4: Binary Search

This section is dedicated to a fundamental searching algorithm in computer science: binary search.

We start with an explanation about the basic idea of the algorithm and its implementation. 

Then we are going to explore some variations of binary search and how we can implement them:

  • Finding the first occurrence of a target value in the input array

  • Finding the last occurrence of a target value in the input array

  • Finding the number of occurrences of a target value in the input array

Section 5: BONUS: Interview Problems 

This section is a special bonus section, here I will post detailed interview problems solutions. I encourage you to post some interesting problems in the discussions, and each one-two weeks I will choose new problems and post a new video in this section where we solve those new problems.

I also encourage you to post questions about problems that you don't know how to solve or if you have some bugs in your code and you're not sure why your program isn't working

Learn NumPy Fundamentals (Python Library for Data Science)

All the basics to start using the python library NumPy

Created by Derrick Sherrill - Coffee Powered Coder


Students: 22217, Price: Free

Students: 22217, Price:  Free

Hello Everyone! In this course I'll cover the basics of using number and have several interactive course videos that will challenge you to learn how to use NumPy. I've always included a python course as well, but that's just bonus content (in case you haven't used python before.)

We'll cover:

- Why use NumPy?

- NumPy Arrays

-Array Math

- Array Indexing

- Advanced Indexing

- Broadcasting

& much more!

What is Data Science ?

Fundamental Concepts for Beginners

Created by Gopinath Ramakrishnan - Data Science & Machine Learning Enthusiast, Agile Coach


Students: 19599, Price: Free

Students: 19599, Price:  Free

If you have absolutely no idea what Data Science is and are looking for a very quick non-technical introduction to Data Science , this course will help you get started on fundamental concepts underlying Data Science.

If you are an experienced Data Science professional, attending this course will give you some idea of how to explain your profession to an absolute lay person.

There are lots of very good  technical and programming focused courses available on Data  Science in Udemy and elsewhere.

This short  course will lay a firm foundation for better understanding and appreciation of what is being taught in advanced Data Science courses. 

Python for Data Science – Great Learning

Learn all the concepts of Python from scratch

Created by Bharani Akella - Instructor at Great Learning


Students: 18451, Price: Free

Students: 18451, Price:  Free

Python is a versatile language, which is used for varied purposes such as: Machine Learning, Game Development and Visualization. So, it becomes a necessity to have knowledge in Python programming to get that high-profile job.

Keeping the importance of Python in mind, Great Learning has come up with a comprehensive tutorial. The course will comprise of following topics:

  • Introduction and Installing Python

  • Variables and Data Types in Python

  • Operators in Python

  • Python Strings

  • Python Tuple

  • Python List

  • Dictionary in Python

  • Set in Python

  • If Statement

  • Looping Statements in Python

  • User-Defined Functions

  • Object-Oriented Programming in Python

  • NumPy Library in Python

  • Pandas in Python

  • Matplotlib in Python

Computer Science 101: Master the Theory Behind Programming

Computer Science 101: Learn Computer Science to become a better Programmer and Software Engineer.

Created by Kurt Anderson - Multi-Media Designer, Computer Scientist, YouTube Guru


Students: 17739, Price: $49.99

Students: 17739, Price:  Paid

Master the Theory to Becoming a Good Programmer! 

If you're looking to learn the theory that makes great programmers, you've come to the right place! This course is perfect for anyone interested in learning the fundamentals to Computer Science Theory. 

No Previous Experience Necessary! 

Computer science and technology are often thought of as things only for "analytical minds". I believe however that technology and it's theory are for everyone. So I designed this course to teach each topic in a variety of easy to digest ways. Through these multiple reinforcing steps, I believe anyone can follow along and succeed! 

Why is the Theory of Programming Important? 

Understanding Computer Science theory is what sets apart Great programmers from average ones. Programming theory is something that transcends a single programming language. It gives you skills and techniques you can apply to any programming language you touch. Learning the theory behind programming is just as important, if not more important than learning a singular programming language like Java or C++.

Programming is all about problem solving. Analyzing a problem, and being able to figure out a way that a computer can help with that problem. Computer Science is the practice of this analysis process. It goes over the techniques and knowledge necessary to design efficient and sustainable code. 

So if you want to begin setting yourself apart from the average programmers, this is the course for you! 

Enroll Now and you'll Learn: 

  • Binary Number System

  • N Notation

  • Big O Notation

  • How to Analyze a Program

  • Arrays and their Advantages

  • Nodes and their Importance

  • Linked Lists and their Advantages and Implementations

  • Stacks implemented with Arrays and Linked Lists

  • Queues Implemented with Arrays and Linked Lists

  • Various Sorting Algorithms and Their Comparisions

  • Trees and Binary Search Trees

  • And Much Much More! 

My Guarantee

I am so confident you will enjoy this course, I offer a 100% 30-day money-back guarantee through Udemy. If you are not happy with your purchase, I have no problem with giving your money back! 

Are You Ready to Get Started? 

I will be waiting for you inside the course! 

Remember, this is an online course, so you can take it at your own pace. Are you busy right now? That's okay. Enroll today, and take the course at your own pace.

Thanks so much for your interest in this Computer Science 101 Course! 

See you inside!


Fundamental Computing Skills for the Digital Middle Age

Best practices for new or novice computer users.

Created by Rick Phillips - PhD with 25+ years computer industry experience


Students: 13063, Price: Free

Students: 13063, Price:  Free

This course covers basic personal computer skills to include:  email etiquette, word processing, spreadsheets, presentation software, the file system, digital photography and videography, and interconnectivity.  The perfect student will have some, but limited or no, formal computer training.

The course runs approximately 2.25 hours and is broken into 12 sections.  All sections except the intro and summary include an unscored quiz and all sections include resource materials.

Anyone interested in improving their computer skills should definitely consider this course.

Foundations of Computer Science: Theory and Practice

Learn the fundamental topics of Computer Science and practice them for full mastery

Created by SE Factory - Leading coding bootcamp in Lebanon


Students: 13019, Price: Free

Students: 13019, Price:  Free

  • Master a selection of Algorithms and how to analyze their performance using complexity analysis

  • Understand the different data structures like LinkedLists, Stacks, Queues, Trees, Graphs (etc.) and use them to solve problems efficiently

  • Learn these essential topics using Python. Python is easy and quite fun!

Study groups

Study groups will be organized in Beirut, Lebanon once a week during which you'll be able to go over the material that you didn't understand, ask questions and solve problems with our experts. Schedule will be sent to all students taking this course.

Who is this course for?

  1. Anyone who wants to learn the fundamental topics of Computer Science. A good understanding of Data Structures and Algorithms will take you a long way as a programmer

  2. As an enthusiast you will learn the ability to evaluate your code and optimize it for greatest efficiency. Data Structures will greatly enhance how you write your code and how to effectively store and manipulate data in memory

  3. As a former Computer Science or Software Engineering student this course will be a strong refresher

Enroll in this FREE course and you will learn:

  1. Python (Programming Language)

  2. Algorithms (Sort, Search, Binary Search Tree Insert/Delete/Search, Depth First Search, Breadth First Search)

  3. Complexity Analysis (Big-O)

  4. Data Structures (Linked List, Stack, Queue, Priority Queue, Trees, Graphs)

AP Environmental Science

A practical guide to Environmental Science

Created by Vedika Shenoy - Instructor


Students: 10733, Price: Free

Students: 10733, Price:  Free

AP Environmental Science is a course that gives you a chance to "learn about the natural world," and to "study both human-made and natural environmental problems," as stated on College Board. Currently, however, it is clear that many students are not reaping the full benefits that this course has to offer. As shown by the most recent exam score distributions in 2016, a majority (54.4%) of the students taking the exam did not pass. Additionally, the mean score sat at a low 2.55. 

So, why is this? 

As a student who actually self studied this course last year (and got a 5 on the exam), I realized that prep material, while structured, was not actually conducive to helping the student make connections between concepts as was intended by College Board. 

There is a large volume of information that you are expected to know for this exam - everything from laws, to case studies, to chemical reactions. Now, don't let this scare you - the material is incredibly interesting, and if presented in the correct manner, is possible to internalize fully. The problem is, in most books, this is not the case. Information is presented in a somewhat disjointed manner - water concepts are discussed in an early chapter, but water pollution itself is not actually discussed until some 200 pages later. 

With this course, I hope to accomplish a few things. 

Present information in a manner most conducive to learning. 

As I just mentioned, the information presented in most prep books makes it difficult to draw connections between various concepts. With this course, I have rearranged a few concepts slightly in a way that I, as a student, felt was best for my learning. 

Review and clarify information tested on the exam. 

Within this course, I have created short and to-the-point videos that allow students to review and learn the basic concepts that will be tested on the AP exam. i have created short review sheets for each section, and have also recommended exercises from a few other books that I felt prepared me well for the exam. 

Focus on the free response section. 

I said before that the scores distributions for the AP Environmental Science exam were terribly low. This is most likely due to the fact that many students perform badly on the free response section, which accounts for 40% of your total score. In my videos, I have placed an emphasis on the free response questions, as these rely most heavily on making connections and using your problem solving skills. 

Give you a basic introduction to environmental science and various overlapping fields. 

Not only do I want to prepare you for the AP Exam, but I also want you to leave with a basic understanding of environmental science. The curriculum for this course doesn't only focus on science - it also touches upon laws, politics, and businesses, among other things. 

High School Computer Science and Programming Intro Workshop

Learn Computer Science and Programming with Snap!

Created by Hesam Samimi - Computer Science / Programming Teacher, Mobile App Developer


Students: 9878, Price: $29.99

Students: 9878, Price:  Paid


  • Introduction to Computer Science and Programming Workshop
  • Designed for High School and Junior High Students
  • Trains and Encourages Critical Thinking, Logical Reasoning, and Technology Orientation in Young Adults
  • Workshop: The Majority of Each Class Spent on Exercises Done by the Student
  • Covers Fundamental Topics in Computer Science and Programming, Major Areas of Computer Science, Including: 
    • Science and Engineering
      • Real-World Modeling
      • Physics Simulations
      • From Model to Implementation
      • Reverse Engineering and Tinkering 
    • Math and Computer Science Theory
      • Data Structures: Trees, Graphs
      • Algorithms: Shortest Path
    • Artificial Intelligence
      • Propositional Logic
    • Networks
      • Internet Protocols
    • Programming Languages
      • Functions
      • Object-Oriented Programming
    • And More
  • Not a Course about a Programming Language, Rather about Fundamental Ideas in Computer Science and Programming
  • Exercises Aid Learning, Using UC-Berkeley's Snap! Programming Tool (Designed for Kids and Young Adults) 
  • 15-Week Course (26 Lectures)
  • 8+ Hours of Video Instruction, Plus Many More Hours Spent Doing the Exercises on Your Own
  • Accompanying Web Page for Each Class
  • Includes Lecture Slides, Links to Exercises on the Web Page
  • Learning Fundamental Ideas in Computer Science and Programming Will Set Students up to Go and Learn Any Programming Language
  • No Prior Knowledge or Experience in Computer Science or Programming Necessary


This new class is designed specifically for high school and junior high students who want to get a head start learning about what Computer Science and Programming are about. This course isn't about learning a specific programming tool or language. Rather, it is designed to help them strengthen their critical thinking and logical reasoning faculties, as well as give them the depth of understanding in fundamental concepts in Computer Science and programming, so that they could later on get started with any programming language or technology project.

A solid overview and key concepts in many areas of Computer Science are covered by this course, including Big Ideas in Science and Engineering (Real-World Modeling, Physics Simulations, From Model to Implementation, Reverse Engineering and Tinkering), Computer Science and Math Theory (Lists, Sets, Data Structures such as Dictionaries, Trees, Graphs, Algorithms such as Shortest Path), Programming Languages (Functions, Object-Oriented Programming), Artificial Intelligence (Propositional Logic), and Networking (Internet Protocols), and more.

I teach this class to some Living Wisdom School high school students in Nevada City, CA, as an alternate Math course.

This is a 15-week workshop course. Each class (week)'s lecture takes about 90-120 min. on average. Each class includes some lecture with slides, but the majority of the time the students will be working on programming or design exercises on their own computer. After each exercise the students can resume the lecture video to check their work against the teacher's.

The majority of the exercises included in each class are done in Snap!--the programming tool from UC-Berkeley. Students can share their work and view programs done by other students around the world.

Perquisites and Requirements

  • No Prior Knowledge or Experience in Programming Needed
  • Exercises Only Require a Computer with Internet Access


  • Intro: Introduction to this workshop series
  • Week 1: Lists, Sets
  • Week 2: A Snappy Snap! Primer
  • Week 3: Concurrent and Event-Based Programming
  • Week 4: Revising the List Example: Under the Hood
  • Week 5: Modeling, Design, Implementation: Traffic Light, ATM 
  • Week 6: Implementing the Traffic Light Simulation
  • Week 7: Functions
  • Week 8: Binary Search Trees
  • Week 9: Values, Types, Dictionaries
  • Week 10: Graphs, An Algorithm
  • Week 11: Implementing a Graph Algorithm
  • Week 12: Propositional Logic, "Have I Lied?" Game
  • Week 13: State Machines
  • Week 14: Internet Protocols
  • Outro: Next Steps

Data Science with Analogies, Algorithms and Solved Problems

Machine learning, Data Mining, Data Science, Deep Learning, Data analysis, Data analytics, Python, Visualization

Created by Ajay Dhruv - Assistant Professor at VIT Mumbai, India


Students: 9523, Price: Free

Students: 9523, Price:  Free

Interested to know about the field of Machine Learning?

Then this course is for you! This course has been designed such that we can share our knowledge and help you learn complex theory, algorithms and coding libraries in a simple way.

We will walk you into the World of Machine Learning. With every tutorial you will develop new skills and improve your understanding of this field. While preparing this course special care is taken that the concepts are presented in fun and exciting way but at the same time, we dive deep into machine learning.

Here is a list of few of the topics we will be learning:

• Difference between Data Mining and Deep Learning

• Data and 5 Vs of Big Data

• Types of Attributes

• Outliers

• Supervised learning, Unsupervised learning, Reinforcement learning

• Python Libraries


• K - means Clustering Algorithm

• Bayesian Algorithm, ID3 Algorithm

• Simple Linear Regression

• Anaconda

• Visualization

Learn Python Basics for Data Science

Learn the fundamentals of the python programming language for Data Science. Practice and Solution Notebooks included.

Created by Valentine Mwangi - Data Science Curriculum Designer


Students: 8674, Price: Free

Students: 8674, Price:  Free

By the end of the course, you will be able to:

1. Use comments, variables, printing in a python program.

2. Use operators and data types in a python program.

3. Use conditional (If) statements in a python program.

4. Use lists and dictionaries in a python program.

5. Use for loops and while loops in a python program.

6. Use functions in a python program.

Python Programming for Beginners: Learn to Code in an Hour

An Introduction to Basic Computer Science Fundamentals

Created by Adam BouDaboos - CS instructor


Students: 8551, Price: Free

Students: 8551, Price:  Free

This course is perfect for students with no prior programming experience.

It will allow students to have a hands on experience in the simplest understanding of computer science basics yet.

This is a great opportunity for you to learn Python as your first language and will initiate your passion for programming. :)

The Vocabulary of Science: First Steps to Science Literacy

Learn to think more critically about science by mastering the language we use to talk about science

Created by Kevin deLaplante - PhD, Philosopher, Founder of the Critical Thinker Academy


Students: 7443, Price: Free

Students: 7443, Price:  Free


Is evolution a theory, a fact, or both? This question has been debated by critics and defenders of evolution for many years.

Some claim that evolution is a theory, not a fact. Others claim that evolution is a fact, not a theory. And still others say that evolution is both a theory and a fact.

What exactly is going on here?

One reason why the debate persists is that people disagree not only on the strength of the evidence for evolution, but also on the meanings of the key terms, “theory” and “fact”.

This course is designed to help you understand and think critically about debates like these, debates about the nature of science that turn on the meanings of scientific terms like “theory”, “fact”, “law”, “hypothesis” and “model”.


I have 20 years of experience teaching the history and philosophy of science at the university level, but now I work as independent online educator. I have given lectures on the topic of science literacy to national and international audiences.

I have over 30,000 students on Udemy, where I also offer courses on critical thinking and argumentative essay writing.


This course is for anyone interested in learning more about how a philosopher of science thinks about science and scientific reasoning.

It will be of special interest to science students, science educators of all kinds, and people interested in debates about the nature of science.

In this course you’ll learn the various meanings of the key terms, “theory”, “fact”, “law”, “hypothesis” and “model”, as they're used both within and outside science.

You'll learn the most common confusions made by people who write about science.

And you'll have an opportunity to test your understanding through quizzes and a video critique assignment.

Intro To Computers – How To Use Them, Websites & Keep Safe!

Intro To Computers - How to Use Computers, Websites, The Internet & Keep Safe Online

Created by Nicholas Davis - Developer | YouTuber | Professional IT Guy


Students: 7309, Price: Free

Students: 7309, Price:  Free

This course has specifically been designed for those with little to zero knowledge about computers, share this with your siblings, grand parents, relatives, hard to support clients anyone who you think needs more education with computers!

The course will cover multiple topics such as:

  • How To: Basic Windows Operations (Start Menu, Folders, Storage, etc)
  • How To: Basic Network Connection (Connecting to Ethernet, Wireless, etc)
  • How To: Basic Office Operations (Word, Excel, Powerpoint, etc)
  • Intro To: Udemy
  • Intro To: Facebook

More operations/videos will be added to this course at a later date.

Intro to Data for Data Science

Learn the basics of data and how data are used in data science.

Created by Matthew Renze - Data Science Consultant


Students: 7172, Price: Free

Students: 7172, Price:  Free

In an information economy, data is the new oil. However, most people lack even a basic understanding of what data are and how they are used in data science. As a result, many of us will be left behind during the next industrial revolution, an information revolution.

In this course, we will learn about data as a foundation for data science. We’ll learn what data are and why they are important. In addition, we’ll learn about data types, data structures, tabular data, and the data life cycle.

By the end of this course, you’ll understand data and how data are used in data science.

CS101 Bootcamp: Introduction to Computer Science & Software

A Computer Science & software programming / coding bootcamp for absolute beginners. No coding background necessary.

Created by Samuel Spencer - Web Developer


Students: 6119, Price: $19.99

Students: 6119, Price:  Paid

My "CS101 Bootcamp: Introduction to Computer Science & Software" course aims to be a Computer Science and software programming introductory course / bootcamp for anyone with no technical background in Computer Science. If you've used a smartphone or computer in the past, that will be sufficient for you to take this 2-hour course, and explore the basics of Computer Science and software programming, as well as up-to-date topics and the latest technology trends in Computer Science.

If you are an absolute beginner to Computer Science, you will enjoy this course because:

  1. It teaches you the basics of Computer Science and Software Programming, and you can take it with zero technical or computer background.
  2. This beginner course has the basics of Computer Science (normally an entire semester or several months) packed into a 2-hour course. You can finish it in one day, or if you prefer to take one lesson of a few minutes per day, still be able to finish it within a week.
  3. Whether you plan to become a software programmer or engineer, or just learn the basics of Computer Science or Software Programming out of curiosity, this beginner's course will equip you with fundamental understanding of Computer Science concepts.
  4. The course is updated with the latest technology that you would expect to use in 2017, such as developing mobile apps,  Big Data, cloud computing, and SQL and NoSQL databases, etc.
  5. The course has minimal exams / quizzes, so that you can focus on learning the material in 2 hours or so, and then decide for yourself whether you want to do more advanced programming courses.

Topics I teach in this course

  • Basics of hardware: 
    • How processors (CPUs), memory, disk drives work
    • The basics of desktop and laptop computers and portable electronics such as smartphones and tablets
  • Basics of software
    • How software is built. The basics of compilers, interpreters and assembly language.
    • Popular programming languages
  • Building webpages in HTML, CSS and JavaScript
    • Fundamentals of HTML, CSS and JavaScript: the core technologies you need to build websites today
    • CSS frameworks and the Bootstrap CSS framework
    • Introduction to JavaScript frameworks such as jQuery, Angular and React
  • Programming concepts in Java
    • Introduction to the Java programming language
    • Fundamentals of programming languages, such as variables, statements, functions, classes
  • Additional programming concepts in Python programming language
    • How Python differs from Java
    • Why Python is popular, and Python programming constructs that help with data analysis or simple scripting
  • Web servers: Apache, Tomcat, nginx
  • Basics of PHP and Ruby programming languages
    • Why PHP is popular
    • Introduction to popular PHP packages / frameworks such as WordPress, Joomla, Drupal, etc
  • Mobile app development
    • iPhone, Android and other programming models
  • Databases: SQL and NoSQL
    • Sample SQL and NoSQL scripts
    • Introduction to popular databases: MySQL, SQL server, MongoDB, etc.
  • Big Data and data analysis
    • Brief introduction to Hadoop
  • Cloud computing
    • IaaS, PaaS, SaaS
    • Private, public and hybrid clouds
  • Conclusion, and next steps to becoming a full programmer

The Science of Change

Using Behavioral Science to Help Clients Change

Created by Jennifer Hancock - Humanist


Students: 4124, Price: Free

Students: 4124, Price:  Free

The job of a coach or a manager, is to help someone who is rational and wants to change, learn how to actually do that by helping them to overcome their instinctual responses so that they can change. The science of how behaviors are shaped and molded, behavioral conditioning techniques known as operant conditioning, is really useful knowledge for a coach or manager. 

This course explores the science of how behaviors are changed and how we can use that to help the people we mentor and coach to actually change their behavior so they can succeed in whatever it is they want to do.  The course consists of a set of video lesson with lecture notes for reference. 

Take this course if you are a life coach or mentor looking to improve your knowledge and skills so that you can more effectively help your clients and the people you mentor. 

Basics of Computer Science and Information Technology

Be a Master in computer awareness & literacy

Created by Global Education Foundation - Simplified Education should reach to all corners of World


Students: 3369, Price: $19.99

Students: 3369, Price:  Paid

Computer Knowledge Test Questions and Answers:-

Nowadays, Computer Knowledge is one of the most important section in all the Competitive, Campus Placement and Entrance exams for Government, Bank and IT Jobs. Computer Knowledge questions cover all the topics asked in various Exams.

This course consists of Computer Knowledge sub-categories like Basics, Data structure, Internet, MS Excel, Software, Windows and other sections.

Importance Of Basic Computer Knowledge practice tests:-

Most of the Government and private institutions around the globe seek for professional candidates who are well-versed in computer based technical skills. It is very important for every job seekers to have basic computer knowledge that will help them in getting various Top jobs in different sector. Make use of all the Computer Knowledge resources and Practice well for your Computer Knowledge Tests.

Try your level best to get a high score.

Basic Computer Knowledge is one of the most important sections in the entire competitive, Campus and entrance online test. Evaluate your Basic Knowledge of Computer skills by trying the online Computer Knowledge Test and know your score.

Most of the Government and private institutions around the globe seek for professional candidates who are well-versed in computer based technical skills. It is very important for every job seekers to have basic computer knowledge that will help them in getting various Top jobs in different sector. Make use of all the Computer Knowledge resources and Practice well for your Computer Knowledge Tests.

Python for Beginners – CELLS Academy

4-Week Course by CELLS Academy

Created by Vayun Shyam - Computer Science and Business Specialist


Students: 2959, Price: Free

Students: 2959, Price:  Free

This course will take the students through a detailed Python course based on the 8 lessons, which include Data Types (Integers, Floats, Strings), User Input, Lists and Dictionaries, Conditional Statements, Loops, Exceptions, Functions, and Object-Oriented Programming. This course will take 4 weeks. Students will receive a certificate if they complete this course, and a certificate of distinction if they excel in the course.

What is CELLS Academy?

Computer Engineering Labs & Life Sciences: A learning space to understand both computer science and biology concepts. Our mission is to assist students in our local community by developing their computer science skills and incorporating biology with this rapidly growing field as a means of motivating them to build leadership and teamwork skills. We hope that our inspiration has a lasting effect and extends past the length of this course.

More information can be found on the CELLS Academy website.

FREE Computer Literacy 101 Course

Understand the basic concepts of computers and overview of Windows 10 operative system.

Created by Joaquin Pujols - Technology Lover | Infrastructure Engineer | DevOps | AWS


Students: 2846, Price: Free

Students: 2846, Price:  Free

Do you feel technology is too advanced to start learning? Do you think technology is just for young generations? If I responded any of these questions, I would recommned you to enroll in this FREE course to learn and understand the basics of computer literacy 101.

Hi, my name is Joaquin Pujols, and I have 16+ years of experience in the IT world. Plus, 7 additional years teaching technology to young and adults students all across the globe. This is my first course in Udemy. I will do my best to respond all your questions and provide additional material to help you enforce your new skills.

In this course, I will show you the difference between hardware and software components and explain you the relationships between both.

You will learn how to create folders, subdirectories and files. Later, you will learn how to explore the user profiles folder and a brief introduction to the command line. The command line will help you to detect network connectivity issues if you are either connected on Wireless or hard wire to your modem/router. This seems to be challenging but I will be here to help you understand these complex topics.

Start today and don't miss the opportunity of learning new skills. Age is just a number. We will be taking this class together. Happy learning.

Gene Expression Analysis Science Project (Step by Step)

Learn how to do a novel bioinformatics research project all on your computer! Great for high school students.

Created by Andrew Gao - Bioinformatics Researcher


Students: 2548, Price: Free

Students: 2548, Price:  Free

This FREE course is perfect for teens curious about biotechnology and eager to conduct a virtual science project with original findings.


You will learn how to use tools like GEO2R, StringDB, PantherDB, and more to analyze publicly available gene expression data!

The course will guide you on choosing a research topic, finding a dataset, processing the data, and analyzing the data graphically. As a bonus, you will get insight into how to write a paper about your project.

Example topics for research include:

  1. Identifying potential biomarkers for cancer (useful in diagnostics)

  2. Analyzing changes in gene expression when a sample is treated with X drug or under Y condition

  3. Differences in gene expression between early and late stage cancer (useful in prognosis and drug development)

The example project being done in this course is for identifying blood biomarkers for early stage Parkinson's disease.

Materials needed:

1. Computer

2. Google Account or Excel

3. Internet Connection

If there is enough interest, another course will be created that features gene expression analysis with machine learning, Python, R, and other computer science techniques.