Courses from 1000+ universities
Two years after its first major layoff round, Coursera announces another, impacting 10% of its workforce.
600 Free Google Certifications
Web Development
Cybersecurity
Computer Networking
Introducción a la gestión de proyectos
Internet History, Technology, and Security
Philosophy, Science and Religion: Religion and Science
Organize and share your learning with Class Central Lists.
View our Lists Showcase
Explore fundamental principles of type systems, comparing session types with traditional types in logic, mathematics, and computer science.
Explore a flexible type system for data race prevention in parallel programming, allowing aliasing while controlling it to prevent data races. Implemented as a Scala 3 compiler extension.
Explore advanced typestate-based checking for Java, focusing on inheritance, polymorphism, and protocol compliance. Learn to enhance object-oriented code safety and expressiveness.
Explore Hylo's innovative approach to safe, efficient systems programming using mutable value semantics and abstract interpretation for lifetime verification.
Explore the future of programming languages, where dynamic features and static analysis converge, challenging traditional notions of language design and programmer workflows.
Explore live state-first debugging for web GUI apps, revealing state changes without logs or breakpoints. Learn about Unfold's timeline, code correlation, and auto-replay features.
Explore a monadic framework for name resolution in multi-phased type checkers, bridging the gap between abstract typing rules and practical implementations using compositional mappings and monadic combinators.
Explore a prototype tool for streamlined travel planning, combining freeform text, external data, and dynamic formulas in a single outline document.
Explore interactive compiler debugging with CodeProber. Learn to identify and fix bugs in language tooling using source code-based exploration of AST properties.
Explore a relational solver for Java Generics Type System, enhancing understanding of advanced programming concepts and type theory.
Explore programming languages as human languages, examining their structural elements, cognitive impacts, and role in shaping developer communities and mental models.
Explore unification algorithms for languages with binding operators and equational axioms. Learn about solving equations between terms in logic programming and theorem proving.
Explore spatial programming with CellPond, a novel approach that eliminates escape hatches and maximizes visual, interactive benefits.
Explore a prototype bridging digital audio workstations and live coding, combining visual interfaces with programmable music creation for enhanced flexibility and creativity.
Explore a pred-LL(*) parsable typed higher-order macro system for Architecture Description Languages, reducing specification redundancy and improving maintainability.
Get personalized course recommendations, track subjects and courses with reminders, and more.