# About the Course

Learn about the course objectives, target audience, and prerequisites.

## We'll cover the following

## Overview of the course

As the title suggests, this course covers three distinct topics in depth: discrete mathematics, algorithms, and data structures.

Here, we’ll discover the relationship between the three topics and how they influence one another.

We’ll start with discrete mathematics; we need to know what that is first. Second, we’ll see the relationship between discrete mathematics and computer science. Finally, we’ll look at how we can implement discrete mathematical concepts into various fields of computer science.

## Focus of the course

In this course, we’re primarily concerned with algorithms and data structures. These topics sit at the core of any computer science curriculum. We should understand these two components to be successful students of computer science.

We’ll cover these two topics and learn to implement them with discrete mathematical concepts to better understand them.

We should never forget that different branches of mathematical conceptions are critical components in computation.

## Target audience

This course is suitable for learners who are beginners in CS and would like to get an abstract view of how discrete mathematics, data structures, and algorithms interact with each other.

## Prerequisites

This course doesn’t teach any specific programming language. It assumes that the learner has a general understanding of programming. Most of the coding examples are in Java, followed by C++. The other languages used in this course are C, Python, PHP, and Dart. Please don’t be scared; each piece of code is explained in this course. It might help you build confidence to know that coding in these languages is not too different. Plus, you’ll also get to know that the programming language shouldn’t be a barrier to understanding an algorithm.