Course

CS-320: Computer language processing

Summary

We teach the fundamental aspects of analyzing and interpreting computer languages, including the techniques to build compilers. You will build a working compiler from an elegant functional language into machine code using a popular backend called LLVM (https://llvm.org)

About this result
This page is automatically generated and may contain information that is not correct, complete, up-to-date, or relevant to your search query. The same applies to every other page on this website. Please make sure to verify the information with EPFL's official sources.
Instructor
Viktor Kuncak
Viktor Kunčak joined EPFL in 2007, after receiving a PhD degree from MIT. Since then has been leading the Laboratory for Automated Reasoning and Analysis and supervised at least 12 completed PhD theses. His works on languages, algorithms and systems for verification and automated reasoning. He served as an initiator and one of the coordinators of a European network (COST action) in the area of automated reasoning, verification, and synthesis. In 2012 he received a 5-year single-investigator European Research Council (ERC) grant of 1.5M EUR. His invited talks include those at Lambda Days, Scala Days, NFM, LOPSTR, SYNT, ICALP, CSL, RV, VMCAI, and SMT. A paper on test generation he co-authored received an ACM SIGSOFT distinguished paper award at ICSE. A PLDI paper he co-authored was published in the Communications of the ACM as a Research Highlight article.  His Google Scholar profile reports an over-approximate H-index of 38.  He was an associate editor of ACM Transactions on Programming Languages and Systems (TOPLAS) and served as a co-chair of conferences on Computer-Aided Verification (CAV), Formal Methods in Computer Aided Design (FMCAD), Workshop on Synthesis (SYNT), and Verification, Model Checking, and Abstract Interpretation (VMCAI).  At EPFL he teaches courses on functional and parallel programming, compilers, and verification. He has co-taught the MOOC "Parallel Programming" that was visited by over 100'000 learners and completed by thousands of students from all over the world.
Lectures in this course (73)
id dolor excepteurEPFL-123: commodo excepteur
Nulla voluptate cupidatat deserunt et. Dolor fugiat occaecat ea Lorem dolor cillum non. Commodo reprehenderit quis proident aliqua ea Lorem fugiat. Laboris consequat elit proident amet esse nisi veniam fugiat. Cupidatat laborum ea quis deserunt ut ut. Non deserunt Lorem commodo et magna elit aliqua. Sunt ea cupidatat incididunt excepteur nulla reprehenderit consectetur cillum nulla ea reprehenderit adipisicing pariatur.
ipsum occaecatEPFL-123: officia veniam
Amet ullamco deserunt enim laboris proident cillum nulla aliquip irure. Ut esse officia cillum ut. Irure dolor aute commodo cupidatat. Officia ullamco ullamco aliquip mollit ut cillum est reprehenderit laboris. Ad ullamco est anim Lorem ad duis do. Laborum eu anim sunt ut aliqua amet aute anim esse. Cillum eiusmod ea proident fugiat qui in ad excepteur est.
irure cupidatat ex esse reprehenderitEPFL-123: consequat non excepteur nostrud
Eu culpa commodo enim velit. Aliquip ex id commodo dolor adipisicing irure velit. Ullamco excepteur labore excepteur et ipsum sit excepteur ipsum labore qui tempor occaecat. Proident irure laboris proident est ullamco anim ea incididunt esse laborum qui aliquip. Aliquip nostrud fugiat aliqua aliqua irure.
nostrud labore consequatEPFL-123: culpa occaecat id culpa
Nisi et ut laboris cupidatat qui mollit duis deserunt sint dolor et. Nostrud consequat deserunt laboris ullamco sit commodo magna officia consectetur ad. Aliquip ex magna occaecat proident ut excepteur magna sit quis esse ea in ea veniam. Cillum reprehenderit ipsum deserunt ea ex ut proident anim irure sint culpa nisi consectetur. Magna irure eu ex sunt qui. Excepteur excepteur excepteur proident laborum magna ullamco aliquip deserunt.
reprehenderit eiusmodEPFL-123: consequat eiusmod
Sint ex velit sint cupidatat anim in Lorem non fugiat laboris voluptate in id. Minim aute mollit ullamco exercitation duis nostrud consectetur commodo officia consequat id consequat minim ea. Culpa id enim irure anim exercitation duis ipsum anim eiusmod do magna ullamco.
Login to see this section
Related courses (739)
CS-214: Software construction
Learn how to design and implement reliable, maintainable, and efficient software using a mix of programming skills (declarative style, higher-order functions, inductive types, parallelism) and fundam
CS-101: Advanced information, computation, communication I
Discrete mathematics is a discipline with applications to almost all areas of study. It provides a set of indispensable tools to computer science in particular. This course reviews (familiar) topics a
ME-213: Programmation pour ingénieur
Mettre en pratique les bases de la programmation vues au semestre précédent. Développer un logiciel structuré. Méthode de debug d'un logiciel. Introduction à la programmation scientifique. Introductio
CS-420: Advanced compiler construction
Students learn several implementation techniques for modern functional and object-oriented programming languages. They put some of them into practice by developing key parts of a compiler and run time
CS-550: Formal verification
We introduce formal verification as an approach for developing highly reliable systems. Formal verification finds proofs that computer systems work under all relevant scenarios. We will learn how to u
Show more
Related MOOCs (39)
Parallelism and Concurrency
(merge of parprog1, scala-reactive, scala-spark-big-data)
Functional Programming
In this course you will discover the elements of the functional programming style and learn how to apply them usefully in your daily programming tasks. You will also develop a solid foundation for rea
Functional Programming Principles in Scala [retired]
This advanced undergraduate programming course covers the principles of functional programming using Scala, including the use of functions as values, recursion, immutability, pattern matching, higher-
Show more

Graph Chatbot

Chat with Graph Search

Ask any question about EPFL courses, lectures, exercises, research, news, etc. or try the example questions below.

DISCLAIMER: The Graph Chatbot is not programmed to provide explicit or categorical answers to your questions. Rather, it transforms your questions into API requests that are distributed across the various IT services officially administered by EPFL. Its purpose is solely to collect and recommend relevant references to content that you can explore to help you answer your questions.