{"id":"https://openalex.org/W2751258960","doi":"https://doi.org/10.1145/3110248","title":"Scaling up functional programming education: under the hood of the OCaml MOOC","display_name":"Scaling up functional programming education: under the hood of the OCaml MOOC","publication_year":2017,"publication_date":"2017-08-29","ids":{"openalex":"https://openalex.org/W2751258960","doi":"https://doi.org/10.1145/3110248","mag":"2751258960"},"language":"en","primary_location":{"id":"doi:10.1145/3110248","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3110248","pdf_url":"http://dl.acm.org/ft_gateway.cfm?id=3110248&type=pdf","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"type":"article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"bronze","oa_url":"http://dl.acm.org/ft_gateway.cfm?id=3110248&type=pdf","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5039266018","display_name":"Benjamin Canou","orcid":null},"institutions":[],"countries":[],"is_corresponding":true,"raw_author_name":"Benjamin Canou","raw_affiliation_strings":["OCamlPro, France"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"OCamlPro, France","institution_ids":[]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5087991671","display_name":"Roberto Di Cosmo","orcid":"https://orcid.org/0000-0002-7493-5349"},"institutions":[{"id":"https://openalex.org/I169173203","display_name":"D\u00e9l\u00e9gation Paris 7","ror":"https://ror.org/00bw5n526","country_code":"FR","type":"government","lineage":["https://openalex.org/I154526488","https://openalex.org/I169173203"]},{"id":"https://openalex.org/I204730241","display_name":"Universit\u00e9 Paris Cit\u00e9","ror":"https://ror.org/05f82e368","country_code":"FR","type":"education","lineage":["https://openalex.org/I204730241"]}],"countries":["FR"],"is_corresponding":false,"raw_author_name":"Roberto Di Cosmo","raw_affiliation_strings":["Inria, France / University of Paris Diderot, France"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"Inria, France / University of Paris Diderot, France","institution_ids":["https://openalex.org/I169173203","https://openalex.org/I204730241"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5041292816","display_name":"Gr\u00e9goire Henry","orcid":null},"institutions":[],"countries":[],"is_corresponding":false,"raw_author_name":"Gr\u00e9goire Henry","raw_affiliation_strings":["OCamlPro, France"],"raw_orcid":null,"affiliations":[{"raw_affiliation_string":"OCamlPro, France","institution_ids":[]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":3,"corresponding_author_ids":["https://openalex.org/A5039266018"],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":1.5677,"has_fulltext":true,"cited_by_count":14,"citation_normalized_percentile":{"value":0.8688667,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":98},"biblio":{"volume":"1","issue":"ICFP","first_page":"1","last_page":"25"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10533","display_name":"Teaching and Learning Programming","score":0.9991999864578247,"subfield":{"id":"https://openalex.org/subfields/1706","display_name":"Computer Science Applications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10533","display_name":"Teaching and Learning Programming","score":0.9991999864578247,"subfield":{"id":"https://openalex.org/subfields/1706","display_name":"Computer Science Applications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10743","display_name":"Software Testing and Debugging Techniques","score":0.9948999881744385,"subfield":{"id":"https://openalex.org/subfields/1712","display_name":"Software"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10054","display_name":"Parallel Computing and Optimization Techniques","score":0.9944000244140625,"subfield":{"id":"https://openalex.org/subfields/1708","display_name":"Hardware and Architecture"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/computer-science","display_name":"Computer science","score":0.8148673176765442},{"id":"https://openalex.org/keywords/functional-programming","display_name":"Functional programming","score":0.7697108387947083},{"id":"https://openalex.org/keywords/combinatory-logic","display_name":"Combinatory logic","score":0.6575695872306824},{"id":"https://openalex.org/keywords/grading","display_name":"Grading (engineering)","score":0.6188411712646484},{"id":"https://openalex.org/keywords/programming-language","display_name":"Programming language","score":0.5419619083404541},{"id":"https://openalex.org/keywords/task","display_name":"Task (project management)","score":0.49880218505859375},{"id":"https://openalex.org/keywords/key","display_name":"Key (lock)","score":0.4640893340110779},{"id":"https://openalex.org/keywords/process","display_name":"Process (computing)","score":0.4104294776916504},{"id":"https://openalex.org/keywords/software-engineering","display_name":"Software engineering","score":0.392188161611557},{"id":"https://openalex.org/keywords/multimedia","display_name":"Multimedia","score":0.36530810594558716},{"id":"https://openalex.org/keywords/operating-system","display_name":"Operating system","score":0.21916267275810242}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8148673176765442},{"id":"https://openalex.org/C42383842","wikidata":"https://www.wikidata.org/wiki/Q193076","display_name":"Functional programming","level":2,"score":0.7697108387947083},{"id":"https://openalex.org/C79678938","wikidata":"https://www.wikidata.org/wiki/Q1481571","display_name":"Combinatory logic","level":2,"score":0.6575695872306824},{"id":"https://openalex.org/C2777286243","wikidata":"https://www.wikidata.org/wiki/Q5591926","display_name":"Grading (engineering)","level":2,"score":0.6188411712646484},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5419619083404541},{"id":"https://openalex.org/C2780451532","wikidata":"https://www.wikidata.org/wiki/Q759676","display_name":"Task (project management)","level":2,"score":0.49880218505859375},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.4640893340110779},{"id":"https://openalex.org/C98045186","wikidata":"https://www.wikidata.org/wiki/Q205663","display_name":"Process (computing)","level":2,"score":0.4104294776916504},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.392188161611557},{"id":"https://openalex.org/C49774154","wikidata":"https://www.wikidata.org/wiki/Q131765","display_name":"Multimedia","level":1,"score":0.36530810594558716},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.21916267275810242},{"id":"https://openalex.org/C127413603","wikidata":"https://www.wikidata.org/wiki/Q11023","display_name":"Engineering","level":0,"score":0.0},{"id":"https://openalex.org/C187736073","wikidata":"https://www.wikidata.org/wiki/Q2920921","display_name":"Management","level":1,"score":0.0},{"id":"https://openalex.org/C162324750","wikidata":"https://www.wikidata.org/wiki/Q8134","display_name":"Economics","level":0,"score":0.0},{"id":"https://openalex.org/C147176958","wikidata":"https://www.wikidata.org/wiki/Q77590","display_name":"Civil engineering","level":1,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"id":"doi:10.1145/3110248","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3110248","pdf_url":"http://dl.acm.org/ft_gateway.cfm?id=3110248&type=pdf","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"}],"best_oa_location":{"id":"doi:10.1145/3110248","is_oa":true,"landing_page_url":"https://doi.org/10.1145/3110248","pdf_url":"http://dl.acm.org/ft_gateway.cfm?id=3110248&type=pdf","source":{"id":"https://openalex.org/S4210216081","display_name":"Proceedings of the ACM on Programming Languages","issn_l":"2475-1421","issn":["2475-1421"],"is_oa":false,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"Proceedings of the ACM on Programming Languages","raw_type":"journal-article"},"sustainable_development_goals":[{"id":"https://metadata.un.org/sdg/4","score":0.5799999833106995,"display_name":"Quality Education"}],"awards":[],"funders":[],"has_content":{"pdf":true,"grobid_xml":true},"content_urls":{"pdf":"https://content.openalex.org/works/W2751258960.pdf","grobid_xml":"https://content.openalex.org/works/W2751258960.grobid-xml"},"referenced_works_count":25,"referenced_works":["https://openalex.org/W212452321","https://openalex.org/W1039226838","https://openalex.org/W1881465144","https://openalex.org/W1965573140","https://openalex.org/W1998561708","https://openalex.org/W2010775113","https://openalex.org/W2012312630","https://openalex.org/W2027591137","https://openalex.org/W2028540741","https://openalex.org/W2035044492","https://openalex.org/W2058384977","https://openalex.org/W2066847046","https://openalex.org/W2076039366","https://openalex.org/W2119717320","https://openalex.org/W2144108798","https://openalex.org/W2159715184","https://openalex.org/W2166822586","https://openalex.org/W2249437077","https://openalex.org/W2260869788","https://openalex.org/W2915330815","https://openalex.org/W3003163926","https://openalex.org/W3083468910","https://openalex.org/W4244488020","https://openalex.org/W4245743185","https://openalex.org/W4245875875"],"related_works":["https://openalex.org/W2949151943","https://openalex.org/W2135888537","https://openalex.org/W1793478138","https://openalex.org/W2183434207","https://openalex.org/W2147822230","https://openalex.org/W2531895878","https://openalex.org/W2523702803","https://openalex.org/W3136890312","https://openalex.org/W2057474779","https://openalex.org/W2259894237"],"abstract_inverted_index":{"This":[0],"article":[1],"describes":[2,97],"the":[3,8,23,44,54,63,71,76,82,86,98,110,116,119],"key":[4],"innovations":[5],"used":[6],"in":[7,85],"massive":[9],"open":[10],"online":[11],"course":[12,83,99,117],"``Introduction":[13],"to":[14,43],"Functional":[15],"Programming":[16],"using":[17],"OCaml''":[18],"that":[19,96],"has":[20,89],"run":[21],"since":[22],"fall":[24],"semester":[25],"of":[26,41,49,58,80,109,121],"2015.":[27],"A":[28,46,105],"fully":[29],"in-browser":[30],"development":[31],"environment":[32],"with":[33],"an":[34,38],"integrated":[35],"grader":[36],"provides":[37,66],"exceptional":[39],"level":[40],"feedback":[42],"learners.":[45],"functional":[47,94],"library":[48],"grading":[50],"combinators":[51],"greatly":[52],"simplifies":[53],"notoriously":[55],"complex":[56],"task":[57],"writing":[59],"test":[60],"suites":[61],"for":[62],"exercises,":[64],"and":[65,100,114],"static":[67],"type-safety":[68],"guarantees":[69],"on":[70],"tested":[72],"user":[73],"code.":[74],"Even":[75],"error-prone":[77],"manual":[78],"process":[79],"importing":[81],"content":[84],"learning":[87],"platform":[88],"been":[90],"replaced":[91],"by":[92],"a":[93],"program":[95],"statically":[101],"checks":[102],"its":[103],"contents.":[104],"detailed":[106],"statistical":[107],"analysis":[108],"data":[111],"collected":[112],"during":[113],"after":[115],"assesses":[118],"effectiveness":[120],"these":[122],"innovations.":[123]},"counts_by_year":[{"year":2026,"cited_by_count":1},{"year":2025,"cited_by_count":2},{"year":2023,"cited_by_count":3},{"year":2022,"cited_by_count":3},{"year":2021,"cited_by_count":1},{"year":2019,"cited_by_count":2},{"year":2018,"cited_by_count":2}],"updated_date":"2026-05-21T06:26:12.895304","created_date":"2025-10-10T00:00:00"}
