Edit this page Backlinks Books Algorithms and Complexity Theory Main Regulament Lectures: 3 Problems Challenge Problems and Algorithms + Turing Machines Computing Multitape TMs + Universal TMs Undecidable problems Reductions Undecidability Results Computational resources Complexity across computational models "Hard?" problems Polynomial-time reductions P vs. NP Hardness and completeness Recurrence relations The Master Method Quicksort Amortized Analysis Algebraic Data Types Structural Induction Labs: Math recap Turing Machines Computing Reduceri Mai multe reduceri Notații asimptotice Hard Problems Polynomial-time reductions Hardness and Completeness Recurrence relations Recurrence relations (part 2) Amortized Analysis Structural Induction Formal Languages and Automata LFA 2023-2024 Echipa Regulament Lectures Proiect Etapa 1 Etapa 2 Labs 1. DFA intro 2. Programming introduction - Python 3. Regular Expressions 4. Regex Representation in Python 5. Regex to NFA to DFA conversions 6. DFA Minimisation 7. Closure properties 8. Pumping lemma 9. Push Down Automata 10. Context-Free Grammars 11. Closure properties for Context-Free Languages Programming Paradigms PP 2023-2024 Team Rules Plagiarism Resurse Scala Environment Scala Cheatsheet Haskell Environment Ghid de utilizare Hoogle Haskell Cheatsheet Labs L01: Recursion L02: Higher-order functions L03: Algebraic Datatype Definition L04: Lists in Scala L05: Data types in Scala L06: For expressions L07: Lambda Calculus L08: Intro to Haskell L09: Lazy Evaluation L10: Functors & Monads L11: Classes, Applicatives and More Monads Homeworks Homework 1 Homework 2 Homework 3 Functional Programming Functional Programming 2024 Team Rules Plagiarism Lecture notes TBA Labs Lab 01: Scala IDEs Lab 02: Recursion Lab 03: Higher-order functions Lab 04: Type definitions Lab 05: Functional vs OO decomposition Lab 06: List applications Lab 07: Matrices Homework Submission Guidelines Homework 1: Sets as functions Homework 2: Sets as trees Homework 3: Five-in-a-row