Each course had a practical component.
May they help future generations and my future self.
APR (eng. Computer Aided Analysis and Design)
- Solve systems of linear equations -> matrix manipulation, forward and back substitution, LU and LUP decomposition
- Single variable nonlinear function optimization -> golden section search, Nealder-Mead simplex method, Hooke-Jeeves method
- Multiple variable nonlinear function optimization -> gradient descent, Newton-Raphson method
- Constrained optimization -> Box method, constrained problem transformation
- Genetic/evolutionary algorithm -> representation, crossover, mutation, optimal parameter search
- Numerical integration -> Runge-Kutta methods
FMOS (eng. Formal Methods in System Design)
- Propositional logic, predicate logic, Computation Tree Logic (CTL), Kripke structure
- NuSVM language and programming
- Linear Temporal Logic (LTL), fixed point theory
- JavaPathFinder tool and programming
- Hardware Description Language (VHDL), Verilog
- Promela language and Spin tool
- Binary Decision Tree (BDD), Reduced Order BDD (ROBDD), ITE algorithm
- DPLL, GRASP and Chaff methods
NMBP (eng. Advanced Databases)
- Text search
- Advanced SQL -> aggregate functions, OVER, PARTITION BY, BY ROWS, BY RANGE, Common Table Expressions (CTE)
- Object, spatial and temporal databases
- Two Phase Commit Protocol (2PC)
- NoSQL databases -> document, column family, graph databases
- MapReduce algorithm and combinable reducers
- Fragmentation and replication
- Consistency, Availability, Partition tolerance (CAP) and Basically Available, Soft state, Eventually consistent (BASE)
- Semantic web -> Resource Description Framework (RDF), Turtle and OWL language
NOS (eng. Advanced Operating Systems)
- Communication between processes -> message queues, pipelines
- Mutual exclusion in distributed systems -> Lamport's distributed protocol, Ricart-Agrawala protocol
- Cryptography -> security demands, DES, AES, block ciphers, RSA, Miller-Rabin primality test, digital envelope, signature and seal, hash functions
- Security protocols -> Diffie-Hellman protocol, Needham–Schroeder protocol, Kerberos protocols, PKI
- RAID
PP (eng. Parallel Programming)
- Introduction to High Performance Computing (HPC) -> parallel programming models, properties and sequential to parallel conversion
- Message Passing Interface (MPI) -> process communication, MPI functions, blocking and non-blocking
- Parallel Random Access Machine (PRAM) -> synchronous and asynchronous, *_reduce algorithm
- Designing parallel programs -> phases, hypercube algorithm, N-tree algorithm
- Quantitative analysis of parallel algorithms -> time to execute, efficiency and isoefficiency, speedup, scalability
RASSUS (eng. Distributed Systems)
- Distributed systems and their processes
- Pull and push model; UDP, TCP, RPC, RMI
- Direct and indirect process communication using messages; subscribe-publish model
- CGI, AJAX, SSE, WS, web services, SOAP, WSDL, UDDI, SOA and REST
- Scalar and vector clocks
- Byzantine fault, 2PC and 3PC, consistency and replication
- Queue theory and PDQ simulator
RGKK (eng. Distributed ledgers and cryptocurrencies)
- Blockchain and cryptography
- Consensus, forks and mining
- Bitcoin, Bitcoin protocol and Script language
- Ethereum, smart contracts and Solidity language
- Finance, proof-of-X, alt-coins and scaling
SU (eng. Machine Learning)
- Linear regression, cross validation, feature, model and hyperparameter analysis
- Logistic regression, one-vs-one, one-vs-rest classification
- Support vector machines, kernel functions, K nearest neighbours
- Ensambles, maximum likelihood and aposteriori estimators
- Probabilistic graphical models, clustering
DES -> Data Encryption Standard
AES -> Advanced Encryption Standard
RSA -> Rivest–Shamir–Adleman
PKI -> Public Key Infrastructure
RAID -> Redundant Array of Inexpensive Disks
UDP -> User Datagram Protocol
TCP -> Transmission Control Protocol
RPC -> Remote Procedure Call
RMI -> Remote Method Invocation
CGI -> Common Gateway Interface
AJAX -> Asynchronous JavaScript and XML
SSE -> Server Sent Events
WS -> Web Socket
SOAP -> Simple Object Access Protocol
WSDL -> Web Service Description Language
UDDI -> Universal Description Discovery and Integration
SOA -> Service Oriented Architecture
REST -> Representational State Transfer
2PC, 3PC -> 2/3 Phase Commit
PDQ -> Pretty Damn Quick