About this 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:

Proofs. The axiomatic method. Proofs by cases. Proofs by contradiction. Well ordering principle. Propositional logic in computer programs. Propositional algebra. Induction. Application: satisfiability.

Mathematical data types. Sets and sequences. Functions and finitary relations. Recursive data types. Recursive functions. Application: games as a recursive data type.

State machines. Invariants. The stable marriage problem. The halting problem. Application: program verification.

Number theory. Divisibility. Prime numbers. Modular arithmetic. Application: the RSA public key encryption algorithm.

Directed and undirected graphs. Partial orders. Connectivity. Planar graphs. Application: scheduling.
NB! This course will take place in autumn semester 2024/2025 which starts on 2nd of September and ends 26th of January (you can find that information under Start date section). The real course start and end dates will be announced at the beginning of September at the latest.
Learning outcomes
After completing this course, the student:
 applies the principles and techniques of rigorous reasoning;
 employs recursive data structures and algorithms to problem solving, game theory, and software testing;
 knows the intrinsic limitations of computers' ability to solve problems;
 employs notions and methods from the mathematical foundations of modern cryptography;
 applies the concepts and techniques of graph theory to scheduling and resource management.
Examination
Final assessment can consist of one test/assignment or several smaller assignments completed during the whole course. After declaring a course the student can resit the exam/assessment once. Assessment can be graded or nongraded. For specific information about the assessment process please get in touch with the contact person of this course. For specific information about grade transfer please contact your home university
Course requirements
The course is aimed at Master students in Computer Science, Information Technology, and related subjects. It covers topics from logic, set theory, discrete mathematics, and theory of computation, with applications to game theory, software testing, cryptography, scheduling, and resource management. Successful completion gives 6 ECTS credits. Prerequisites are algebra, calculus, and programming at the level of the first year of a BSc in Computer Science. The final grade is based on the outcome of three midterm tests and one final exam, plus nonmandatory group work for extra credit. For further information consult the web page https://www.cs.ioc.ee/~silvio/ITB8832/index.html or contact the instructor at the email address silvio.capobianco@taltech.ee
Resources
 Textbook:
 E. Lehman, F. Thomson Leighton, and Albert R. Meyer, Mathematics for Computer Science, revision of 6 June 2018. Available under the terms of the Creative Commons AttributionShareAlike 3.0 license from https://courses.csail.mit.edu/6.042/spring18/mcs.pdf
 Additional references:
 Richard W. Hamming, Methods of Mathematics Applied to Calculus, Probability, and Statistics, Dover 2004.
 Ivan Niven, Mathematics of Choice, The Mathematical Association of America 1965.
 Raymond M. Smullyan, A Beginner’s Guide to Mathematical Logic, Dover 2014.
 Brian S. Thomson, Judith B. Bruckner and Andrew M. Bruckner, ElementaryReal Analysis, Second Edition, 2008. Available from http://www.classicalrealanalysis.com/
 Mati Abel and Ülo Kaasik, Matemaatikasõnaraamat, TEA 2002.
Activities
lectures, exercises
Additional information
 More infoCoursepage on website of Tallinn University of Technology
 Contact a coordinator
 CreditsECTS 6
 LevelMaster
 Contact hours per week4
 InstructorsSilvio Capobianco
 Mode of instructionHybrid
Offering(s)
Start date
2 September 2024
 Ends26 January 2025
 Term *Fall semester 2024
 Instruction languageEnglish
Course is currently running