Courses from 1000+ universities
Two years after its first major layoff round, Coursera announces another, impacting 10% of its workforce.
600 Free Google Certifications
Digital Marketing
Computer Science
Graphic Design
Mining Massive Datasets
Making Successful Decisions through the Strategy, Law & Ethics Model
The Science of Well-Being
Organize and share your learning with Class Central Lists.
View our Lists Showcase
Explore mechanisms for describing real-time tasks in FRP languages for small-scale embedded systems, focusing on periodic and aperiodic task extensions in Emfrp.
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.
Get personalized course recommendations, track subjects and courses with reminders, and more.