Final Information: Covered materials: Lectures 1 to 17; Assignments 4 to 6. (around 75 out of 100 points on subjects covered after the midterm including Assignment 4) Priority for study: Priority 1: Homework/midterm - if you missed any point, make sure you know how to do it Priority 2: Lecture slides/Your own assignment code Priority 3: Other information if you do not understand part of the slides Most questions in the final are related to coding: writing code segments to achieve certain tasks or predicting the output of a code segment. But there are more concept questions than in the midterm. --- Format: The number of questions and question types are exactly the same as the midterm: short answer questions (14 questions, 70 points) and longer answer questions (3 questions, 30 points). Two of the longer answer questions are related to Assignments. ---- Content: Lecture 1 to Lecture 17 Lecture 1-9: see the reading list for midterm Lecture 10: Introduction to Database - Motivation, what does DBMS do? - Data structuring: model, schema, and data - Steps to build a DB application - ER model - Relation model Lecture 11: SQL basics: - Create/delete table - Insert/delete/modify table entries - Query: + SELECT-FROM-Where statements + Three value logic + query from multiple relations + Subquery + Bag and Set semantics + Aggregations + SELECT-FROM-WHERE-GROUP BY-HAVING statements Lecture 12: Relational Database in Python: SQLite3 - Create/delete SQLite database and tables - Insert/delete/modify table entries - Perform Query and display and use the results in Python Lecture 13: Web application development with Flask - Basic Flask application setting up web-pages with Flask code - Setting up dynamic web-pages - URL building, reuseing Flask code - Handle different HTTP methods - Flask with HTML templates + render-template() + passing argument to HTML templates + accessing variables passed inside HTML templates + interacting with forms Lecture 14: Introduction to Computer Security - What is computer security and what are its objectives? - Terminologies: Confidentiality, integrity, availability, authenticity, and accountability - Active/passive security attacks - Security mechanisms - Security design principles - Attack surface - Attack tree Lecture 15: Symmetric Encryption - General model - classification of Cryptography systems + types of operations for traniforming plaintext to ciphertext + Symmetric key/public key + Block cipher/stream cipher - Feistel cipher algorithm and design elements - DES - AES Lecture 16: Role based access control - general concepts and how this works Lecture 17: Malware, Distributed DOS attacks, and Firewall - Classification of malware - examples of malware - Virus - Worms - attack kits - Advanced Persistent Threat - Viruses + How it works (virus logic) + Virus phases + classification by target + classification by concealment strategy - Worms + propogation method + worm technology - DDOS - How it works - Examples - countermeasures - Firewall + What is it? + Examples of values can be used by firewall for filtering traffic + Types of firewalls and what information they are looking at for filtering traffic