Formal Methods
Propositional, predicate and temporal logic, Petri nets, and model checking with NuSMV.
Course notes from my degrees and tutoring.
Propositional, predicate and temporal logic, Petri nets, and model checking with NuSMV.
Logic, ontologies, agents, search and games, expert systems, inductive logic programming, and modal logics.
Building ML systems for production: requirements, system design, versioning, CI/CD, containers, serving APIs, QA, and monitoring.
From regression, SVMs and decision trees to CNNs, RNNs, autoencoders and generative models, plus probabilistic graphical models, probabilistic circuits, and knowledge graph embeddings.
The KDD process, association rules, ensembles, data streams, NoSQL with Cassandra, and Spark.
Object-oriented programming in Java: abstraction, polymorphism, exceptions, collections, generics, I/O, threads, networking, and functional programming.
Search, constraint satisfaction, propositional inference, supervised learning, neural networks, learning under uncertainty, relations, and knowledge graphs.
Information retrieval and filtering, collaborative and content-based recommenders and their evaluation, PageRank, Lucene, and Elasticsearch.
Exercises and solutions in C for intro programming, plus grammars and formal languages for the Programming and Formal Languages course.