A sustainability theme for introductory programming courses
Автор: Jeffrey A. Stone
Журнал: International Journal of Modern Education and Computer Science @ijmecs
Статья в выпуске: 2 vol.11, 2019 года.
Бесплатный доступ
Sustainability is an important topic for modern college and universities, many of whom are actively promoting sustainable practices and integration of sustainability topics into course curricula. The inclusion of socially-relevant projects and course “themes” has been shown to assist in attracting students to Computer and Information Science, and practical, problem-based applications have also been shown to attract females and underrepresented groups to the discipline. In Computer and Information Science education, most documented approaches attempt to integrate sustainable computing topics either as learning modules, open-ended project topics, or as concentrated courses. This paper describes a lightweight, non-intrusive pedagogical approach to integrating sustainability education in introductory programming courses. By creating introductory programming projects focused on sustainability topics, students are exposed to the general concepts and terminology involved with the important scientific and societal topic. This approach also allows students to see the practical applications of computing in a socially relevant context. Results of a two-year study of this approach have been encouraging, though more work is needed to assess the full impact of this approach and to overcome the limitations of the implementation context.
CS1, Sustainability, Social Impacts, Programming, Science Education
Короткий адрес: https://sciup.org/15016826
IDR: 15016826 | DOI: 10.5815/ijmecs.2019.02.01
Текст научной статьи A sustainability theme for introductory programming courses
Published Online February 2019 in MECS DOI: 10.5815/ijmecs.2019.02.01
Sustainability has become a strategic topic for colleges and universities across the United States. Coinciding with the growing recognition of climate change, as well as high-profile efforts to promote sustainable practices, policies, and programs, higher education has begun to see sustainability knowledge as an integral part of a well-rounded education. Computer Science (CS) and Information Science (IS) has also recognized the importance of sustainable practices, as well as the fundamental role of computing in attacking the complex problems associated with sustainability-related phenomena. Consequently, efforts have been undertaken to infuse sustainability into CS/IS curricula.
Research on the efforts to blend sustainability into CS/IS courses has been limited, focusing largely on sustainability as an open-ended project topic in advanced courses and/or discussions of so-called “green computing” considerations in systems design, management and implementation. A survey of the literature suggests that pedagogical efforts to integrate the student acquisition of sustainability knowledge in the introductory programming sequence is lacking, perhaps due to the aggressive requirements of these courses, the multiple stakeholders for these courses, and a lack of faculty experience with or knowledge of sustainability.
This paper will discuss a unique pedagogical approach designed to introduce CS/IS students to general sustainability concepts and topics without compromising traditional course learning objectives. Rather than a direct or holistic approach, such as a course themed around sustainable computing, this novel approach integrates sustainability education through a series of sustainability-themed introductory programming assignments and activities. The introductory programming courses in question maintain their focus on basic programming concepts but have the added benefit of showing the practical, socially relevant application of computing to a variety of sustainability domains. The integration of socially relevant content has the potential to be both engaging and a potential attractant to general education students, who may see the CS or IS majors as a plausible outlet for addressing complex social problems.
This paper will discuss the results of a preliminary assessment of the approach, focusing on student perceptions of engagement, understanding, and knowledge of sustainability concepts. This paper will proceed as follows. A brief review of related works on sustainability and efforts to promote multidisciplinary content in introductory CS and IS courses will be provided. This review will be followed by a discussion of the author’s pedagogical approach and an overview of the preliminary study design. Finally, a discussion of the study implementation and results will be presented, along with the implications, limitations, and future directions of this research.
-
II. Related Works
Sustainability has been alternatively defined as “development that meets the needs of the present without compromising the ability of future generations to meet their own needs” [1] and “the simultaneous pursuit of human health and happiness, environmental quality and economic well-being for current and future generations” [2]. Sustainability has been identified by both political organizations, such as the United Nations [1] and U.S. Environmental Protection Agency [3], and by academic institutions as an important priority moving forward. In CS education, the importance of sustainability is evident in formal computing curricula. Sustainability is mentioned specifically in ABET accreditation criteria for Engineering [4] but not for computing programs; however, ABET does identify “An ability to analyze the local and global impact of computing on individuals, organizations, and society” and “An understanding of professional, ethical, legal, security and social issues and responsibilities” as student outcomes [5].
Colleges and universities have been proactively building policies and programs designed to promote sustainable practices, and several professional organizations have been formed to support these efforts (e.g. AASHE, Association for the Advancement of Sustainability in Higher Education) [6,7]. Beyond the implementation of sustainable practices, many universitylevel academic institutions have been experimenting with the infusion of sustainability into course curricula.
Sustainability knowledge and practice is and will continue to be an important element of both personal behavior and professional responsibility. For CS majors, professional concerns may arise in projects requiring adherence to sustainability-related regulations or policies, among other things; consequently, CS curricula is increasingly reflecting an awareness of sustainability concerns. In CS education, the amount of published research involving the use of sustainability-themed modules or courses in Computer Science is relatively small. The relevant literature describes several attempts at integrating sustainability into CS curricula. These approaches normally focus on the relationship between IT and sustainability, such as “green computing” modules and a variety of multidisciplinary, complex, and relatively open-ended project topics (e.g. [6,7,8,9,10,11]). Several authors have also advocated for sustainability integration and have noted barriers to such efforts. A lack of faculty expertise, competing priorities, and a lack of resources are all commonly cited barriers (e.g. [7,12]).
-
A. Sustainability for Diverse Enrollments
Though evidence points to a recent uptick in computing enrollments in the United States [13], computing majors have traditionally struggled with attracting a diverse set of students. Dedicated efforts to engage and attract a diverse set of students to computing majors often focus on infusing multidisciplinary concerns into introductory programming courses (so-called CS1-style courses), as these courses are used to fulfill requirements for nascent computing majors as well as supporting both other majors and general education. Successful pedagogical approaches have included Media Computation [14,15], animation [16], art [17], film [18], web design [19], robots [20], and the use of “real” datasets obtained from online sources [21,22].
Arguments in favor of these “alternative” pedagogical approaches include meeting student interests and providing tangible, socially relevant course topics or themes. Females, specifically, have been seen as more likely to become computing majors once they see the tangible applications of computing [23]. Sustainability represents a more recent area of opportunity for a CS1-style course theme. The infusion of sustainability into CS/IS Education has been seen as a potential recruitment tool, perhaps attracting students – especially from underrepresented groups – who value majors with broad social impacts [24,25]. Sustainability provides a universal, socially relevant topic upon which the practical, problembased applications of computing can be demonstrated, thus offering the promise of increased enrollment diversity.
-
B. A Different Approach
At the author’s institution, a directive from central administration asked faculty to integrate sustainability topics in courses as appropriate. Structurally, the approach described in this paper aligns with the “distributed” approach identified by [7,12] whereby sustainability topics are spread across many courses rather than being concentrated in 1-2 courses. The author’s approach also builds on Rader et al. [25] by injecting socially relevant projects into introductory programming courses. Unlike many of the approaches mentioned prior, this approach does not concentrate on IT-specific sustainability (e.g. green computing, energy efficient data centers) but rather uses introductory programming projects as a way to educate students about general sustainability concepts. It was also expected that the infusion of a socially-relevant set of projects would serve to both engage students and provide them with incentive to consider CS or IS as their major.
The approach described in the following sections is a means in which sustainability can be infused into CS/IS courses without fully redesigning the course content. The approach offers the benefits of introducing students to sustainability while still focusing on the programming outcomes often found in CS1-style courses. The approach also offers the promise of attracting students to computing majors by providing a socially-relevant project “theme” for the introductory course (or courses).
-
III. The Pedagogical Approach
A set of introductory programming projects were constructed around various sustainability topics. The projects were used in five introductory programming course sections between fall 2015 and spring 2017. Four CS sections were taught in structured C++ and were comparable in content; one IS section was an introductory Java course for students who had already completed the C++ course, and focused on many of the
same elements (e.g. arithmetic expressions, I/O, conditions, loops, and arrays) as the other sections. Each course typically has an enrollment between 5-15 students per semester.

Fig.1. Elements of the Pedagogical Approach
Besides meeting the programming-centric learning objectives for the courses in question, the purpose of these projects is to introduce sustainability to an audience who otherwise may not have had exposure to these topics. This gentle, less intrusive approach is preferable, given the dense nature of the existing course content. Rather than making sustainability a focus of the course, this approach allows students to learn about these sustainability concepts as a precursor to completing related programming projects. This subtle integration offers students an opportunity to learn about the wider context of the give programming problem. See Fig. 1 for a graphical summary of the pedagogical approach.
-
A. Sustainability-Themed Projects
Each of the projects related to a single sustainability topic. The directions, made available via the course learning management system (LMS) and the Web , began with a “background” section prior to the actual program directions. This background section gave a brief description of the sustainability topic, including one or two brief, publicly accessible YouTube videos embedded within the directions (Note: these videos were not created by the author; existing YouTube content was used). The videos were included to provide a secondary yet engaging vehicle by which students could learn about the topic.
Following the background section were the program directions, which revolved around a small problem related to the aforementioned sustainability topic. The project itself was actually measuring students’ programming ability, but students were expected to understand the background material to fully comprehend the problem. Efforts were made to keep the early-course problems relatively simple, as prior research has suggested that introductory students may avoid or struggle with problems that are too open-ended or not perceived as “easy” or “fun” [25,26]. Projects later in the course were of increased complexity. Each project involved a set of programming exercises designed to construct, piece by piece, a small program related to the sustainability concept. Most exercises include sample test cases the students could use to guide their I/O interaction and assess their program’s ability to compute correct results. A summary of some of the programming project topics and their relationship to sustainability follows.
Fuel Efficiency : This project provides background information on fuel efficiency, emissions, and the benefits of electric cars. Students are asked to create a program that measures fuel efficiency and costs based on user input. Students are also expected to run their program multiple times with specific values, after which a table of results is completed and submitted along with the code; this experimentation is designed to illustrate the relative differences in efficiency and fuel costs between gas and hybrid cars, both sedans and SUVs, for different gas prices. The programming emphasis in this project is on arithmetic expressions and console I/O.
Wind Power : This project provides background information on wind (and wind turbines) as a source of renewable energy. Students are asked to create a program that calculates the maximum and actual power produced by a wind turbine, based on user input values for operating efficiency, blade radius, and average wind speed. The programming emphasis in this project is on arithmetic expressions and console I/O.
Acid Rain : This project provides background information on the potential Hydrogen (pH) scale, its relationship to Acid Rain, and an example of Acid Rain’s effects on Washington D.C. monuments. Students are asked to create a program that classifies a pH value provided by the user (e.g. Alkaline, Acidic, etc.). The programming emphasis in this project is on cascading if statements.
Recycling : This project provides background information on recycling and its impacts. The information provided includes examples of various materials, their degradation rate, and the impact of recycling those materials. Students are asked to create a program that allows the user to choose from a set of four recyclable materials, after which information about its degradation rate and recycling impact is output to the screen. The programming emphasis in this project is on switch and if statements.
Tree Growth : This project provides background information on trees, growth patterns and their benefits to the environment. Students are asked to create a program that calculates the growth of a tree over time, based on user input parameters. The programming emphasis in this project is on loops.
Planting Schedules: Intended as the last assignment in the C++ course sections, this project provides background information on the benefits of home gardens and urban farming. Students are asked to create a program that constructs a planting schedule for a specific crop, based on user input parameters. The programming emphasis in this project is on loops, arrays, and abstract data types.
Air Pollution : This project provides students with background information on air pollution, its sources, and its impacts. Students are asked to create a program that assesses whether or not the user-provided values for various pollutants exceed acceptable levels. The programming emphasis in this project is on loops and arrays.
Solar Power : Two distinct projects were used to provide students with information on solar power. Both projects provided background information on solar panels and the use of solar power as renewable energy. One project asked students to create a program to calculate the energy output of a solar panel and the amount of solar radiation captured, based on user input parameters. The second project involved some of the same computations, but students were asked to create a program that listed the amount of solar radiation captured by a panel over time. The programming emphasis in the first project was on arithmetic expressions, whereas the second project emphasized for loops.
Transportation : This series of two Java-only projects provides students with background on sustainable transportation and the use of electric vehicles for mass transit. The first project involves creating two supporting Java classes for an abstract graph class; these classes are then integrated into a larger, instructor-provided program that allows users to model a simple transportation network. The second project involves modifying the prior project code to find the shortest paths in a transportation network for efficient scheduling. The programming emphasis in both projects was on class construction, testing, and integration.
-
B. In-Class Reinforcement
Besides the background information provided in the project directions, additional reinforcement was provided during the regular class sessions. Discussions of the language-specific content, the project details, and the expected learning outcomes were followed by an in-class discussion on the sustainability topic and its’ broader implications. The author/course instructor would introduce the sustainability topic in class, provide a brief introduction to the topic (including a YouTube video) and discuss its importance as both a societal concern and as an application for computing. Students were encouraged to think about the relationship of the topic to their local community and to their daily lives through in-class discussion.
-
C. Guest Speakers
The initial plan was to use guest speakers to supplement the instructor’s brief discussion of the specific sustainability topics. These guest speakers were intended to provide contextual, detailed perspectives on the various topics. Unfortunately, most of the recruited speakers had to withdraw their participation due to lastminute conflicts and other commitments. As a result, this element of the approach was not fully realized.
In the end, two speakers were used. First, the campus sustainability champion provided an “introduction to sustainability” presentation early in each of the participating courses. This 15-minute presentation provided students with an introduction to sustainability. Information about campus and college-wide sustainability initiatives was also provided. A second speaker was only able to talk to one of the classes during the first year. This campus representative gave a presentation about the use of a solar panel array located on campus. The presentation preceded a prior in-class lab exercise themed around solar panels and computing their power output.
-
IV. Preliminary Study
The sustainability-based projects and associated pedagogy were first implemented in the fall 2015 semester. An initial study was undertaken to assess student engagement with the sustainability projects, as well as their perceived impact on sustainability knowledge. The purpose of this study was to provide initial feedback on the approach. This feedback will be used to refine the pedagogical approach in future course offerings.
-
A. Research Question
The central research question was as follows: does the use of sustainability-themed projects in introductory programming courses help students gain a greater understanding and appreciation for sustainability concepts? Considerations of the longer-term impact of the sustainability projects (e.g. greater likelihood of enrolling in a computing major, changes in sustainability-related student behavior) was left to a future study.
-
B. Data Collection
During the 2015-2016 academic year (Year 1), the authors delivered a short custom survey to all participants at the end of each semester. This survey included questions on demography as well as their perceptions about the impact the sustainability components of the course had on their own knowledge and sustainable practices.
For the 2016-2017 academic year (Year 2), a pre-test survey was administered at the start of the semester to assess student perceptions and practices regarding sustainability. A post-test survey was administered during the last week of classes to assess the impact of the sustainability components of the course on their own knowledge and sustainable practices. For all semesters, the survey was administered through Survey Monkey and all data analysis was performed using SPSS. All research protocols were approved through the Penn State Office of Research Protections (IRB).
Table 1. Descriptive Statistics Year 1 (N=19)
Statement |
Mean |
SD |
This course helped me learn about sustainability. |
1.95 |
0.62 |
Assignments and activities for this course enhanced my understanding of sustainability. |
2.16 |
0.96 |
Because of this course, I have a greater appreciation of the role sustainability plays in society. |
2.00 |
0.75 |
Because of this course, I have a greater understanding of the basic ideas and concepts behind sustainability. |
2.11 |
0.74 |
The guest speakers on sustainability added enhanced my learning experience. |
2.47 |
0.91 |
-
V. Results
Participation rates for the surveys varied, as participation was voluntary. For Year 1, 19 students completed the post-test survey (55.9% of a possible N=34) in three course sections. Participants were primarily male (84.2%, N=19), White/Caucasian (78.9%) and between 18-30 years of age (94.7%). Greater diversity was seen among the class composition: 47.4% (N=19) identified as freshman, 36.8% as sophomores, 10.5% juniors and 5.3% seniors.
For Year 2 – the first year of the pre-test/post-test method - seven students completed the pre-test survey (38.9% of a possible N=18) and eight students completed the post-test survey (44.4%) in two course sections. Respondents to the pre-test and post-test surveys were primarily male (78.6%, N=14), White/Caucasian (64.3%) and all were between 18-30 years of age (N=14). In terms of class composition, 28.6% (N=14) identified as freshman, 57.1% as sophomores, and 14.3% as juniors.
-
A. Perceptions of Impact in Year 1
During the final week of each course section, students were given five statements and asked to respond to them using a five-level Likert scale (1=Strongly Agree, 2=Agree, 3=Neutral, 4=Disagree, 5=Strongly Disagree). The purpose of these statements was to assess student perceptions impact of the course and projects on their understanding and appreciation of sustainability. See Table 1.
Students agreed/strongly agreed with the statement This course helped me learn about sustainability (84.2%, N=19) and with the statement Assignments and activities for this course enhanced my understanding of sustainability (78.9%, N=19). Students also agreed/strongly agreed with the statement Because of this course, I have a greater appreciation of the role sustainability plays in society (84.2%, N=19) and
Because of this course, I have a greater understanding of the basic ideas and concepts behind sustainability (78.9%, N=19).
-
B. Perceptions of Impact in Year 2 : Pre-Test Results
In Year 2 students were asked to complete a pre-test survey at the beginning of the course in addition to a post-test survey. The limited number of responses meant that statistically significant comparisons between pre- and post-test data were not possible. See Table 2.
The pre-test survey results suggest students were confident in their pre-existing sustainability knowledge and practices. All participating students agreed/strongly agreed with the statement I understand the meaning of the term sustainability (N=7). Students were then asked to rank their level of understanding about sustainability using a four-level scale (1=None, 2=Low, 3=Medium, and 4=High). Most students answered they had a Medium understanding of sustainability (71.4%, N=7) while one student answered None and one High .
Students were slightly less confident when asked about personal actions. While most students agreed/strongly agreed with the statement Through my choices and daily activities, I can make a personal impact on the environment (85.7%, N=7), one student gave a neutral response. A similar pattern was found with responses to the statement I practice sustainability in my daily activities and choices (N=7). When asked In terms of frequency, I practice sustainability in my daily activities and choices... , all students responded with the choice 1, 2, or 3 times a day (N=7).
-
C. Perceptions of Impact in Year 2 : Post-Test Results
The post-test survey results offered more diversity from the pre-test results. All participating students once again agreed/strongly agreed with the statement I understand the meaning of the term sustainability (N=7). Students were slightly less confident than the pre-test results when asked about personal actions. Three students agreed/strongly agreed with the statement Through my choices and daily activities, I can make a personal impact on the environment (42.9%, N=7) while two students (28.6%) were neutral, and two others either disagreed or strongly disagreed (28.6%). Four students agreed with the statement I practice sustainability in my daily activities and choices (57.1%, N=7) while one student was neutral (14.3%) and two others strongly disagreed with the statement (28.6%). When asked In terms of frequency, I practice sustainability in my daily activities and choices... , four students responded with the choice 1, 2, or 3 times a day (57.1%, N=7), two students responded with the choice 4 or more times a day (28.6%), and one responded that they did not practice sustainability (14.3%).
Most of the participating students agreed/strongly agreed with the statement Because of this course, I have a greater understanding of the basic ideas and concepts behind sustainability (85.7%, N=7) while one student responded as neutral. A similar pattern was borne out with the statement Assignments and activities for this course enhanced my understanding of sustainability (N=7): 85.7% of participating students agreed while one student responded as neutral. Six (85.7%, N=7) participating students also agreed with the statement Because of this course, I have a greater appreciation of the role sustainability plays in society though one student disagreed. When asked to rank their level of understanding about sustainability, students were almost equally split between a Medium understanding of sustainability (42.9%, N=7) and a High understanding of sustainability (57.1%).
Table 2. Descriptive Statistics Year 2 (N=7)
Statement |
Pre-Test |
Post-Test |
||
Mean |
SD |
Mean |
SD |
|
I understand the meaning of the term sustainability. |
1.43 |
0.53 |
1.43 |
0.53 |
I would rank my level of understanding about sustainability as... |
2.86 |
0.90 |
3.57 |
0.53 |
Through my choices and daily activities, I can make a personal impact on the environment. |
1.71 |
0.76 |
2.86 |
1.35 |
I practice sustainability in my daily activities and choices. |
2.00 |
0.58 |
3.00 |
1.41 |
In terms of frequency, I practice sustainability in my daily activities and choices... |
2.00 |
0.00 |
2.14 |
0.69 |
Assignments and activities for this course enhanced my understanding of sustainability. |
- |
- |
1.86 |
0.69 |
Because of this course, I have a greater appreciation of the role sustainability plays in society. |
- |
- |
2.14 |
0.90 |
Because of this course, I have a greater understanding of the basic ideas and concepts behind sustainability. |
- |
- |
1.57 |
0.79 |
-
VI. Discussion
The results presented here are encouraging but must be tempered with consideration of the limited number and relative homogeneity of the participants. In the first year (2015-2016), a majority of participating students reported that the course and its assignments helped them have a greater understanding and appreciation for sustainability. However, it was unclear whether students entered the courses with an understanding and/or appreciation of sustainability. Consequently, the addition of a pre-test survey in the second year was intended to identify
students’ pre-existing perceptions about their sustainability knowledge and practices.
Pre-test survey results suggest that students in the second year (2016-2017) entered the course sections very confident in their sustainability knowledge, practices, and ability to make a personal environmental impact. However, the post-test results suggest a lessening of this confidence over the course of the semester. It is possible that the material presented via the sustainability-themed assignments made students more aware of sustainability and, thus, forced some reassessment of their own perceptions and practices, but data to support that contention is not available. On the positive side, post-test survey results indicated that participants felt the course and its assignments helped them have a greater understanding and appreciation for sustainability. However, the mean results (Table 2) are lesser than in Year 1, for three statements shared between the surveys.
-
A. Suggestions for Interested Faculty
This pedagogical approach is a basic method for infusing sustainability concepts into introductory CS courses, but the approach does come with some caveats. A non-trivial amount of work was involved in researching and creating the projects; this situation was exacerbated by a lack of potential collaborator(s) within the host institution. Collaboration with other faculty, especially Science faculty, is recommended for those CS educators who may want to try a similar approach.
Despite the author’s best efforts, additional guest speakers (beyond those previously mentioned) could not be secured in either year. For faculty and campuses who lack the expertise to provide guest speakers, the abundance of publicly available videos and tutorials on sustainability-related topics may be an acceptable alternative. In this case, it will be important for the course instructor(s) to educate themselves regarding the sustainability concepts relevant to the course and projects, even if only in a limited manner.
-
B. Limitations and Future Directions
Limited enrollment in these courses means that statistically significant results are not possible, including correlational or pre/post comparisons. Longer-term data collection will be necessary to garner sufficient numbers of enrollees to permit more detailed statistical analysis, as enrollment in these courses has been consistent over the past several years. External validity is limited, given the scope of data collection (one campus and university) and the variety of factors that may impact students’ preexisting knowledge of sustainability. Finally, the data presented here is limited in the sense that it is selfreported perceptions rather than objective data.
The author is continuing to develop a more robust and diverse set of sustainability-themed projects for these courses. Future work includes revising projects to create a closer tie between the background information provided and the programming problems. Future data collection will include more qualitative and formative instruments in order to better assess the impact of the sustainability projects on students’ awareness of sustainability and their day-to-day practices.
An assessment of the long-term impact of these projects on major enrollment patterns (including student diversity) is also underway. The relative homogeneity of the participants in the preliminary study – by age (18-30 years old), gender (male), and race/ethnicity (White/Caucasian) – begs the question, how do we as CS/IS educators attract a more diverse set of students to the introductory course? While the approach described in this paper offers a potential means for enticing students into computing majors, it requires students to have already enrolled in the introductory course . In the future, efforts will be undertaken to strategically advertise the thematic approach, both through first-year student advising and through specific “sales pitches” in first-year seminar courses. The goal of these efforts is to attract a more diverse set of students into the introductory courses as well as the CS and IS majors.
-
VII. Conclusion
The unique approach discussed in this paper integrates sustainability education into introductory CS and IS courses. By using programming projects themed around sustainability concepts, students have the ability to acquire knowledge and understanding of such concepts while still achieving traditional CS/IS learning outcomes. This lightweight, non-intrusive means of injecting sustainability into CS/IS courses also offers the potential to act as an attractant for new CS/IS majors. Integrating a socially relevant context provides students with engaging, tangible applications of foundational programming concepts (e.g. conditional selection, one-dimensional arrays) while introducing students to general sustainability concepts and problems.
The study discussed in this paper acts as a preliminary assessment of this novel approach. The initial feedback received from students has been generally positive, noting the perceived impact of the projects on their understanding of sustainability. More work is necessary, however, to integrate these concepts more fully into these courses, to overcome the limitations of the implementation context, and to more accurately assess the impact of these efforts on students’ personal integration of sustainability practices.
Acknowledgments
The author wishes to thank Tricia K. Clark, Penn State Berks, and Julie M. Meyer, Penn State Schuylkill, for their contributions to this project and to this paper. The author also wishes to thank previous reviewers of this paper for their comments and suggestions.
Список литературы A sustainability theme for introductory programming courses
- Brundtland, G. Report of the World Commission on environment and development: our common future. 1987, United Nations.
- Penn State University. 2017. What is Sustainability? http://sustainability.psu.edu/.
- United States Environmental Protection Agency. [n.d.]. Sustainability. https://www.epa.gov/sustainability.
- ABET. 2015. Criteria for Accrediting Engineering Programs. http://www.abet.org/wp-content/uploads/2015/10/E001-16-17-EAC-Criteria-10-20-15.pdf.
- ABET. 2015. Criteria for Accrediting Computing Programs. http://www.abet.org/wp-content/uploads/2016/09/C001-16-17-CAC-Criteria-10-15-15.pdf.
- Abernethy, K. and Treu, K. "Integrating sustainability across the computer science curriculum." Journal of Computing Sciences in Colleges 30, no. 2 (2014): 220-228.
- Felgendreher, S., and Löfgren, Å. "Higher education for sustainability: can education affect moral perceptions?." Environmental Education Research 24, no. 4 (2018): 479-491.
- Cai, Y. “Integrating sustainability into undergraduate computing education.” In Proceedings of the 41st ACM technical symposium on Computer Science Education pp. 524-528, ACM, 2010.
- Erkan, A., Pfaff, T., Hamilton, J., and Rogers, M. "Sustainability themed problem solving in data structures and algorithms." In Proceedings of the 43rd ACM technical symposium on Computer Science Education, pp. 9-14. ACM, 2012.
- Hamilton, M. "Learning and Teaching Computing Sustainability." In Proceedings of the 2015 ACM Conference on Innovation and Technology in Computer Science Education, pp. 338-338. ACM, 2015.
- Penzenstadler, B., and Bauer, V. "Jumpstart sustainability in seminars: hands-on experiences in class." In Proceedings of Second Computer Science Education Research Conference, pp. 37-44. ACM, 2012.
- Mann, S., Muller, L., Davis, J., Roda, C., and Young, A. "Computing and sustainability: evaluating resources for educators." ACM SIGCSE Bulletin 41, no. 4 (2010): 144-155.
- Roberts, E., Camp, T., Culler, D., Isbell, C., and Tims, J. “Rising CS Enrollments: Meeting the Challenges.” In Proceedings of the 49th ACM Technical Symposium on Computer Science Education pp. 539-540. ACM, 2011.
- Guzdial, M. "A media computation course for non-majors." ACM SIGCSE Bulletin 35, no. 3 (2003): 104-108.
- Rebelsky, S., Davis, J., and Weinman, J. "Building knowledge and confidence with mediascripting: a successful interdisciplinary approach to CS1." In Proceeding of the 44th ACM technical symposium on Computer Science Education, pp. 483-488. ACM, 2013.
- Lorenzen, T., and Sattar, A. "Objects first using Alice to introduce object constructs in CS1." ACM SIGCSE Bulletin 40, no. 2 (2008): 62-64.
- Greenberg, I., Kumar, D., and Xu, D. "Creative coding and visual portfolios for CS1." In Proceedings of the 43rd ACM technical symposium on Computer Science Education, pp. 247-252. ACM, 2012.
- Lim, D. "Lights... camera... computer science: using films to introduce computer science to non-majors." Journal of Computing Sciences in Colleges 23, no. 5 (2008): 58-64.
- Baird, B. "Web design: interface to the liberal arts." Journal of Computing Sciences in Colleges 21, no. 6 (2006): 14-19.
- Summet, J., Kumar, D., O'Hara, K., Walker, D., Ni, L., Blank, D., and Balch, T. "Personalizing CS1 with robots." ACM SIGCSE Bulletin 41, no. 1 (2009): 433-437.
- Hamid, N. "Real live data for CS courses." Journal of Computing Sciences in Colleges 33, no. 6 (2018): 165-167.
- Bart, A., Subramanian, K., Anderson, R., and Hamid, N. "Preparing, Visualizing, and Using Real-world Data in Introductory Courses." In Proceedings of the 49th ACM Technical Symposium on Computer Science Education, pp. 676-677. ACM, 2018.
- Margolis, J., and Fisher, A. Unlocking the clubhouse: Women in computing. MIT press, 2003.
- Goldweber, M., Barr, J., Clear, T., Davoli, R., Mann, S., Patitsas, E., and Portnoff, S. "A framework for enhancing the social good in computing education: a values approach." ACM Inroads 4, no. 1 (2013): 58-79.
- Rader, C., Hakkarinen, D., Moskal, B., and Hellman, K. "Exploring the appeal of socially relevant computing: are students interested in socially relevant problems?" In Proceedings of the 42nd ACM technical symposium on Computer Science Education, pp. 423-428. ACM, 2011.
- Cliburn, D.C. and Miller, S. "Games, stories, or something more traditional: the types of assignments college students prefer." ACM SIGCSE Bulletin 40, no. 1 (2008): 138-142.