전체 글403 Lecture 9-10: Parallel and Concurrent 목차 Learning Objectives • Explain what concurrency and parallel computing are • Explain how we can fake parallelism on a single executor • Explain what atomicity is and how it is important for concurrent code • Explain what critical sections are and different ways in which you can protect them against concurrent use • Explain the potential problems with concurrent execution and how to prevent the.. 2024. 4. 6. CPL 4: Mutation and State case LetRecExt(binds, body) => { val newBody = binds.reverse.foldLeft(desugar(body)) { case (accBody, bind) => SeqC(SetC(bind.name, desugar(bind.value)), accBody) } AppC(FdC(binds.map(_.name), newBody), binds.map(bind => UninitializedC()))}-----------------------------------------------------------------------------------case IdC(c) => { val loc = lookup(c, nv) val value = fetch(loc, st1.. 2024. 4. 5. 코테 준비 1 나중에 꾸준히 쓰게 될지 잘 모르겠지만, 어쨋든 여기서는 내가 코딩 테스트를 어떻게 준비를 했고 어떤 문제들을 풀었고 어떤 것들을 배웠고에 대해서 아마도 쓰게 될거 같다. 그리고 우선 간단히 소개하자면, 나는 한국 대학이 아닌 네덜란드에 있는 델프트 공과대학교를 다니고 있으므로 국내 취업이 아닌 해외, 특히 네덜란드에서 신입 개발자로 취업을 하는 과정을 글로 쓸거 같다. 따라서, 해외에서 취업을 준비하다 보니 백준이나 프로그래머스 보다는 해외에서 더 사용되는 Leetcode나 Hackerrank 문제들을 풀거 같다. 그리고 아직 졸업을 한 상태가 아니므로, 학업과 병행하다 보니 문제들을 그렇게 많이 풀지는 못 한다 (학교 과제, 조교 일, 학교 시험 공부, 인터뷰 준비 등등). 그래서 여기에는 어떤 문제.. 2024. 4. 2. Lecture 5: Expert Evaluation 목차 Evaluation Evaluation is any type of test/measure to see how well something performs Most evaluations involve people, but some not (e.g. ML algorithms) Evaluation is part of the process, not just about the final product → Iterative Development Is it good enough with respect to X? How good is X? Is X better in system A or B? What effect does it have? What is wrong with respect to X? Evaluation.. 2024. 4. 1. Lecture 7-8: Mutation and State 목차 Learning Objectives - Explain how pointers work and how memory can be interpreted in different ways - Explain the differences between pass-by-reference and pass-by-value - Explain the differences between pure and impure languages - Understand the concept of stores and as an model for memory - Explain different methods to solve the problem of garbage - Implement a definitional interpreter with.. 2024. 4. 1. CPL 3: Function Interpretation and Environments 목차 Environments Basic Functions Environments represent the bindings available at different locations. Environment = list of bindings Bind is a case class (ADT) Bind(name: String, value: Value) E.g. Environment = [Bind("x", NumV(3)), Bind("y", NumV(5))] Difference between maps: environments allow for duplicate keys → allow access to shadowed bindings 1. add() def add(myEnv: Environment, name: Str.. 2024. 3. 31. Lecture 6: Environments and Scoping 목차 Learning Objectives - Explain what a "law" is - Explain how to verify that a programming language interpreter satisfies a law - Explain laws that uniquely characterize (simply-typed) functions What is a "Law"? An abstraction can be understood and defined independently of its underlying implementation Abstract definition = syntax + laws A law is an equation between two terms Example: → 왼쪽이 Syn.. 2024. 3. 29. Lecture 5: Functions, Substitution and Environments 목차 Learning Objectives• Explain how function application works by substituting parameters for arguments • Execute simple programs involving lambdas • Explain what name shadowing and name capture is • Implement recursion using only lambdas • Explain how environments are delayed substitutions Functions in ParetExamples Syntax (Lab/Extended) Example Example Function ApplicationParentheses aro.. 2024. 3. 28. 이전 1 ··· 3 4 5 6 7 8 9 ··· 51 다음 반응형