본문 바로가기

전체 글411

Lecture 2: Syntax & Parsing 목차 Learning ObjectivesUnderstand what grammars are Write your own grammars from a specificationKnow what Algebraic Data Types areDefine your own Algebraic Data Types (in Scala)Apply pattern matching in (Scala) programsCreate abstract syntax tree from programs given a grammar (EXAM QUESTION)Know what s-expressions areWrite simple parsers  Syntax Syntax: the structure of program phrases in a langu.. 2024. 3. 25.
Lecture 1: Introduction 목차 Abstraction (추상화) Programming languages are how we instruct machines to do our bidding The more precisely we can model domain-specific abstractions, the better programs we can write, i.e. - concise - maintainable - efficient - correct Abstraction is the process of generalizing concrete details to focus attention on details of greater importance. What is a Definitional Interpreter Definitional.. 2024. 3. 19.
Lecture 7 pt 2: Background for Software Security and Testing 목차 Why care about C/C++? Software in C/C++ is necessary because: - it is performant (성능 기준에 맞는) - it facilitates communication with or control of the hardware (하드웨어 컨트롤) A lot of languages, including safe languages still use components in C/C++ We have inherited a lot of (legacy) software coded in these languages CPUs only Understand Binary C, C++ code → Compiler → Binary code For other language.. 2024. 3. 18.
Lecture 7 pt1 : Database Security 목차 Database Driven Websites There is a web application running. The server processes the user input and access the databasse with the input. Student data stored into database Access to database mediated by server Handling Input in a Database Databases organize data A database management system (DBMS) is the system responsible for managing the data and handling the interaction with the user (데이터베.. 2024. 3. 18.
Lecture 7: Computational Coalition Formation 목차 What is an Agent? - Intelligent entity that is situated in an environment and can perceive the environment. Agent has goals and a list of available actions and act autonomously to satisfy goals and is social. 가상공간에 위치 하여 특별한 응용 프로그램을 통해 사용자를 도울 목적으로 반복 작업을 자동으로 처리하는 컴퓨터 프로그램 Example: the Prisoner's Dilemma - 두 명의 에이전트가 있고 범죄를 질렀다. - 법원은 증거가 없어서 경범죄만 우선 적용됐다. (감방 1년씩) - 만약에 한명만 자백하면 바로 나가고, 나머.. 2024. 3. 6.
Lecture 4: Envisionment & Design 목차 Envisionment (상상적 이미지) Making ideas visible by externalizing thoughts. - Stories / scenarios - Presentations - Sketches / formal models - Software prototypes - Cardboard models What is design? Design is both the process of envisioning a solution to a problem under constraints and the representations of the product that are produced during the design process, i.e. the physical process of captu.. 2024. 3. 5.
Lecture 3: User Experience & Accessibility To be written 2024. 3. 5.
Lecture 6: OS - Level Security 목차 Learning Objectives - Understand what is access control - Be able to explain how OSs enforce access control - Reason about pros/cons of different access control mechanisms and policies What is an Operating System (OS)? An operating system provides a useful way to interface with the hardware Hardware resources are accessed through abstractions provided by the OS (e.g. CPU, Memory, Files, Netwo.. 2024. 3. 3.
반응형