Official course description:
Full info last published 3/01-22

### Foundations of Computing - Discrete Mathematics BSc

##### Course info
Language:
English
ECTS points:
7.5
Course code:
BSFOCDM1KU
Participants max:
190
Offered to guest students:
yes
Offered to exchange students:
yes
Offered as a single subject:
yes
Price for EU/EEA citizens (Single Subject):
10625 DKK
##### Programme
Level:
Bachelor
Programme:
BSc in Software Development
##### Staff
Course manager
Associate Professor
Teaching Assistant
Teaching Assistant (TA)
Teaching Assistant
Teaching Assistant (TA)
Teaching Assistant
Teaching Assistant (TA)
Teaching Assistant
Teaching Assistant (TA)
Teaching Assistant
Teaching Assistant (TA)
Semester
Efterår 2021
Start
30 August 2021
End
31 January 2022
##### Abstract

Discrete Mathematics covers different topics in mathematics, which support many disciplines in software development. The goal of this course is to give the students the ability to apply formal reasoning. The first part of the course is dedicated to learning how to construct logical proofs, proofs on set theory and proofs by induction, while the second half of the course builds upon the first part to cover number-theoretical concepts, graphs, combinatorics, discrete probabilities, and models of computation. The student will obtain the fundamental skill of computational thinking and will be better equipped to tackle technical subjects throughout the curriculum. The course is an introduction to discrete mathematics as a foundation to work within the fields of computer science, information technologies, and software development. The course develops the necessary terminology and conceptual tools needed for later courses.

This includes:

• formal reasoning, proofs, logic, set theory, sequences and sums
• number theory, combinatorics and (discrete) probability theory
• induction, recursion and counting
• relations and functions
• basic graph theory, language theory
• theory and models of computation, such as finite state machines, regular expressions and grammars
The course aims at providing a basic understanding of the mathematical foundations of computer science.
##### Description

Discrete Mathematics covers different topics in mathematics, which support many disciplines in software development. The goal of this course is to give the students the ability to apply formal reasoning. The first part of the course is dedicated to learning how to construct logical proofs, proofs on set theory and proofs by induction, while the second half of the course builds upon the first part to cover number-theoretical concepts, graphs, combinatorics, discrete probabilities, and models of computation. The student will obtain the fundamental skill of computational thinking and will be better equipped to tackle technical subjects throughout the curriculum. The course is an introduction to discrete mathematics as a foundation to work within the fields of computer science, information technologies, and software development. The course develops the necessary terminology and conceptual tools needed for later courses.

This includes:

• formal reasoning, proofs, logic, set theory, sequences and sums
• number theory, combinatorics and (discrete) probability theory
• induction, recursion and counting
• relations and functions
• basic graph theory, language theory
• theory and models of computation, such as finite state machines, regular expressions and grammars
The course aims at providing a basic understanding of the mathematical foundations of computer science.
##### Formal prerequisites
There are no formal prerequisites for this course.
##### Intended learning outcomes

After the course, the student should be able to:

• Describe and apply formal definitions
• Conduct and explain basic formal proofs
• Work with regular languages and finite and infinite state machines
• Use models of computation and specification
• Use combinatorial reasoning
• Assess probabilities of events
• Use basic modular arithmetic
##### Learning activities

The course consists of lectures and exercises.  The lectures will provide the theory and examples of formal definitions, formal proofs, regular languages, state machines, models of computations, combinatorics, discrete probabilities and modular arithmetic (c.f. ILO).  The weekly exercises are written exercises that train the students in working with and apply the theory introduced in the lectures. The problems that the students solve in the weekly exercises will prepare the students for the written exam, as the exam will contain problems of similar nature.

##### Mandatory activities
There are six mandatory assignments that students must hand in though a peer grading system. For each assignment the student must give feedback to their peers at a satisfactory level. Additionally there are two in-class mandatory tests: a midterm and a mock exam.

The student will receive the grade NA (not approved) at the ordinary exam, if the mandatory activities are not approved and the student will use an exam attempt.

##### Course literature

Susanna S. Epp, Discrete Mathematics with Applications, Metric Edition, BROOKS/COLE Cengage Learning, 5th edition, ISBN: 9780357114087

##### Student Activity Budget
Estimated distribution of learning activities for the typical student
• Preparation for lectures and exercises: 20%
• Lectures: 20%
• Exercises: 20%
• Assignments: 30%
• Exam with preparation: 10%
##### Ordinary exam
Exam type:
C: Submission of written work, External (7-point scale)
Exam variation:
C22: Submission of written work – Take home
Exam submisson description:
C22: Submission of written work 4 hrs. Random fraud control for 20 %
Aids: Calculator, proofweb.
No communication and collaboration allowed.

##### Time and date
Ordinary Exam - on premises Thu, 6 Jan 2022, 15:00 - 19:00
Reexam - on premises Wed, 23 Mar 2022, 15:00 - 19:00