{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,4,13]],"date-time":"2026-04-13T10:24:04Z","timestamp":1776075844996,"version":"3.50.1"},"publisher-location":"New York, NY, USA","reference-count":51,"publisher":"ACM","license":[{"start":{"date-parts":[[2024,7,3]],"date-time":"2024-07-03T00:00:00Z","timestamp":1719964800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":[],"published-print":{"date-parts":[[2024,7,3]]},"DOI":"10.1145\/3649217.3653567","type":"proceedings-article","created":{"date-parts":[[2024,7,3]],"date-time":"2024-07-03T18:30:20Z","timestamp":1720031420000},"page":"534-540","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":2,"title":["Containerizing CS50: Standardizing Students' Programming Environments"],"prefix":"10.1145","author":[{"ORCID":"https:\/\/orcid.org\/0000-0001-5338-2522","authenticated-orcid":false,"given":"David J.","family":"Malan","sequence":"first","affiliation":[{"name":"Harvard University, Cambridge, MA, USA"}]}],"member":"320","published-online":{"date-parts":[[2024,7,3]]},"reference":[{"key":"e_1_3_2_1_1_1","unstructured":"GitHub Actions. 2024. https:\/\/github.com\/features\/actions"},{"key":"e_1_3_2_1_2_1","unstructured":"Codespaces API. 2024. https:\/\/docs.github.com\/en\/rest\/codespaces"},{"key":"e_1_3_2_1_3_1","unstructured":"Repo API. 2024. https:\/\/docs.github.com\/en\/rest\/repos"},{"key":"e_1_3_2_1_4_1","unstructured":"VS Code API. 2024. https:\/\/code.visualstudio.com\/api\/references\/vscode-api"},{"key":"e_1_3_2_1_5_1","unstructured":"Brython. 2024. https:\/\/brython.info\/"},{"key":"e_1_3_2_1_6_1","unstructured":"GitHub Global Campus. 2024. https:\/\/education.github.com\/"},{"key":"e_1_3_2_1_7_1","unstructured":"GitHub Classroom. 2024. https:\/\/classroom.github.com\/"},{"key":"e_1_3_2_1_8_1","unstructured":"AWS Cloud9. 2024. https:\/\/aws.amazon.com\/cloud9\/"},{"key":"e_1_3_2_1_9_1","unstructured":"Visual Studio Code. 2024. https:\/\/code.visualstudio.com\/"},{"key":"e_1_3_2_1_10_1","unstructured":"GitHub Codespaces. 2024. https:\/\/github.com\/features\/codespaces"},{"key":"e_1_3_2_1_11_1","unstructured":"Codio. 2024. https:\/\/www.codio.com\/"},{"key":"e_1_3_2_1_12_1","unstructured":"Cloud9 Core. 2024. https:\/\/github.com\/c9\/core"},{"key":"e_1_3_2_1_13_1","unstructured":"VS Code Remote Development. 2024. https:\/\/code.visualstudio.com\/docs\/remote\/remote-overview"},{"key":"e_1_3_2_1_14_1","unstructured":"Docker. 2024. https:\/\/www.docker.com\/"},{"key":"e_1_3_2_1_15_1","unstructured":"Amazon Elastic Block Store (EBS). 2024. https:\/\/aws.amazon.com\/ebs\/"},{"key":"e_1_3_2_1_16_1","unstructured":"Amazon EC2. 2024. https:\/\/aws.amazon.com\/ec2\/"},{"key":"e_1_3_2_1_17_1","unstructured":"edX. 2024. https:\/\/www.edx.org\/"},{"key":"e_1_3_2_1_18_1","unstructured":"Emscripten. 2024. https:\/\/emscripten.org\/"},{"key":"e_1_3_2_1_19_1","unstructured":"Flask. 2024. https:\/\/flask.palletsprojects.com\/"},{"key":"e_1_3_2_1_20_1","unstructured":"Amazon Programs for Research and Education. 2024. https:\/\/aws.amazon.com\/grants\/"},{"key":"e_1_3_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1145\/2184512.2184607"},{"key":"e_1_3_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1145\/3349266.3351401"},{"key":"e_1_3_2_1_23_1","volume-title":"The Pragmatic Programmer: From Journeyman to Master","author":"Hunt Andrew","unstructured":"Andrew Hunt and David Thomas. 2000. The Pragmatic Programmer: From Journeyman to Master. Addison-Wesley Longman Publishing Co., Inc., USA."},{"key":"e_1_3_2_1_24_1","unstructured":"The GDB\/MI Interface. 2024. https:\/\/sourceware.org\/gdb\/current\/onlinedocs\/gdb.html\/GDB_002fMI.html"},{"key":"e_1_3_2_1_25_1","unstructured":"What is a Container? 2024. https:\/\/www.docker.com\/resources\/what-container\/"},{"key":"e_1_3_2_1_26_1","unstructured":"JSLinux. 2024. https:\/\/bellard.org\/jslinux\/"},{"key":"e_1_3_2_1_27_1","unstructured":"Kubernetes. 2024. https:\/\/kubernetes.io\/"},{"key":"e_1_3_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1145\/1734263.1734427"},{"key":"e_1_3_2_1_29_1","doi-asserted-by":"publisher","DOI":"10.1145\/3626252.3630938"},{"key":"e_1_3_2_1_30_1","first-page":"6","article-title":"Moving CS50 into the cloud","volume":"25","author":"Malan David J.","year":"2010","unstructured":"David J. Malan. 2010. Moving CS50 into the cloud. J. Comput. Sci. Coll. 25, 6 (jun 2010), 111--120.","journal-title":"J. Comput. Sci. Coll."},{"key":"e_1_3_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1145\/1734263.1734316"},{"key":"e_1_3_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/2462476.2462491"},{"key":"e_1_3_2_1_33_1","unstructured":"Visual Studio Code Marketplace. 2024. https:\/\/marketplace.visualstudio.com\/vscode"},{"key":"e_1_3_2_1_34_1","unstructured":"Dev Container metadata reference. 2024. https:\/\/containers.dev\/implementors\/json_reference\/"},{"key":"e_1_3_2_1_35_1","unstructured":"Docker Engine overview. 2024. https:\/\/docs.docker.com\/engine\/"},{"key":"e_1_3_2_1_36_1","unstructured":"Pyodide. 2024. https:\/\/github.com\/pyodide\/pyodide"},{"key":"e_1_3_2_1_37_1","unstructured":"PyPy.js. 2024. https:\/\/pypyjs.org\/"},{"key":"e_1_3_2_1_38_1","unstructured":"Distribution Registry. 2024. https:\/\/distribution.github.io\/distribution\/"},{"key":"e_1_3_2_1_39_1","unstructured":"Replit. 2024. https:\/\/replit.com\/"},{"key":"e_1_3_2_1_40_1","unstructured":"Amazon S3. 2024. https:\/\/aws.amazon.com\/s3\/"},{"key":"e_1_3_2_1_41_1","unstructured":"Amazon Web Services. 2024. https:\/\/aws.amazon.com\/"},{"key":"e_1_3_2_1_42_1","unstructured":"Skulpt. 2024. https:\/\/skulpt.org\/"},{"key":"e_1_3_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1145\/2512276.2512287"},{"key":"e_1_3_2_1_44_1","unstructured":"Stack Overflow Developer Survey. 2023. https:\/\/survey.stackoverflow.co\/2023\/"},{"key":"e_1_3_2_1_45_1","unstructured":"Automating the Installation with Kickstart. 2021. https:\/\/docs.fedoraproject.org\/en-US\/fedora\/f36\/install-guide\/advanced\/Kickstart_Installations\/"},{"key":"e_1_3_2_1_46_1","unstructured":"Transcrypt. 2024. https:\/\/www.transcrypt.org\/"},{"key":"e_1_3_2_1_47_1","unstructured":"User and Workspace Settings. 2024. https:\/\/code.visualstudio.com\/docs\/getstarted\/settings"},{"key":"e_1_3_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/3341525.3387424"},{"key":"e_1_3_2_1_49_1","unstructured":"VirtualBox. 2024. https:\/\/www.virtualbox.org\/"},{"key":"e_1_3_2_1_50_1","unstructured":"WebAssembly. 2024. https:\/\/webassembly.org\/"},{"key":"e_1_3_2_1_51_1","unstructured":"Virtual x86. 2024. https:\/\/copy.sh\/v86\/"}],"event":{"name":"ITiCSE 2024: Innovation and Technology in Computer Science Education","location":"Milan Italy","acronym":"ITiCSE 2024","sponsor":["SIGCSE ACM Special Interest Group on Computer Science Education"]},"container-title":["Proceedings of the 2024 on Innovation and Technology in Computer Science Education V. 1"],"original-title":[],"link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3649217.3653567","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3649217.3653567","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,8,21]],"date-time":"2025-08-21T14:48:36Z","timestamp":1755787716000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3649217.3653567"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2024,7,3]]},"references-count":51,"alternative-id":["10.1145\/3649217.3653567","10.1145\/3649217"],"URL":"https:\/\/doi.org\/10.1145\/3649217.3653567","relation":{},"subject":[],"published":{"date-parts":[[2024,7,3]]},"assertion":[{"value":"2024-07-03","order":3,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}