{"id":{"repo_id":"mit","oai_identifier":"oai:dspace.mit.edu:1721.1/151672"},"canonical_url":"https://search.dev.ndltd.org/etd/mit/oai:dspace.mit.edu:1721.1/151672","repository":{"repo_id":"mit","name":"MIT","base_url":"https://dspace.mit.edu/oai/request"},"display":{"title":"An Introductory Low-level Programming Course for Students with a Python Background","abstract":"The study of C and assembly language can provide valuable insight about the innate nature of computing systems and higher level programming languages. However, before September 2022, the MIT Department of Electrical Engineering and Computer Science (MIT EECS) had not required students to take any class that covers this material and these relationships. The classes included in the introductory programming sequence taken by most MIT EECS students place a stronger emphasis on high-level languages such as Python, which abstract away the interactions that a program must have with memory. Previously, if C had been introduced in an introductory-level class, it was one of several simultaneous concepts being taught to the students and therefore was not explored in depth. In September 2022, MIT EECS revised the class requirements for two of its degrees, Electrical Engineering and Computer Science (Course 6-2) and Computer Science and Engineering (Course 6-3) [1] to require a six-unit introductory course that focuses on low-level programming using C and assembly language. This thesis focuses on the establishment of this introductory low-level programming class intended for students positioned early in the EECS curriculum. Students taking this class study C and assembly language so that they can enter later coursework with both the ability to use these programming languages and a basic understanding of computing systems and associated constraints.","abstract_html":"The study of C and assembly language can provide valuable insight about the innate nature of computing systems and higher level programming languages. However, before September 2022, the MIT Department of Electrical Engineering and Computer Science (MIT EECS) had not required students to take any class that covers this material and these relationships. The classes included in the introductory programming sequence taken by most MIT EECS students place a stronger emphasis on high-level languages such as Python, which abstract away the interactions that a program must have with memory. Previously, if C had been introduced in an introductory-level class, it was one of several simultaneous concepts being taught to the students and therefore was not explored in depth. In September 2022, MIT EECS revised the class requirements for two of its degrees, Electrical Engineering and Computer Science (Course 6-2) and Computer Science and Engineering (Course 6-3) [1] to require a six-unit introductory course that focuses on low-level programming using C and assembly language. This thesis focuses on the establishment of this introductory low-level programming class intended for students positioned early in the EECS curriculum. Students taking this class study C and assembly language so that they can enter later coursework with both the ability to use these programming languages and a basic understanding of computing systems and associated constraints.","abstract_has_math":false,"creators":["Quaratiello, Grace"],"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":["Steinmeyer, Joseph D."],"committee_chairs":[],"committee_members":[],"year":2023,"date_issued":"2023-06","date_published":"2023-06","updated_at":"2026-07-22T22:21:08Z","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/151672","outbound_label":"Handle","outbound_source":"dc:identifier.uri"},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:contributor.advisor","label":"Advisor","values":["Steinmeyer, Joseph D."]},{"key":"dc:contributor.department","label":"Department","values":["Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science"]},{"key":"dc:creator","label":"Author","values":["Quaratiello, Grace"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date.accessioned","label":"Dc Date Accessioned","values":["2023-07-31T19:57:56Z"]},{"key":"dc:date.available","label":"Dc Date Available","values":["2023-07-31T19:57:56Z"]},{"key":"dc:date.issued","label":"Date","values":["2023-06"]},{"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/151672"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description.abstract","label":"Abstract","values":["The study of C and assembly language can provide valuable insight about the innate nature of computing systems and higher level programming languages. However, before September 2022, the MIT Department of Electrical Engineering and Computer Science (MIT EECS) had not required students to take any class that covers this material and these relationships. The classes included in the introductory programming sequence taken by most MIT EECS students place a stronger emphasis on high-level languages such as Python, which abstract away the interactions that a program must have with memory. Previously, if C had been introduced in an introductory-level class, it was one of several simultaneous concepts being taught to the students and therefore was not explored in depth. In September 2022, MIT EECS revised the class requirements for two of its degrees, Electrical Engineering and Computer Science (Course 6-2) and Computer Science and Engineering (Course 6-3) [1] to require a six-unit introductory course that focuses on low-level programming using C and assembly language. This thesis focuses on the establishment of this introductory low-level programming class intended for students positioned early in the EECS curriculum. Students taking this class study C and assembly language so that they can enter later coursework with both the ability to use these programming languages and a basic understanding of computing systems and associated constraints."]},{"key":"dc:description.degree","label":"Dc Description Degree","values":["M.Eng."]},{"key":"dc:title","label":"Title","values":["An Introductory Low-level Programming Course for Students with a Python Background"]}]}],"canonical_facts":{"dc:contributor.advisor":["Steinmeyer, Joseph D."],"dc:contributor.department":["Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science"],"dc:creator":["Quaratiello, Grace"],"dc:date.accessioned":["2023-07-31T19:57:56Z"],"dc:date.available":["2023-07-31T19:57:56Z"],"dc:date.issued":["2023-06"],"dc:description.abstract":["The study of C and assembly language can provide valuable insight about the innate nature of computing systems and higher level programming languages. However, before September 2022, the MIT Department of Electrical Engineering and Computer Science (MIT EECS) had not required students to take any class that covers this material and these relationships. The classes included in the introductory programming sequence taken by most MIT EECS students place a stronger emphasis on high-level languages such as Python, which abstract away the interactions that a program must have with memory. Previously, if C had been introduced in an introductory-level class, it was one of several simultaneous concepts being taught to the students and therefore was not explored in depth. In September 2022, MIT EECS revised the class requirements for two of its degrees, Electrical Engineering and Computer Science (Course 6-2) and Computer Science and Engineering (Course 6-3) [1] to require a six-unit introductory course that focuses on low-level programming using C and assembly language. This thesis focuses on the establishment of this introductory low-level programming class intended for students positioned early in the EECS curriculum. Students taking this class study C and assembly language so that they can enter later coursework with both the ability to use these programming languages and a basic understanding of computing systems and associated constraints."],"dc:description.degree":["M.Eng."],"dc:identifier.uri":["https://hdl.handle.net/1721.1/151672"],"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":["An Introductory Low-level Programming Course for Students with a Python Background"],"dc:type":["Thesis"],"thesis:degree_name":["Master","Master of Engineering in Electrical Engineering and Computer Science"]},"updated_at":"2026-07-22T22:21:08Z"}