Online Course – Certified Professional Internship in Discrete Methodologies in Computer Science from the University of California San Diego

Learn the language of computer science. Discover the mathematics that underpins computer science, and practice its application through mathematical proofs and Python code.

Suggested by: Coursera (What is Coursera?)

Professional Certificate

Beginners

No prior knowledge required

Time to complete the course

7-day free trial

No unnecessary risks

Skills you will acquire in the course

  • Data Science
  • Machine learning
  • Software Engineering
  • Proof techniques
  • Combinatorics
  • probability
  • Graph theory

What you will learn in the course

Courses for which the course is suitable

  • Data Scientist
  • Machine learning key
  • Software Engineer

Special Skills – 5-Part Course Series

Discrete mathematics is the language of computer science. Mastering it is necessary to work in many fields, including:

  • Data Science
  • Machine learning
  • Software Engineering

We will expose you to this language through a fun “try first, understand later” approach: first you will solve interactive puzzles, and then we will explain how to solve the puzzles and present important ideas.

We will incorporate programming examples, problems, and projects during the training.

Hands-on Learning Project

Together we will complete an efficient program for the traveling salesman problem, the goal being to visit all given locations as quickly as possible. We will explore solutions to this difficult computational problem, which is the essence of the P vs. NP problem.

We will complete several effective solutions to real-world examples of the traveling salesman problem, using the material learned in the courses:

  • Proof techniques
  • Combinatorics
  • probability
  • Graph theory

We will see examples of using ideas from discrete mathematics to arrive at more efficient solutions.

Details of the courses that make up the specialization

Mathematical thinking in computer science

Course 1
41 hours
4.4 (2,241 ratings)

Course Details

What you will learn: Mathematical thinking is crucial in various fields of computer science: algorithms, bioinformatics, computer graphics, data science, machine learning, and more. In this course, we will learn the most important tools in discrete mathematics: induction, approximation, logic, inequalities, optimality.

Previous requirements:

  • Basic math (such as squaring or adding fractions).
  • Basic knowledge of Python programming.

Skills you will acquire:

  • Random variable
  • Probability interpretations
  • probability
  • Combinatorics

Combinatorics and probability

Course 2
23 hours
4.6 (847 ratings)

Course Details

What you will learn: We will discuss the standard definitions of combinatorics, and develop the ability to distinguish between the definitions in real life and algorithmic problems.

Previous requirements:

  • Basic mathematics.
  • Basic programming in Python.

Skills you will acquire:

  • Number theory
  • Cryptography
  • Modular strengths

Introduction to Graph Theory

Course 3
20 hours
4.5 (1,005 ratings)

Course Details

What you will learn: We will learn about graph theory, applications such as finding the shortest path, designing integrated circuits, and assembling genomes.

Previous requirements:

  • Basic mathematics.
  • Basic programming in Python.

Number theory and cryptography

Course 4
16 hours
4.5 (595 ratings)

Course Details

What you will learn: We will start with the basic principles of number theory and move on to cryptographic protocols based on it.

Previous requirements:

  • Basic mathematics.
  • Basic programming in Python.

Skills you will acquire:

  • Mathematical induction
  • Proof theory
  • Discrete mathematics
  • Mathematical logic

Shipping problem

Course 5
13 hours
4.7 (372 ratings)

Course Details

What you will learn: We will implement effective plans for a problem that is essential for delivery companies — the traveling salesman problem.

Previous requirements:

  • Basic mathematics.
  • Basic programming in Python.