Best Courses on Coursera for Computer Science

If you look at employers around the world there is a substantial imbalance between the demand for computer scientists and the availability on the supply side. 

There’s going to be a tremendous opportunity, as many people who could be excellent computer scientists have been either shut out or effectively shut out from this whole world of career opportunity.

Coursera by designing courses that are suitable for anybody with a high school diploma and especially focusing on making it accessible and relevant to women and other folks who otherwise might not have thought of themselves as computer scientists. There’s going to be a whole opportunity for people to enter the world of technology jobs that otherwise might not have had such an opportunity. 

What makes Computer Science courses on Coursera unique is the combination of technology that Coursera brings in its platform and the magic and personality that the professors at the academics themselves bring to the way that they teach it. 

Coursera by having a wide range of teaching networks with Universities and Multinational companies brings not only digital but also on-the-ground experiential learning to the equation. So it’s not just digital it’s really combining the best of both worlds. Some of the best courses in Computer Science provided by Coursera are:

Python for Everybody Specialization

Offered by: University of Michigan

A great course for anyone interested in learning programming or python in general. Charles Russell Severance, the course instructor and Professor at the University of Michigan School of Information, takes you on a journey and makes you believe that anyone can code & everyone must learn to program.

A simple line by him that inspired a lot to take this course is, “Don’t get sad or feel bad if python code gives an error or a traceback while running the code. Python is just saying it doesn’t understand what that line means and it has nothing to do with your skills, knowledge. Continue to trace the error, debug & solve it”

The specialization courses are:

  1. Programming for Everybody (Getting Started with Python)
  2. Python Data Structures
  3. Using Python to Access Web Data
  4. Using Databases with Python

This is an excellent introduction to Python even if this is your first time learning any programming language. Prof Charles Russell Severance taught in the simplest way, so you can understand easily as a beginner. Those without any programming experience might find the third and fourth courses in this specialization a bit challenging.

You’ll dive deep into python and SQL by learning about Object-Oriented Programming, Inheritance, Relational Databases, Data Model, and Using Join clause.

I strongly recommend taking this Coursera specialization, a great introduction to python and programming for those like me without prior experience. Charles Severance is a great tutor who makes these courses more than enjoyable.

Juan Sebastian Arias Vanegas, Junior Architect- BIM Technician

Java Programming and Software Engineering Fundamentals Specialization

Offered by: Duke University

Great course on Java from Coursera, though this is a simple beginner course but is very effective in teaching the Java concepts and core programming concepts with several real-world examples and practice assignments using Bluej environment. There were five individual courses in this specialization. Each course is offered on a regular schedule, with sessions starting about once per month.

You’ll learn how to solve problems, design algorithms develop and debug programs in java, and also worked with CSV Files and basic statistics in Java.

Very well structured course to understand basic data structures provided by Java. The Course has everything starting from the basics of programming to complex object-oriented programming mini project as the capstone for the specialization.

The final project is regarding to build a movie Recommendation System based on user movie ratings. In this, you have to build the recommendation system for movies that will allow you to first-rate some movies then suggest another movie based on your rating of previous movies. It involved the straight-forward application of concepts learned in previous courses.

Deep Learning Specialization

Offered by: DeepLearning.AI

This specialization course is a blast! Learn the most innovative and interesting subjects in computer science, such as Image Classification, Object Detection, Autonomous cars, Face Recognition, Speech Recognition, NLP, etc.

Apart from the technical lectures and quizzes, the course features programming exercises where you can apply what you have learned to solve problems.

Throughout this journey, you’ll go through the basics of neural and deep neural networks, how to improve and tweak them, how to structure a machine learning project, and finally focusing on two of the most active and promising fields in deep learning: Convolutional Neural Networks (mainly used for image data) and Sequence Models (mainly used for text and audio data).

The Projects under this specialization include Deep L-layer Neural Networks, Image Classification, Object Detection, Facial Recognition, Machine Translation, and Trigger Word Detection. These projects based on using Python as well as Tensorflow and Keras, which will give you an insight into Deep learning Programming Frameworks used in Industry.

Some of the key takeaways from this course are:

  • Thoroughly explained many important topics, ranging from basic regression and hyperparameter tuning to the state of the art computer vision and sequence models.
  • A rich and well presented 5-course specialization.
  • besides watching videos, there are multiple projects where you’ll implement the topics learned on the course and see the outstanding output from the neural networks.
  • Intricated specialization providing hands-on-experience labs for understanding every concept thoroughly.

The courses in this specialization are:

  1. Neural Networks and Deep Learning
  2. Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization
  3. Structuring Machine Learning Projects
  4. Convolutional Neural Networks
  5. Sequence Models

1. Neural Networks and Deep Learning

Understand the math behind the black-box models of Deep neural networks. Learn about vectorization and how it can be used to write efficient code. The course is challenging and fun covering a vectorized implementation of deep (multi-layer) neural networks using Python

2. Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization

In this second course of Deep Learning Specialization, you’ll get the opportunity to understand and visualize:

  • Regularizing a Neural Network.
  • Setting up optimization problems.
  • Optimization Algorithms like Mini-Batch Gradient Descent, Gradient Descent with Momentum, RMS’prop, and Adam optimization algorithm.
  • Tuning Hyperparameters, Batch Normalization, and Multiclass Classification in Neural Networks.
  • Syntax of Tensorflow.

3. Structuring Machine Learning Projects

The Structuring Machine Learning Projects course has some immensely valuable advice for practically applying machine learning. It’s not uncommon to see deep discussions about certain ML algorithms without including practical advice about how to apply them to real-world problems and how to improve algorithms when things don’t go as planned.

This is a standalone course, and you can take it if you have some basic knowledge about Machine Learning.

4. Convolutional Neural Networks

Convolutional Neural Network is the most interesting topic of Deep Learning. Also the craziest and the hardest. This course is clearly just a small taste of what is behind many of the intelligent tools and technologies we already use in our daily life. It covers the structure of convolutional neural networks and many applications, as face recognition, object detection, and localization, etc

Think about how a few human minds created a whole new science. A complex, effective, craziest, super useful, and fast-expanding science.

5. Sequence Models

This is a very interesting and complex course focused on building natural language and audio data. Some of the key learnings from this course is:

  • How to build Recurrent Neural Networks (RNNs)
  • Natural Language Processing & Word Embeddings
  • Sequence models and Attention mechanism

With my growing interest in Artificial Intelligence, I decided to pursue a course in deep learning outside of my work schedule. Taking this course has been a very positive learning experience. I now understand the concepts that confused me a few months ago. Looking forward to putting the knowledge into practical use by building my own projects. My next course of action is learning how to improve deep neural networks

Pius Gyamenah, Research And Teaching Assistant at the Department of Computer Science, University of Ghana.