ITB8832 -- Mathematics for Computer Science

Autumn semester 2023

Index


Course aims/objectives

Acquiring competence in areas of mathematics that are especially relevant to computer science and have applications in various fields, from programming to analysis of algorithms to network design.

Learning outcomes

At the end of the course, the successful student:

  1. Applies the principles and techniques of rigorous reasoning.
  2. Employs recursive data structures and algorithms to problem solving, game theory, and software testing.
  3. Understands the intrinsic limitations of computers’ ability to solve problems.
  4. Employs notions and methods from the mathematical foundations of modern cryptography.
  5. Applies the concepts and techniques of graph theory to scheduling and resource management.

Schedule

Autumn semester 2023, 16 weeks, 2 days per week, 2 hours per day.

Brief description of the course

The course "Mathematics for Computer Science" follows the lines of the course of the same name taught at Massachusetts Institute of Technology. It is aimed at Master students of the School of Information Technology.

The course covers a series of topics from logic, set theory, discrete mathematics, and theory of computation, chosen from the first half of the textbook. Among these:

  1. Proofs. The axiomatic method. Proofs by cases. Proofs by contradiction. Well ordering principle. Propositional logic in computer programs. Propositional algebra. Induction. Application: satisfiability.
  2. Mathematical data types. Sets and sequences. Functions and finitary relations. Recursive data types. Recursive functions. Application: games as a recursive data type.
  3. State machines. Invariants. The stable marriage problem. The halting problem. Application: program verification.
  4. Number theory. Divisibility. Prime numbers. Modular arithmetic. Application: the RSA public key encryption algorithm.
  5. Directed and undirected graphs. Partial orders. Connectivity. Planar graphs. Application: scheduling.

The language of the course is English.

The course gives 6 ECTS credits.

Registration

Students who have the course in their study plan must declare it in ÕIS (Õppeinfosüsteem, Student Information System) by the deadlines set in the academic calendar.

Prerequisites

Calculus and algebra, first-year level. Previous exposure to programming is recommened for better understanding of the content of Lectures 6, 7, and 8. Basic combinatorics and probability are a useful addition.

Some introductory textbooks are:

Study process description

Each week will include:

At the end of each week, a self-evaluation test will be uploaded on Moodle. These tests are not graded and are meant to let the students estimate their understanding of the discussed topics.

For each classroom hour the students must take into account at least one and a half hour of personal study. Ideally, the students will, in this order:

  1. Attend the lecture on Monday.
  2. Study from the textbook the topics discussed in the lecture.
  3. Attempt the exercises related to those topics.
  4. Participate in the exercise session on Wednesday.
  5. Review the topics and the exercises before the next week's lectures.
  6. Take the self-evaluation test.

The students are warmly encouraged to take handwritten notes during the lectures and the exercise sessions.

Lecture slides and solutions to exercises will be uploaded on the course web page by noon of the following day.

A small historical note

The first editions of the course had classroom assignments, where only handwritten notes were allowed.
However, there was no restriction on the contents of said notes: they could, for example, include solutions of exercises.
The policy was then that, if one of the test exercises had already been solved (for example, at home) then the student was allowed to copy their solution from the notes to the test paper. However, copying the solution to a wrong exercise gave zero points for the task.

Study literature

Textbook:

Additional references:

Continuous assessment

The continuous assessment consists of two parts:

  1. Three midterm tests, which will take place on the fifth, ninth, and thirteenth week of the course, and determine access to the final exam.
  2. Non-mandatory group work, which gives extra credit.

Each midterm test is worth 15 points. As the final exam is worth 60 points, an outstanding performance at the midterms gives a little extra credit for the final score.
To be admitted to the final exam, a student must have obtained a minimum of 7 points during each one of the three tests, for a total of 21 of 45 points.

The group work is entirely voluntary, and worth up to 10 points of extra credit.

Evaluation criteria for continuous assessment

Midterm tests

The students will solve exercises including, but not limited to, problem solving and multiple choice questions.
The test is given online. It will remain available for a limited time; a single attempt is allowed, which ends a fixed time after its start.
Students caught cheating at a test will receive 0 points for the test, be deferred to the disciplinary department, and get a 10 points penalty on their score for the final exam.

Group work

The students will present their solution of a more complex problem than those discussed in the midterm tests.
Groups can consist of a number of members variable from 1 to 4. The contribution of each member must be acknowledged and listed in the returned assignment.
The work can be started between the tenth and the fourteenth week of the course. The subject can be chosen between those discussed from the sixth week of the course until the one when the work starts. For example, a group starting on the twelfth week can discuss topics from chapter 6, 7, 8, 9, and 10.
The deadline for submission is after fourteen days from the assignment of the problem.
Students caught cheating at the group work will receive 0 points for the test, be deferred to the disciplinary department, and get a 10 points penalty on their score for the final exam.

Exam

The final exam will take place at the end of the semester and count for up to 60 points of the final score. Three dates will be arranged. Tentatively:

  1. The last day of the course.
  2. The first Wednesday after New Year.
  3. The last Monday of the autumn semester at TalTech.

To be admitted to the final exam, a student must have obtained at least 7 points at each one of the three tests.
Students are allowed one retake. In this case, the last returned assignment will determine the final grade.
Taking the final exam is required for the final grade. Students who obtain 51 or more points from the midterm tests and the group work but don’t take the final exam, will receive a "no show" grade. See also the section "Final grade".

Evaluation criteria for the exam

The students will solve exercises including, but not limited to, problem solving and multiple choice questions.
The exam is given online. It will remain available for a limited time; a single attempt per session is allowed, which ends a fixed time after its start.
The students can retake the exam once; in this case, the final grade is determined by the last assignment returned.
Students caught cheating at the final exam will receive a final grade of 0 for the course and will be deferred to the disciplinary department.

Final grade

From 5 (maximum) down to 0 (minimum).

The total score from the midterm tests, final exam, and voluntary group work is converted into the final grade according to the following conversion table:

Grade Judgement Score Interpretation
5 Excellent 91% or more The student commands the subject.
4 Very good 81%-90% The student has a good grasp on the subject, with some small mistakes or imprecisions.
3 Good 71%-80% The student understands most of the subject, but there are some evident major issues.
2 Satisfactory 61%-70% The student manages the bulk of the subject, but also shows serious lacks or misunderstandings.
1 Poor 51%-60% The student achieved the bare minimum. Maybe the approach to the course was flawed.
0 Fail 50% or less At the end of the course the student did not display an appreciable knowledge of the subject.

Back to course home page

Last update: 5 September 2023.