{"id":{"repo_id":"mit","oai_identifier":"oai:dspace.mit.edu:1721.1/162750"},"canonical_url":"https://search.dev.ndltd.org/etd/mit/oai:dspace.mit.edu:1721.1/162750","repository":{"repo_id":"mit","name":"MIT","base_url":"https://dspace.mit.edu/oai/request"},"display":{"title":"Copilot Tutor: Automated Software Engineering Practice Augmented with LLMs","abstract":"In recent years, large language models (LLMs) have become more ubiquitous in the workplace. In software engineering, they are often realized as “copilots\" which produce code given a prompt or existing code. Programmers using these tools to increase their coding productivity need to be proficient in inspecting and in understanding these copilots’ outputs. As engineers incorporate these tools to accelerate their workflows, they have a parallel opportunity to accelerate learning new programming languages. This thesis presents a tutor interface where students with some programming experience in an origin language can learn a target language while practicing how to critically read and fix a copilot’s output to write correct, safe programs. This work also introduces the automatic generation of exercises teaching syntax and semantics on which a programmer experienced in the origin language but not the target language should focus.","abstract_html":"In recent years, large language models (LLMs) have become more ubiquitous in the workplace. In software engineering, they are often realized as “copilots&quot; which produce code given a prompt or existing code. Programmers using these tools to increase their coding productivity need to be proficient in inspecting and in understanding these copilots’ outputs. As engineers incorporate these tools to accelerate their workflows, they have a parallel opportunity to accelerate learning new programming languages. This thesis presents a tutor interface where students with some programming experience in an origin language can learn a target language while practicing how to critically read and fix a copilot’s output to write correct, safe programs. This work also introduces the automatic generation of exercises teaching syntax and semantics on which a programmer experienced in the origin language but not the target language should focus.","abstract_has_math":false,"creators":["Kong, Blisse"],"institution":"Massachusetts Institute of Technology","degree_name":"Master","degree_level":null,"degree_discipline":null,"degree_department":"Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science","school":null,"contributors":[],"advisors":["Miller, Robert C."],"committee_chairs":[],"committee_members":[],"year":2025,"date_issued":"2025-05","date_published":"2025-05","updated_at":"2026-07-22T22:20:54Z","subjects":[],"languages":[],"rights":["In Copyright - Educational Use Permitted","Copyright retained by author(s)"],"rights_urls":["https://rightsstatements.org/page/InC-EDU/1.0/"],"identifier_entries":[]},"links":{"outbound_url":"https://hdl.handle.net/1721.1/162750","outbound_label":"Handle","outbound_source":"dc:identifier.uri"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor.advisor","label":"Advisor","values":["Miller, Robert C."]},{"key":"dc:contributor.department","label":"Department","values":["Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science"]},{"key":"dc:creator","label":"Author","values":["Kong, Blisse"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date.accessioned","label":"Dc Date Accessioned","values":["2025-09-18T14:30:30Z"]},{"key":"dc:date.available","label":"Dc Date Available","values":["2025-09-18T14:30:30Z"]},{"key":"dc:date.issued","label":"Date","values":["2025-05"]},{"key":"dc:publisher","label":"Institution","values":["Massachusetts Institute of Technology"]},{"key":"dc:type","label":"Dc Type","values":["Thesis"]},{"key":"thesis:degree_name","label":"Degree Name","values":["Master","Master of Engineering in Electrical Engineering and Computer Science"]}]},{"id":"language_rights","label":"Language and Rights","entries":[{"key":"dc:rights","label":"Dc Rights","values":["In Copyright - Educational Use Permitted","Copyright retained by author(s)"]},{"key":"dc:rights.uri","label":"Rights URI","values":["https://rightsstatements.org/page/InC-EDU/1.0/"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier.uri","label":"Identifier URI","values":["https://hdl.handle.net/1721.1/162750"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description.abstract","label":"Abstract","values":["In recent years, large language models (LLMs) have become more ubiquitous in the workplace. In software engineering, they are often realized as “copilots\" which produce code given a prompt or existing code. Programmers using these tools to increase their coding productivity need to be proficient in inspecting and in understanding these copilots’ outputs. As engineers incorporate these tools to accelerate their workflows, they have a parallel opportunity to accelerate learning new programming languages. This thesis presents a tutor interface where students with some programming experience in an origin language can learn a target language while practicing how to critically read and fix a copilot’s output to write correct, safe programs. This work also introduces the automatic generation of exercises teaching syntax and semantics on which a programmer experienced in the origin language but not the target language should focus."]},{"key":"dc:description.degree","label":"Dc Description Degree","values":["M.Eng."]},{"key":"dc:title","label":"Title","values":["Copilot Tutor: Automated Software Engineering Practice Augmented with LLMs"]}]}],"canonical_facts":{"dc:contributor.advisor":["Miller, Robert C."],"dc:contributor.department":["Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science"],"dc:creator":["Kong, Blisse"],"dc:date.accessioned":["2025-09-18T14:30:30Z"],"dc:date.available":["2025-09-18T14:30:30Z"],"dc:date.issued":["2025-05"],"dc:description.abstract":["In recent years, large language models (LLMs) have become more ubiquitous in the workplace. In software engineering, they are often realized as “copilots\" which produce code given a prompt or existing code. Programmers using these tools to increase their coding productivity need to be proficient in inspecting and in understanding these copilots’ outputs. As engineers incorporate these tools to accelerate their workflows, they have a parallel opportunity to accelerate learning new programming languages. This thesis presents a tutor interface where students with some programming experience in an origin language can learn a target language while practicing how to critically read and fix a copilot’s output to write correct, safe programs. This work also introduces the automatic generation of exercises teaching syntax and semantics on which a programmer experienced in the origin language but not the target language should focus."],"dc:description.degree":["M.Eng."],"dc:identifier.uri":["https://hdl.handle.net/1721.1/162750"],"dc:publisher":["Massachusetts Institute of Technology"],"dc:rights":["In Copyright - Educational Use Permitted","Copyright retained by author(s)"],"dc:rights.uri":["https://rightsstatements.org/page/InC-EDU/1.0/"],"dc:title":["Copilot Tutor: Automated Software Engineering Practice Augmented with LLMs"],"dc:type":["Thesis"],"thesis:degree_name":["Master","Master of Engineering in Electrical Engineering and Computer Science"]},"updated_at":"2026-07-22T22:20:54Z"}