Dan Cojocaru

Bachelor's Degree, Years 1-3, 2019-2022

[email protected]

Semester 2 is starting

Go to this page for links.


Year 3 is starting

Update: The links are being added below. Some links will be missing though, so the page linked here will still be helpful.

Go to this page for links.



Year 2 is over. Yay!

Keep in mind that obsolete information is now hidden and it can be reshown in Preferences.


See more...
Year 3 Year 2 Year 1

Year 3, Semester 1

Artificial Intelligence

Advanced Python Programming

Differential Equations

Information Theory


Methodology for Writing the BSc Thesis

Web Technologies

Year 2, Semester 2

Computer Networks


Logic and Functional Programming

  1. Introduction - Original
  2. Theoretical foundations. The λ-calculus
  3. Environment-based computations. Functions as values. Tail recursion
  4. Advanced uses of functions
  5. Lazy evaluation. Introduction to Haskell
  6. Overloading and type classes. Algebraic types
  7. Haskell: Type Checking and Type Inference. Racket: Simulating lazy evaluation
  1. Logic, Logic Programming, and Prolog
  2. Foundations of Logic Programming. Unification, SLD-resolution, SLDNF-resolution.
  3. Recursion in Prolog. Recursive data structures and relations. Applications.
  4. Efficiency issues in Prolog. Declarative and procedural thinking. Controlling the search for answers with cut (!) and fail. Tail recursion. Techniques to write efficient code.
  5. Working with lists. Difference lists: applications. The maze problem.
  6. Special applications of Logic Programming

  1. Composite datatypes: pairs, lists, and vectors. Local definitions
  2. A crash course to Haskell

Programming for Mobile Devices


Probability and Statistics

  • Lab 1
  • Lab 2
    • Homework:
      • 37, 40, 55, 59 from Chapter 1, textbook
      • 5, 32 from Chapter 2, textbook (for this you need to read the slides about conditional probability or the subchapter)
Courses Course notes Labs

Software Engineering


Year 2, Semester 1

Individual Project




Graph Theory and Combinatorics

Exam Subjects


Homework in this course was assigned to sub-subgroups as a whole. As such, I only have the solutions for the problems I have personally solved for my sub-subgroup.
View files...


TBA; visit teacher's website for now

Operating Systems 1

Exam Subjects


  1. History of Operating Systems
  2. Introduction
  3. Processes
  4. Deadlocks
  5. Process Scheduling
  6. Inter-Process Communication
  7. Memory Management

Databases 1



Advanced Data Structures



  1. Introduction. Binary search trees and red-black trees. Efficiency issues
  2. Disjoint-set structures
  3. Mergeable heaps -- Binomial and Fibonacci heaps
  4. Amortized Analysis
  5. String Matching: The Finite Automata approach. Aho-Corasick algorithm.
  6. Computational Geometry
  7. The Nearest Neighbors problem kd-trees.
  8. Graphs: Data structures and algorithms for tree traversal. Applications.
  9. Weighted graphs
  10. Polynomials. Fast multiplication with FFT.



  • Submit IELTS diploma

Prim Ajutor (First Aid)

Disciplină transversală (Transversal subject)

Cursuri (Courses)

  • Curs 1
    • Principii de acordare a primului ajutor
    • Trusa de prim ajutor
    • Resuscitarea cardio-pulmonară (CPR)
    • Poziția de siguranță
  • Curs 2
    • Primul ajutor în hemoragii
    • Primul ajutor în plăgi
  • Curs 3
    • Primul ajutor în arsuri, degerături
    • Primul ajutor în electrocutare
    • Primul ajutor în hipertermie și hipotermie
  • Curs 4
    • Primul ajutor în leziunile aparatului locomotor
  • Curs 5
    • Recunoașterea și primul ajutor în principalele urgențe medicale netraumatice
  • Curs 6
    • Intoxicațiile
    • Primul ajutor în obstrucția căilor respiratorii superioare
    • Transportul accidentaților
    • Măsuri de prevenție a accidentelor

Year 1, Semester 2

Algorithms and Data Structures 2


  1. Intro. Stacks.
  2. Linked Lists
  3. Hash-Tables.
  4. Skip Lists. Binary Search Trees.
  5. Binary Search Trees.
  6. AVL trees, Splay trees, Intro to Red-black trees
  7. Red-black trees. Insertion. Deletion.
  8. Augmenting Data Structures. Computational Geometry.
  9. Computational Geometry.
  10. (Wrap up) Computational Geometry. Introduction to Graphs and Graph Algorithms. Breadth-First Search.
  11. Breadth-First Search, Depth-First Search, Topological Sorting. Intro to Minimum Spanning Trees.
  12. Minimum Spanning Trees: Kruskal's algorithm, Prim's Algorithm. Intro to B-Trees.
  13. B-trees.
  14. Data Compression.

Formal Languages and Automata Theory


  1. Organizational Matters, Introduction to Formal Languages and Automata Theory
  2. Introduction to Formal Languages and Automata Theory (cont'd)
  3. Finite Automata/Finite State Machines
  4. Finite Automata/Finite State Machines (cont'd)
  5. Finite Automata/Finite State Machines (cont'd)
  6. Finite Automata/Finite State Machines (cont'd)
  7. Regular Expressions
  8. DFA minimization
  9. Properties of Regular Languages
  10. Context-free Grammars. Push-down Automata

Exam Subjects

Methods and Practices in Informatics


Practice Stage 1


Programming 2 - C & C++


  1. Introduction to C Programming Language
  2. Functions
  3. Pointers
  4. Structures. Unions. Bitfields
  5. Introduction to Object Oriented Programming
  6. Constructors and destructors
  7. Modifiers. Nested classes. Concrete classes
  8. Objects. Class relationships
  9. Inheritance
  10. Handling Exceptions in C++
  11. Generic programming
  12. Standard Template Library


Eva is great.


  1. Sequences
  2. Series
  3. Limits. Continuity. Differentiability
  4. Sequences and series of functions
  5. Power series. Taylor polynomials
  6. The Riemann-Darboux integral
  7. Fourier Series
  8. Functions of several variables. Limits and continuity
  9. Partial and directional derivatives. Differentiability. Fréchet derivative
  10. Higher order differentiability. Local extrema
  11. Double and triple integrals
  12. Line integrals


  1. Power Series. Taylor Polynomials and Taylor Series.
  2. Integrals and primitives.
  3. Fourier series.
  4. Functions of several real variables. Limits and continuity.
  5. Differentiability of functions of several real variables.
  6. Higher order derivatives. Optimization.
  7. Double integrals.
  8. Line integrals. Green’s theorem.

Year 1, Semester 1

Computer Architecture

Homework Subjects

  1. Introduce yourself
  2. Scaling by orders of magnitude
  3. Binary numbers
  4. MidTerm
  5. Digital logic
  6. Microarchitecture
  7. Instruction Set Architecture
  8. Operating system
  9. Assembly language
  10. Report

Programming 1 - Python

Exam Subjects

  • Final Exam (answers marked on paper may not be correct)


Algorithms and Data Structures 1


  1. Introduction. Course Expectations. Algorithms.
  2. Pseudocode. Insertion Sort. Asymptotic Notations: Big O, Omega, Theta, small o
  3. Recurrences. Mergesort. Master Theorem.
  4. Heapsort.
  5. Applications of Master Theorem.
  6. QuickSort. Counting Sort
  7. Linear-time sorting continued. Medians and Order Statistics
  8. Dynamic Programming.
  9. The Greedy Approach.
  10. Backtracking
  11. NP-completeness.

Exam Subjects

Logic for Computer Science

Exam Subjects