• Turkish
  • English
Course Code: 
MATH 424
Course Type: 
Area Elective
P: 
3
Lab: 
0
Laboratuvar Saati: 
0
Credits: 
3
ECTS: 
7
Course Language: 
English
Course Objectives: 
This course aims to equip students with knowledge of fundamentals of category theory and applications in computing sciences.
Course Content: 

Some preliminaries for categories, Sets, functions. Definitions of categories, functors, natural transformations. Functional programming languages as categories. Category of sets. Categories of sets with extra structure. Yoneda Lemma. Universal properties. Initial and Terminal objects. Adjoint functors. Monads/Lawvere theories. Finitary algebraic theories. Universal Algebra and Programming Languages.

Course Methodology: 
1: Lecture, 2: Problem Solving
Course Evaluation Methods: 
A: Written examination, B: Homework

Vertical Tabs

Course Learning Outcomes

 

Learning Outcomes Program Learning Outcomes Teaching Methods Assessment Methods
1) Learn categories, functors and natural transformations. 1,2,4 1 A,B
2) Learn Yoneda lemma and its consequences. 1,2,4,7 1 A,B
3) Learn universal algebra through monads and Lawvere theories 1,2,4,7 1 A,B
4) Understand the link between universal algebra and programming 1,2,3,4,7,9 1 A,B
5) Master categorical constructions. 1,2,3,4,7,9 1 A,B

Course Flow

 

COURSE CONTENT
Week Topics Study Materials
1 Preliminaries  
2 Categories, functors and natural transformations  
3 Mathematical structures and functional programming languages as categories  
4 Categories of sets  
5 Categories of sets with extra structures  
6 Representable functors and Yoneda lemma.  
7 Universal properties: Initial and terminal objects  
8 Categorical products, coproducts  
9 Categorical limits and colimits  
10 Adjoint functors  
11 Lawvere theories/Monads: Definitions and Examples  
12 Universal algebra via Lawvere theories/Monads  
13  Lawvere theories/Monads in Computer Science  
14  Universal algebra and programming  

Recommended Sources

 

 

 

 

RECOMMENDED SOURCES
Textbook Barr, Michael, and Charles Wells. Category theory for computing science. Vol. 49. New York: Prentice Hall, 1990.

http://www.tac.mta.ca/tac/reprints/articles/22/tr22.pdf

Additional Resources Mac Lane, Saunders. Categories for the working mathematician. Vol. 5. Springer Science & Business Media, 2013.
 

Leinster, Tom. Basic category theory. Vol. 143. Cambridge University Press, 2014.
 

Milewski, Bartosz. Category theory for programmers. Blurb, 2018.

Material Sharing

-

Assessment

 

ASSESSMENT
IN-TERM STUDIES NUMBER PERCENTAGE
Mid-terms 1 60
Quizzes   -
Assignments 3 40
Total   100
CONTRIBUTION OF FINAL EXAMINATION TO OVERALL GRADE   40
CONTRIBUTION OF IN-TERM STUDIES TO OVERALL GRADE   60
Total   100

Course’s Contribution to Program

 

COURSE'S CONTRIBUTION TO PROGRAM
No Program Learning Outcomes Contribution
1 2 3 4 5  
1 The ability to make computation on the basic topics of mathematics such as limit, derivative, integral, logic, linear algebra and discrete mathematics which provide a basis for the fundamental research fields in mathematics (i.e., analysis, algebra, differential equations and geometry)       x    
2 Acquiring fundamental knowledge on fundamental research fields in mathematics         x  
3 Ability form and interpret the relations between research topics in mathematics         x  
4 Ability to define, formulate and solve mathematical problems         x  
5 Consciousness of professional ethics and responsibility     x      
6 Ability to communicate actively     x      
7 Ability of self-development in fields of interest       x    
8 Ability to learn, choose and use necessary information technologies     x      
9 Lifelong education     x      

ECTS

 

ECTS ALLOCATED BASED ON STUDENT WORKLOAD BY THE COURSE DESCRIPTION
Activities Quantity Duration
(Hour)
Total
Workload
(Hour)
Course Duration (14x Total course hours) 14 5 70
Hours for off-the-classroom study (Pre-study, practice) 14 3 42
Mid-terms (Including self-study) 2 10 20
Quizzes - - 0
Assignments 3 8 24
Final examination (Including self-study) 1 19 19
Total Work Load     175
Total Work Load / 25 (h)     7
ECTS Credit of the Course     7