Unit Testing Strategies: Writing Effective Test Cases
Comprehensive guide to unit testing strategies, covering test case design, coverage metrics, mocking techniques, and best practices for writing maintainable...
Complete solutions with step-by-step explanations for recent coursework
View all courses including Cryptography, Software Verification, Logic, and Intelligent Systems
View Courses →Browse homework, assignments, and complete solutions with explanations
View Assignments →Technical articles on CS topics, course notes, and learning insights
Read Blog →Active courses this semester with blog posts and assignments
Advanced cryptographic systems, security protocols, and modern encryption techniques.
Software testing, formal methods, model checking, and quality assurance.
Latest articles on course topics, research, and technical insights
Comprehensive guide to unit testing strategies, covering test case design, coverage metrics, mocking techniques, and best practices for writing maintainable...
A deep dive into symmetric encryption algorithms, including block ciphers like AES and DES, stream ciphers, and their applications in...
An overview of my Spring 2026 courses focusing on Cryptography (CS-6343) and Software Verification and Validation (CS-5374), including learning objectives...
Exploring the fundamentals of software verification and validation, covering testing strategies, quality assurance techniques, and methods for building reliable software...
Exploring public key cryptography systems, including the RSA algorithm, Diffie-Hellman key exchange, and how asymmetric encryption enables secure communication without...
Exploring integration testing methodologies and continuous verification practices, including test automation, CI/CD pipelines, and strategies for maintaining software quality throughout...
An introduction to formal methods for software verification, including model checking, theorem proving, and mathematical techniques for proving program correctness....
An introduction to the fundamental concepts of cryptography, exploring how secure communication systems work and why they are essential in...
Understanding cryptographic hash functions, their properties, applications in data integrity verification, digital signatures, and password storage systems.
Worked guide for Logic for Computer Scientists Homework 3: scoping, inference proofs, CNF transformations, and predicate encodings.
A comprehensive review of advanced logic concepts including Hilbert Systems, the Tableaux Method, and Herbrand Semantics, showing how they feed...
Upgrade the perceptron into a calibrated probabilistic classifier with logistic regression and its multiclass softmax extension, unpacking the sigmoid link,...
Master Linear Temporal Logic (LTL) for specifying and verifying time-dependent properties of reactive systems, from safety invariants to liveness guarantees....
Transition from probabilistic to discriminative models with the Perceptron algorithm, learning how linear classifiers use weighted features to make predictions...
Explore non-monotonic reasoning systems where new information can invalidate previous conclusions, from the classic Tweety the bird example to stable...
Learn how to handle zero-frequency problems and overfitting in Naive Bayes through Laplace smoothing and understand the theoretical foundations of...
Learn how Herbrand semantics reduce the infinite complexity of first-order logic interpretations to finite, manageable models through ground atoms and...
Learn how Naive Bayes bridges probabilistic reasoning and machine learning, using conditional independence assumptions to build powerful classifiers for spam...
Learn how variable elimination dramatically reduces computational complexity in Bayesian network inference through strategic factor manipulation and elimination ordering.
Master d-separation algorithms for determining conditional independence in Bayesian networks and understand the foundation of probabilistic inference.
An in-depth exploration of Hilbert proof systems and the Tableaux method for predicate logic, with detailed examples on quantifier manipulation...
Learn how the unification algorithm finds the most general unifier (MGU) that makes two terms identical, a fundamental operation in...
Discover reinforcement learning—the paradigm where agents learn to maximize expected rewards through experience, from robot locomotion to DeepRacer vehicles.
Learn to analyze propositional formulas using truth tables and formation trees—essential tools for understanding logical structure and validity.
Master the fundamental building blocks of logical reasoning: propositions, truth values, and logical connectives that form the bedrock of computer...
Discover how logic—the study of reasoning—forms the invisible foundation of every computer program, database query, and artificial intelligence system you...
An introduction to this blog and what I plan to share about my journey in computer science and machine learning...
An introduction to Prolog's unique declarative paradigm, exploring facts, rules, queries, and how logic programming differs from imperative approaches.
A comprehensive guide to understanding and applying the Master's Theorem for analyzing divide-and-conquer algorithms.