A page on LabLog, a review site (not the lab's official page)
Cong Lab
Machine-translated · View original
A lab that studies programming languages that make programs correct and easier to write.

AboutAbout the lab
Making programs correct and easy to write
The Cong Lab studies programming languages from both theoretical and educational perspectives.
It develops techniques for guaranteeing the correctness of programs, as well as environments that support people who are just beginning to learn programming.
It is especially interested in mechanisms such as continuations and dependent types in programming language theory.
In the professor's doctoral dissertation, a dependently typed language with delimited continuation operators was designed in order to achieve both program reliability and language expressiveness.
Key terms
- dependent types
- Types that vary depending on the content of a value; they make it possible to write the conditions a program must satisfy as types
- continuation
- The remaining computation to be carried out from a given point in a program; an idea that treats the flow of processing like a component
- functional programming
- A style of programming in which computation is written as a combination of functions
ResearchResearch themes
The lab studies programming languages from theoretical and educational perspectives. It develops techniques for guaranteeing the correctness of programs and environments that support novice programmers. Its research keywords are functional programming, delimited continuations, dependent types, programming education, and natural language semantics.
*Illustrative imageMaking continuations usable by everyone
A continuation, which treats "the rest of the computation" of a program as a value, is a powerful but hard-to-understand feature. The lab investigates where students get stuck and considers language designs that are easy for beginners to use, and it also works on applications to music composition.
*Illustrative imageSupporting learning to program
The lab builds systems that let beginners learn without getting stuck, such as an environment for learning program design through dialogue, a tool that automatically generates quizzes with deliberately introduced errors, and an exercise environment for modeling information.
*Illustrative imageProtecting program correctness with types
To find errors in programs before they are run, the lab studies type systems. Its work includes transformations of dependent types, formalizing programs in which multiple devices work cooperatively, and checking for mismatched matrix shapes in machine learning.
MembersFaculty
- Assistant ProfessorYouyou CongPublications ↗
VoicesStudent voices
Ratings and reviews reflect the experiences of individual current or former students, not the lab's official views. Whether a lab has reviews, or how many, says nothing about the lab itself.
Students who take part in an interview may receive a thank-you gift worth ¥1,000, regardless of what they say.
Student ratings (0 students)
--
--
--
--
--
--
Student voices answer questions like these
- What's great about this lab?
- What did you learn after joining?
- What's the vibe, and what is the professor like?
- Who is this lab for?
- Where do graduates go?
Your experience can help younger students choose their lab. Your name won't be shown.
Write a lab reviewAnonymous · Your draft is saved if you stopRelatedLabs similar to Cong Lab
Minamide LabSchool of Computing, Department of Mathematical and Computing ScienceSoftware verification and theoretical foundations of program…
Masuhara LabSchool of Computing, Department of Mathematical and Computing ScienceTheory and design of programming languages and development e…
Nakano LabSchool of Computing, Department of Mathematical and Computing ScienceTheory and numerical analysis of stochastic control problems
Yasunaga LabSchool of Computing, Department of Mathematical and Computing ScienceCryptography and computational theoryThe information on this page is compiled by the LabLog team from the lab's public information and interviews. For corrections or removal requests, please contact LabLog, not the lab.
Report an errorAbout the images
The top and research theme images are illustrative and were not taken at the lab. They are cropped from Wikimedia Commons images. Cropped CC BY-SA images are provided under the same CC BY-SA license as the original (version shown on each line).
- Top image: “Lambda calculus-Church numerals” Isaac David / Public domain (cropped)
- Making continuations usable by everyone: “Player Piano played an algorithmic installation, Computing Music Festival, Cologne” Charles Hutchins / CC BY 2.0 (cropped)
- Supporting learning to program: “COMPUTER LAB IMUV” RitwickSingh / CC BY-SA 4.0 (cropped)
- Protecting program correctness with types: “John Canny lecturing on whiteboard” Derrick Coetzee (User:Dcoetzee) / CC0 (cropped)
- Related lab (南出靖彦研究室): “CSS code on a screen (Unsplash)” Sai Kiran Anagani _imkiran / CC0 (cropped)
- Related lab (増原英彦研究室): “FortranCodingForm.agr” Arnold Reinhold / CC BY 2.5 (cropped)
- Related lab (中野張研究室): “Brownian surface” Prokofiev / CC BY-SA 3.0 (cropped)
- Related lab (安永憲司研究室): “ENIGMA Wired Rotor - National Cryptologic Museum - DSC07768” Daderot / CC0 (cropped)
About LabLog
LabLog is a lab review app for students only. Student members at each university interview students in labs and publish what they say. Student voices can only be read by students who sign up with a university email address. Operated by bestiee Inc.
Learn more about LabLog ↗Search engines and AI may reference the basic lab info and rating summaries on this page and the description of LabLog. Student voices are for student members only. Automated collection by programs (scraping, or input to or training of AI) is prohibited under Article 8 of the Terms of Service. If you need data for research or analysis, please contact us.