🚀 Array51 Labs
DA120

Discrete Mathematics for Programming

Pre-Requisites None
Co-Requisites None
Instructional Hours 40
Instructional Mode Lecture
Delivery Mode In-Person / Blended / Online

Sample Syllabus

Course Description

This course, Discrete Mathematics for Programming (DA120), introduces students to the mathematical concepts and techniques essential for computer programming and algorithm analysis. Discrete mathematics is the branch of mathematics that deals with countable or distinct objects. In this course, students will learn about various topics in discrete mathematics, including logic, sets, combinatorics, graphs, trees, and discrete probability.

The course will emphasize the development of analytical and problem-solving skills, which are essential for computer programming. By the end of the course, students will have a solid understanding of the fundamental concepts of discrete mathematics and will be able to apply their knowledge to solve programming problems.

Learning Objectives

By the end of this course, students will be able to:

Course Structure

The course content will be presented through a series of lectures and problem-solving exercises. Students will be evaluated through weekly quizzes, four assignments, and a final exam.

Weekly Quizzes

Each week, students will be given a quiz to test their understanding of the material covered in the lectures. These quizzes will be short and will count towards a small percentage of the overall course grade.

Assignments

Throughout the semester, students will be given four assignments that will require them to apply the concepts and techniques learned in the lectures to solve problems. These assignments will be more comprehensive than the weekly quizzes and will count towards a larger percentage of the overall course grade.

Final Exam

At the end of the semester, students will be given a final exam that will cover all the material presented in the lectures. This exam will count towards a significant percentage of the overall course grade.

Schedule

The following is a week-by-week schedule of the lecture topics:

WeekTopic
1Introduction to Discrete Mathematics
2Logic and Propositional Calculus
3Sets and Set Operations
4Combinatorics: Permutations and Combinations
5Combinatorics: Binomial Coefficients and the Pigeonhole Principle
6Introduction to Graph Theory
7Trees and Tree Algorithms
8Graph Algorithms: Shortest Paths and Minimum Spanning Trees
9Graph Algorithms: Network Flows and Matching Problems
10Discrete Probability
11Advanced Topics in Discrete Mathematics
12Course Review
Request Course