site_name: Notes theme: variant: classic palette: - scheme: default primary: indigo accent: indigo toggle: icon: material/weather-night name: Switch to dark mode - scheme: slate primary: indigo accent: indigo toggle: icon: material/weather-sunny name: Switch to light mode features: - navigation.instant - navigation.tabs - navigation.top - navigation.footer - toc.integrate - content.code.copy - content.code.annotate - search.suggest - search.highlight - search.share - content.action.edit - content.action.view markdown_extensions: - admonition - attr_list - def_list - footnotes - md_in_html - meta - toc: permalink: true - codehilite - extra - pymdownx.highlight - pymdownx.superfences - pymdownx.inlinehilite - pymdownx.magiclink - pymdownx.betterem - pymdownx.critic - pymdownx.details - pymdownx.keys - pymdownx.mark - pymdownx.smartsymbols - pymdownx.tasklist: custom_checkbox: true - pymdownx.arithmatex: generic: true extra_javascript: - javascripts/mathjax.js - https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js plugins: - search - minify: minify_html: true nav: - Home: index.md - Books: - Designing Data-Intensive Applications: - Preface: books/designing_data_intensive_applications/preface/index.md - Part 1. Foundations of Data Systems: - Chapter 1. Reliable, Scalable and Maintainable Applications: books/designing_data_intensive_applications/part1/chapter1.md - Chapter 2. Data Models and Query Languages: books/designing_data_intensive_applications/part1/chapter2.md - API Design Patterns: - Part 1. Introduction: - Chapter 1. Introduction to APIs: books/api_design_patterns/part1/chapter1.md - Chapter 2. Introduction to API Design Patterns: books/api_design_patterns/part1/chapter2.md - Part 2. Design Principles: - Chapter 3. Naming: books/api_design_patterns/part2/chapter3.md - Chapter 4. Resource Scope and Hierarchy: books/api_design_patterns/part2/chapter4.md - Lecture Notes: - Developing Maintainable Software: - Java Collections: lectures/dms/01_java_collections.md - UML Diagrams: lectures/dms/02_uml.md - Operating Systems and Concurreny: - Scheduling Algorithms: lectures/osc/01_scheduling_algorithms.md - Threads: lectures/osc/02_threads.md - Processes 4: lectures/osc/03_processes4.md - Concurrency 1: lectures/osc/04_concurrency1.md - Concurrency 2: lectures/osc/05_concurrency2.md - Concurrency 3: lectures/osc/06_concurrency3.md - Concurrency 4: lectures/osc/07_concurrency4.md - Concurrency 6: lectures/osc/08_concurrency6.md - Memory Management 1: lectures/osc/09_mem_management1.md - Memory Management 2: lectures/osc/10_mem_management2.md - Memory Management 3: lectures/osc/11_mem_management3.md - Memory Management 4: lectures/osc/12_mem_management4.md - Memory Management 5: lectures/osc/13_mem_management5.md - Memory Management 6: lectures/osc/14_mem_management6.md - File Systems 1: lectures/osc/15_file_systems1.md - File Systems 2: lectures/osc/16_file_systems2.md - File Systems 3: lectures/osc/17_file_systems3.md - Advanced Computer Networks: - Intro: lectures/acn/01_intro.md - MANET And DTN: lectures/acn/02_MANET_and_DTN.md - VANET And DTN: lectures/acn/03_VANET_and_DTN.md - DTN Protocols: lectures/acn/04_DTN_Protocols.md - DTN Advanced Protocols: lectures/acn/05_DTN_advanced_protocols.md - DTN Congestion Control: lectures/acn/06_DTN_congestion_control.md - Information Centric Networks: lectures/acn/07_information_centric_networks.md - Content Centric Networks: lectures/acn/08_content_centric_networks.md - DTN Security: lectures/acn/09_DTN_security.md - Drones: lectures/acn/10_drones.md - Connecting: lectures/acn/11_connecting.md - Naming: lectures/acn/12_naming.md - Reliability: lectures/acn/13_reliability.md - BGP: lectures/acn/14_bgp.md - Compilers: - Structures: lectures/compilers/01_structures.md - Arithmetic Grammar: lectures/compilers/02_arithmetic.md - Triangle Abstract Machine: lectures/compilers/03_TAM.md - Functional Parsers: lectures/compilers/04_functional_parsers.md - Functors: lectures/compilers/05_functors.md - Applicative Functors: lectures/compilers/06_applicative_functors.md - Functor Class of Parsers: lectures/compilers/07_coursework_notes.md - Compiling Variables: lectures/compilers/08_variables.md - Variable Environments: lectures/compilers/09_variable_enviroments.md - Compiling Branches: lectures/compilers/10_if_then_else.md - Monad Revision: lectures/compilers/11_monads_continued.md - Cryptography: - Introduction: lectures/cryptography/01_intro.md - Stream Ciphers: lectures/cryptography/02_randomness.md - Modern Stream Ciphers: lectures/cryptography/03_stream_ciphers.md - Data Encryption Standard: lectures/cryptography/04_data_encryption.md - Data Encryption Standard Continued: lectures/cryptography/05_des2.md - Finite Field Arithmetic: lectures/cryptography/06_finite_fields.md - Aes: lectures/cryptography/07_aes.md - Block_cipher_modes: lectures/cryptography/08_block_cipher_modes.md - Public_key_maths: lectures/cryptography/09_public_key_maths.md - RSA: lectures/cryptography/10_RSA.md - Diffie-hellman: lectures/cryptography/11_diffie-hellman.md - Elliptic_curves: lectures/cryptography/12_elliptic_curves.md - Elgamal: lectures/cryptography/13_elgamal.md - Digital_signatures: lectures/cryptography/14_digital_signatures.md - Hash_functions: lectures/cryptography/15_hash_functions.md - Crypto_protocols: lectures/cryptography/16_crypto_protocols.md - Ethics: - Why do we need Professional Ethics: lectures/ethics/01_ethics_intro.md - Professional Codes of Conduct: lectures/ethics/02_codes_of_conduct.md - Coursework Issue: lectures/ethics/03_coursework_notes.md - Professional Responsibilities: lectures/ethics/04_professional_responsibilities.md - Dependable Computing: lectures/ethics/05_dependable_computing.md - Secure by Design: lectures/ethics/06_secure_design.md - Data Protection by Design and Default: lectures/ethics/07_data_protection.md - Autonomous Systems: lectures/ethics/08_autonomous_systems.md - Responsible Research and Innovation: lectures/ethics/09_responsible_research.md - Coursework Submission: lectures/ethics/20153544_COMP3020_2020_21.md - Graphics: - Rendering: lectures/graphics/01_rendering.md - OpenGL, GLFW and GLSL: lectures/graphics/02_opengl_glfw_glad.md - Mathematics for Graphics: lectures/graphics/03_graphic_math.md - Transformations: lectures/graphics/04_transformations.md - 2d to 3d: lectures/graphics/05_2d_to_3d.md - Rendering Pipeline: lectures/graphics/06_rendering_pipeline.md - Camera Essentials: lectures/graphics/07_camera.md - Information Visualisation: - Fundamentals of Information Visualisation: lectures/infovis/01_intro.md - The Value of Visualisation: lectures/infovis/02_value_of_visualisation.md - Malware: - Malware Analysis Techniques: lectures/malware/01_static_analysis.md - Dynamic Analysis: lectures/malware/02_dynamic_analysis.md - Crash Course in x86 Assembler: lectures/malware/03_intro_x86.md - Disassembler: lectures/malware/04_disassembler.md - Analysing Malicious Windows Programs: lectures/malware/05_windows_analysis.md - Anti Disassembly: lectures/malware/06_anti_disassembly.md - Data Encoding: lectures/malware/07_data_encoding.md - Processes: lectures/malware/08_processes.md - Malware Behaviour: lectures/malware/09_malware_behaviour.md - Security: - Security: lectures/security/01_intro.md - Security Management: lectures/security/02_security_management.md - Symmetric Cryptography: lectures/security/03_cryptography.md - Users and Authentication: lectures/security/04_users_and_authentication.md - Authentication: lectures/security/05_authentication_and_hash.md - Reference Monitors: lectures/security/06_reference_monitors.md - Unix Security: lectures/security/07_unix_security.md - Windows Security: lectures/security/08_windows_security.md - Malware: lectures/security/09_malware.md - Exploits: lectures/security/10_exploits.md - Network Security: lectures/security/11_network_security.md - Firewalls: lectures/security/12_firewalls.md - Internet Security: lectures/security/13_internet_security.md - Database Security: lectures/security/14_database_security.md - Anti-Virus: lectures/security/15_intrusion_detection.md - Cyber Threat Intelligence: lectures/security/16_cyber_threat_intelligence.md