Mathematics and Computer Literacy for the Public

From CS378H Public Policy and the Digitally Native Technologist
Jump to: navigation, search

Current Resources and Standard

Elementary-aged children

There are currently several initiatives targeted at increasing programming familiarity among students of elementary school age. Simple programming languages aimed at teaching computer science concepts through graphic buttons have been around for years. Scratch, a visual programming language project developed by MIT, has been used in introductory computer science classes to teach children the basics of programming. Aimed towards students aged 8 to 16, Scratch is just one example of how to introduce younger students to the concepts of variables, control flow, conditional statements, and more through easy drag-and-drop buttons.[1] More recently, MIT Media Labs released ScratchJr, a free iPad app directed towards children aged 5-8 that features a very simple version of the original Scratch interface, designing features to match a younger child’s cognitive and social development.[2]

Researchers at MIT are not the only ones that are trying to develop simpler programming languages fully-featured enough to design interactive stories and games. Google has its own version of a visual programming language, Blockly, which works similarly to Scratch, as part of its “Google Apps for Education” program. Google aims to provide innovative tools to aid teachers in computer science outreach with this program[3]. Microsoft Research developed a similar product for creating games in a visual environment called Kodu.[4]

Furthermore, education-technology startups are also a burgeoning field, and many of them are currently focused on creating computer and mobile applications that teach the basics of programming knowledge to young children through simple games. One example, Kodable, is designed for children between 5 and 7 and has them lead cute balls of fuzz around different game levels, using simple directional buttons. Each subsequent level adds more computer science concepts, such as functions and conditional statements. Other apps, such as The Foos, Lightbot, and Daisy the Dinosaur all have similar simple games that teach their young players about pattern recognition and logical sequences.[5] The motivation behind these startups is to make computer science fun and more intuitive to children who may not even actually know of “computer science” as a concept.

High School CS Education

AP Computer Science is the current standard high school course for college credit in Computer Science. It focuses mainly on object-oriented programming in Java. The coursework has undergone many revisions. Originally, AP Computer Science consisted of two courses, AP Computer Science A and AP Computer Science AB, which counted for one and two semesters of college credit respectively. However, CollegeBoard, the organization which owns the AP brand, discontinued the AP Computer Science AB course in 2009, pointing to low student demand for the exam and underrepresentation of minority students among test takers. In an attempt to reach these ethnic minority students, the College Board recently introduced AP Computer Science Principles. The course utilizes a wider variety of tools to encourage creative processes in problem solving while still offering a rigorous introduction to computer science. One hundred universities have endorsed the course and indicated that they will be offering credit for the class.

The AP Computer Science A course material has changed rapidly over the years. The course originally used a Marine Biology case study to test students’ knowledge of object-oriented programming concepts such as inheritance. The course then switched to GridWorld, which required students to be familiar with the GridWorld environment beforehand. More recently, the College Board replaced the case study questions with general questions about the concepts taught by the case study. Additionally, fifteen minutes of the time given for the free-response questions has been moved to the multiple choice question section.

High school computer science offerings are not widespread or extensive. Although Advanced Placement Computer Science A is the fastest growing AP subject by enrollment and the largest national standardized course and assessment, it is dwarfed by all other science and humanities AP courses. AP Computer Science AB had around 5,000 test-takers per year before its discontinuation[6]. The International Baccalaureate program, which also offers examinations in computer science for college credit, are only taken by a couple thousand of students annually.

College Board statistics reveal lack of access and diversity challenges faced by CS education. Starting in 1997, 80% of exam takers were consistently male. In 2013, many states reported that no students of color or females took the exam. Very few states require a specific Computer Science certification to teach Computer Science. The majority of states accept certificates from other fields, such as math, science, or even business while some states require no certification at all[7]. Of the 40,000 high schools in the United States, only 2100 are certified to teach AP computer science.

Twenty-eight states allow high school computer science courses to fulfill math or science requirements. Almost no states require a CS course for graduation.

International CS Education

In efforts to modernize the school system, countries outside the United States developed computer science curricula for primary and secondary education systems. The intended age range and length of curricula vary by country or by state.

Great Britain

As of 2014, Great Britain counts computer science among its mandatory subjects for primary and secondary education, acting on concerns that the demand for CS jobs outstrips the growth in number of qualified candidates.

The British curriculum is divided into four stages grouped by the age of the student[8]:

Key Stage 1 (5-6 year-olds) teaches the concept of an algorithm being “a set of instructions,” sometimes abstracting away the idea to non-code examples such as recipe books. At this stage, they will develop simple debugging skills and logical reasoning.

Key Stage 2 (7-11 year-olds) teaches students to develop programs with specific goals. It also introduces the concept of variables and “sequence, selection, and repetition” in programs. This stage bundles up computer literacy (using websites and internet services) and using devices for data collection and analysis.

Key Stage 3 (11-14 year olds) teaches students programming, as well as Boolean logic, the hardware anatomy of a computer, and understand how files are stored in binary. As proposed, schools will be able to choose their choice of programming tools and languages. By the end of Key Stage 3, students will know two programming languages.

Key Stage 4 takes place during the remainder of secondary school and expands on bigger problem-solving techniques and adds in discussion of societal impacts and personal security and safety topics.

Germany

In Germany, individual states set their individual curricula. Some German states like the Free State of Saxony are beginning to adopt computer science courses to their education system. However, pedagogists debate what theoretical and technical aspects of computer science should be in curriculum[9].

Implementation of computer science courses have been slow at the national and regional level. Due to the the lack of infrastructure, in less-prepared classrooms, Germany’s computer science teachers leaves students to their own devices with digital courses to supplement their education.

Israel

Israel began requiring computer science education in 1998. Israel’s curriculum targets high schoolers from the 10th to 12th grade. There are two tracks: one for students with general interest and one for students with deeper interest.[10]

Fundamentals 1 & 2 are two course units that introduce the ideas of algorithms and algorithmic problem solving, as well as how to program. Software Design covers data structures. The module also discusses how to design complete systems. Second Paradigm introduces other programming paradigms. As of 2008, logic programming, functional programming, and system-level programming are all available courses. Applications focuses on specific areas of study within computer science. Computer graphics, information systems, and programming for the web are all options within this module. Theory, which exposes students to theoretical CS. The three-course general track requires Fundamentals 1 & 2 and gives students a pick between the Second Paradigm and Applications modules to draw their final course from. The five-course track contains the same requirements as the general track and adds two requirements: a course from Software Design and a course from Theory.

Israel’s computer science program is a result of nearly two decades of experience, and boasts a robust teacher training program. Israel attributes its Tel Aviv tech boom to its curriculum.

Government and Industry

Public Sector

There are numerous motivations for federal, state, and local public sector action on computer science education. At the national level, lawmakers wish to increase national education rankings, particularly in STEM fields. At the state level, the incentives are economic: “the tech sector is set to grow faster than all but five industries by 2020”[11]. States that can attract tech companies can potentially see a GDP boost along with an increase in well-paying jobs. At the local level, school districts must maintain metrics of STEM performance. CS is the only STEM field that has seen a decrease in student participation[11]. These concerns are matched by those of law enforcement at federal, state, and local levels. Law enforcement agencies in the modern era increasingly need technical and high-tech crime units. Federal law enforcement agencies are unable to keep up with increasing caseloads, while local agencies are often not well-funded or well-staffed enough to handle high-tech crime[12]. Furthermore, a technically aware public is easier to protect. These needs and incentives have begun to move policy makers and officials to improve CS education across the country.

In his 2016 State of the Union, President Obama launched the first major federal initiative focused specifically on computer science education, Computer Science for All. The initiative allocates $4 billion for state level initiatives and $100 million for school district programs. The goal of the program is to provide a basic level of literacy in computer science through a basic understanding of programming and the reasoning behind algorithms and data structures.

Through the Computer Science for All initiative, the NSF program CS10K has gained traction and resources of $135 million. CS10K aims to provide 10,000 well trained computer science teachers for 10,000 high schools in the United States. The CS10K program also collects and develops materials for computer science educators at the k-12 level, ranging from curriculums to seminars.

At this point, most federal programs are developing frameworks and standards for computer science education. They’re attempting to both raise awareness of computer science as a field and find evidence grounded methods for teaching and training.

While the federal government has not previously launched large scale initiatives or programs for computers science education, current programs must be evaluated in context of the No Child Left Behind act. Everyone from parents to educators has an opinion on the efficacy and quality of the NCLB, and many firmly oppose everything implemented by the act. The NCLB implemented strict standardized testing regimes to ensure the education of individual groups of students and created sanctions for schools that failed to achieve a certain level of achievement in literacy, mathematics, and other subjects[13]. Most likely because of the opposition to NCLB and its controversy generally, the current policy eschews proposing any specific federal requirements for states or school districts, but instead seeks to partner with those entities to develop programs. Any future policy proposals need to consider the reality of the legacy of NCLB, and how it colors the perception of students, parents, educators, and politicians with regards to education reform.

Private sector

The private sector also has significant incentives to improve CS education. Technology vendors hire computer science students, so developing a pool of strong candidates has an effect on the quality of their products. A recent cap on H1-B workers’ visas has created a shortage of labor for these companies. Furthermore, policymakers have recently turned their attention to technology. In the recent encryption debate, much confusion has been caused by a general lack of technical knowledge on the part of the public and lawmakers. Companies like Apple have had to make significant efforts to try to raise awareness of the need for encryption, gaining significant media attention in their recent battle with the FBI. Improved general computer knowledge would greatly aid in policy decisions and PR needs related to these companies. In light of these incentives, the private sector has been a leader in bolstering computer science education.

Tech companies have also worked to improve computer literacy and exposure through donations to school districts and project initiatives. Google donated 27,000 Chromebooks to school districts in Iowa, Illinois, and South Carolina. Other companies have donated $750 million in iPads and wireless service to schools in response to President Obama’s ConnectEd plan to bring better Internet speeds and devices to U.S. schools.[14] Outside of classrooms, Google launched Project Link[15] and Project Loon[16], which strives to provide fast and reliable access to the Internet in places that have limited or no access. Facebook, Ericsson, MediaTek, Nokia, Opera, Qualcomm, and Samsung founded Internet.org[17] with goals of making internet access affordable and helping businesses create services that will drive Internet access.

Recently, a variety of efforts have come about to improve access to STEM material, for anyone to be able to learn. Organizations such as TechPrep[18] and Khan Academy[19] are hoping to do so. Khan Academy is an educational website that, as its tagline puts it, aims to let anyone “learn almost anything—for free.” There is a collection of videos about a wide array of topics that allow students to learn material at their own pace. This is a distinct from how classrooms operate today. Introducing students to self-paced learning takes away the “one size fits all” mentality that is currently embraced in classrooms. Students are going to be strong in certain areas and weak in others, and attempting to address a group of students with one approach is bound to have limited success. So far, Khan Academy has shown to be a very effective [20] supplementary education site. Recently they released SAT prep material on their site, making the test a more even playing ground. TechPrep has a similar effect, but grants kids the opportunity to learn how to code. Tech Prep connects people to various resources, including books, in-person events, and community events to guide students into computer science and programming. In addition into being a supplementary site for students, these websites also benefit non-students. People who cannot take classes because of family, illness, full-time work, or other circumstances can now learn at their own pace. More people will be able to gain skills necessary to be professionals in STEM fields. However, when many of these systems are adopted into the classrooms, there is no instructional material for the teachers. This leaves the teachers out in the cold, with no training to assist the students, and in most cases, with little skills on their own to show the students how the skills they are learning in these games can be applied to real programming. This lack of training leaves our most valuable resources untapped.

Current very-young computer science programs are one of the few aspects of our education system that is almost exclusively industry driven. No state government has given Computer Science room on pre-K curriculum, leaving a gap that has been swiftly filled by a hodge podge of app-builders, nonprofits, and other do-gooders claiming to have an effective and persuasive way to teach little Johnny how to code before he knows how to use the john. Groups such as Scratchjr, Code.org, and Hour of Code all have systems that cater to Kindergarten aged students, introducing them to the fundamentals of coding through highly structured tutorials. Kodable has introduced one of these game-like systems that requires no reading on the part of the programmer, and in pre-schools, kids can play with blocks that spell out a “story” that a robot will act out at the press of a button. Parents looking to get started younger can turn to the market of baby educational products, including “Boolean Logic for Babies” and “Web Design for Babies 2.0: Geeked Out Lift-the-Flap Edition.” The industry prevalence in this educational field is far reaching, and the lack of tangible government guidance does not help to clear up the matter.

Societal and Economic Impact

Minorities in Computer Science

As the tech revolution has engulfed the U.S., it’s largely left behind minorities. At the high school level, only 17% of students who take the AP Computer Science A exam are not white or asian—the worst percentage out of any AP exam. Furthermore, only 22% of examinees are female.[21] This lack of educational diversity extends to a lack of workplace diversity; while female, black, and Hispanic workers make up 47%, 11%, and 15% of the U.S. workforce, respectively, in CS those numbers drop to 27%, 7%, and 6%.[22] Meanwhile, the tech industry’s culture excludes other minorities—such as older workers, for whom Mark Zuckerberg’s contention that “young people are just smarter” encapsulates the industry’s disdain for them.[23] Successful diversity requires that the people who control society—increasingly, those who control technology—bring people together from a variety of backgrounds to solve society’s myriad problems. As our society begins to recognize the value of diversity, we can’t afford to let computer science—the field that will drive the Information Age more and more with each passing year—suffer from a lack of diverse representation.

Access to Computers and the Internet

One major factor that may be affecting the prevalence of underrepresented minorities in computer science is a lack of computers and the internet in the households in which these individuals grow up. The most fundamental requirement to attaining literacy and mastery of computers is simple access to computers and the Internet, which provides virtually unlimited resources for learning. According to data from the US Census Bureau, 83.8% of US households have a computer while only 74.4% have some access to the Internet, leaving about 20% of Americans without any basis on which to improve their computer literacy. This figure is much higher among racial minorities, the socioeconomically challenged, and older Americans.[24]

This data points toward systemic issues affecting access to computers. As mentioned before, the socioeconomically challenged, and especially those of racial minorities, have disproportionately low rates of internet and computer access compared to other Americans. This indicates that many are simply unable to afford computers or internet access, an issue which can't easily be addressed. Some have proposed government subsidies for low-income families to purchase internet access, while others have called on American ISPs to lower prices. There are obstacles to the adoption of these solutions, which stem mainly from the question of where the money to support these initiatives will come from.

Another population that has disproportionately low access to computers and the internet is the elderly. While many Americans over 65 have the option of purchasing internet access and computers, many choose not to do so because they are unaware of the benefits of owning them. According to the Pew Research Center, most Americans without internet access admit that they miss out on opportunities due to their lack of connectivity; meanwhile, older Americans overwhelmingly state that they are content without internet access. This indicates that there is a disconnect among the elderly which creates a negative feedback loop for these individuals: they are not computer literate and thus do not recognize the benefits of being computer literate, which leads to them ignoring these technologies and denying themselves the resources that would allow them to become computer literate in the first place.[25]

Attempting to fix these problems is not a simple task. Many local governments have attempted initiatives such as providing free internet and computer access at public libraries,[26] and governments up to the federal level have funded some computer literacy classes for older Americans. While these actions have seen some limited success, fully addressing the issue of poor computer and internet access among under served demographics requires not only a significant fiscal investment, but a change in culture among older Americans as well as a way to close the systemic wealth gap between racial minorities and white Americans.

Students don’t see all that CS has to offer

Instead of advanced courses in computer science, students often aren’t offered curricula beyond a basic typing or applications class[27]—and this disparity is worse in schools with lower funding. That means students don’t see the full potential of the CS field, so they’re less inclined to join what can often feel like an exclusive subculture. Programs like Wisconsin Emerging Scholars-Computer Sciences[28] are helping to resolve this. The program specifically targets gender and racial minorities, offering specific outreach opportunities and orchestrating company visits that let people see what CS is really like. Initiatives like this one are helping tear down the perceptual wall between CS and minority students, helping them gain confidence in their own CS skills and, thus, be better prepared to enter the field in the future.

Lack of Resources

CS curricula in schools are struggling. Only about a fourth of schools in the U.S. offer coding-based computer science classes.[29] What’s worse, these disparities are a result of inequitable funding—so as money goes to rich, white schools, places housing minorities fall by the wayside. These obstacles disadvantage students of color, making them less likely to be exposed to CS. The solution is to fund schools to provide CS education; in fact, President Obama’s recently-announced program of $4 billion in CS education funding does just that. By providing financial support to CS programs nationwide, in every community, we can help ensure that every child has access to quality CS education—weakening the structural disparities that have held them back.

Some older individuals, for various reasons, look for a career change. Computer Science could be overlooked because it seems like a difficult field to learn quickly. However, the unique thing about Computer Science is that the skills that are marketable can be acquired in a matter of months.[30] If a “crash course” program could be developed specifically for adults that are trying to develop marketable skills in coding, this could engage so much more people. Provided that the company has adequate training, the transition could be even smoother—so adults that know little of programming, but show potential in adaptive learning, could do very well. State Farm, for example, hired a middle aged woman that had gotten laid off in another field and taught her everything she needed to know to perform as a web developer.

After-school CS programs are crucial. Beyond formal education, minority students also lack access to the sorts of networking opportunities that can enhance a more privileged student’s drive to enter CS. For instance, white and Asian students are more likely to have a robotics club at their school, and fewer black and Hispanic students know working CS professionals.[31] We can resolve this disparity through broad programs that hope to specifically reach out to minorities. For instance, Code.org’s curriculum includes lectures from CS professionals of color, letting students relate to those narratives.[21] It’s this sort of tailored outreach that will bring more students of color into CS.

Support and Confidence

Computer Science involves a high amount of problem solving skills. This attribute can attract a wide range of minorities from the start—but once tasks become harder, they quickly become afraid of failure[32] and retreat back to something else. A solution is to hold workshops instead of broad informational talks that take a group of people through something seemingly complex. The pride of being able to complete a program and gain recognition would give the boost in confidence that so many need in order to continue a computer science education.

Lean In[33] is a movement started to help provide support in the workplace. It operates by having a group of 8-12 people meet together as a “circle” to discuss short and long term goals for their career. Having this resource in more Computer Science and STEM fields could help people not feel so intimidated or overwhelmed. Sheryl Sandberg, the chief operating officer of Facebook, has written a book[34] and given talks[35] about how the benefits include having a better connection with peers and more confidence in oneself.

Young kids should definitely be a target for outreach. However, targeting professional women could prove equally beneficial because they can be role models for the younger generation. It has been proven[36] that young children emulate their parents, teachers, and other adults that they interact with frequently. The mindset of equally targeting both generations can solidify interest much more deeply than just one talk to a group of elementary girls ever could.

Why?

If initiatives are taken to increase the proportion of underrepresented groups in Computer Science, or if more programming courses are offered or required in school, what will the effects actually be? Are these initiatives even worth it for the students or the economy?

Many of the groups pushing for a more extensive CS curriculum are those with direct ties to the technology sector, including Google,[37] Facebook,[38] and Microsoft.[39] Having more students graduate with experience in Computer Science and programming is directly beneficial for these companies, and provides them with a larger pool of potential employees, and helps drive wages down. There are statistics that show that the number of computing jobs will grow rapidly over the next 8 years, but this might not be a sufficient reason for increasing CS education. These large companies also frequently lobby for increasing the limit of the H1-B visa, typically used to hire cheaper foreign workers to replace American jobs. They were famously used by Disney to replace their entire 250-man IT department.[40] It raises the question of whether or not we should teach kids to the job we think they might have or should have, especially when the groups lobbying for those classes would benefit financially.

Furthermore, there is dispute over whether CS classes would be more beneficial than other subjects, such as art, literature, or discrete math. Grechen Huebner, the co-founder of Kodable, a startup that aims to teach young kids CS, claims that "As soon as you can start learning [coding] you should, because the earlier you start learning something, the better you'll be at it later in life."[41] Teaching “coding” in a certain programming language or for a certain machine is not widely applicable, so the argument in its favor is that it teaches problem-solving skills. But if the true purpose of CS classes are to teach problem-solving and logical thinking, perhaps discrete math courses should be taught in place of programming courses. Additionally, it can be argued that current math, science, and literature courses already teach problem-solving and analysis, making the argument for programming courses questionable.

The age at which computer classes are taught is also an important debate. As seen above, there are claims that earlier is inherently better when it comes to teaching students coding. However, there are some studies that indicate negative effects of “screen time” on children. A psychology study by UCLA[42] found that sixth graders who went a week without using smartphones or computers were “substantially better” at identifying emotions than those who did not abstain from technology.

Social Consciousness

Efforts to educate people about computer science will render them better informed about technological policy. A heightened understanding of social issues may result in greater public influence in computer related policy and ultimately make people harder to control.[43] If we are willing to accept the risks of a better informed public, CS education must include a comprehensive regimen of indoctrination, and people must be made to understand that, their perceptions of contemporary issues notwithstanding, deference to authority is paramount.[44]

Increasing wealth and income inequality[45] and stagnant wages for most people has prompted a popular political revolt against the establishment, manifest in the candidacies of Bernie Sanders and Donald Trump. Computer science education can help to address some of the symptoms of inequality and “make America great again,” without requiring any major structural changes. Computer programmers command far higher salaries than most other jobs with comparably little education.[46] If more of the labor force is trained to become programmers before attending university, a larger segment of the population will move out of poverty without any meaningful economic or policy changes. This is especially significant to impoverished individuals who do not currently have access to educational programs that allow them a way out of the poverty cycle.

However, education generally can also stimulate a greater sense of social consciousness.[47] American education has traditionally been about widespread indoctrination and pacification of the public.[48] It is important therefore that this social consciousness be directed toward the established mainstream and not anti-authoritarian alternative political philosophy common among programmers.[49] The curriculum must be designed at once to focus on a high quality technical education while suppressing dissent and focusing attention into the acceptable domain of public discourse. Again, this is especially unique to the impoverished. These people have more reason to become frustrated with greater awareness of the system around them because they are in many cases a victim of an education system insufficient for their needs.

Solutions

Despite the growing importance of the field, computer science is taught only in a small minority of schools in the United States. According to CollegeBoard, only 4,310 schools offered an AP computer science course out of the 42,000 high schools in the country. Meanwhile, in the same year, there were over 600,000 unfilled high paying jobs in the tech industry. Over the course of the next several years, this need is expected only to grow, as 51% of all STEM jobs are expected to be in CS fields by the year 2018. Students that take an AP CS class in high school are 8 times more likely to major in computer science according to another study by College Board. The most direct solution is to tackle the root of the issue - the lack of available instructors for Computer Science. As an illustration to the problem, though the Arkansas House voted unanimously to require schools to offer a computer science course, but found that the state has only 6 qualified instructors to teach such classes. Parents recognize the need for more high school level courses in CS; over 90% of surveyed parents say they would like CS to be offered at their child’s school. There is a clear and present demand for additional CS classes and thus additional qualified teachers.

Current reform efforts

States allow districts and cities some amount of control over curricula and graduation requirements, which has allowed some locales to move forward with aggressive reform efforts. Generally, states classify computer science as a career technical education (CTE) subject. In these states, CS courses cannot fulfill math or science graduation requirements. The classification also makes it more difficult to target teacher certification or professional development efforts because existing math and science teachers may not be permitted to teach CTE subjects [50].

Notable reform efforts include New York City’s ten year program to require its public schools to offer CS classes. The program is ambitious, as the state doesn’t have a CS teacher certification, but will nonetheless create the need for at least 1000 qualified teachers [51]. The city estimates that 1 percent of its students receive computer science education. Similar efforts have appeared in other large cities. In San Francisco, CS education was approved for integration at every grade level, beginning in preschool with toys that emphasize computing concepts [52]. In Chicago, CS courses will become a graduation requirement. These efforts have drawn concern about equal access, as parents worry that some schools may not have the funding to meet the requirement. Cities have tapped education budgets and solicited sponsorships from large technology companies to implement their programs.

Florida approved legislation that will allow programming courses fulfill foreign language requirements beginning in the 18-19 school year. The effort was criticized by Spanish advocacy groups as downplaying the importance of traditional language and culture classes . Others worry that students may not be able to apply to universities that don’t recognize the courses as fulfilling basic education requirements [53]. Similar legislation has been proposed in New Mexico, and a similar effort in Kentucky was dismantled.

Increase Teacher Recruitment

One way to meet the demand for qualified teachers is to hire developers who have the required skillsets. However, most states require that teachers be licensed, which requires additional training and typically an education degree. Simply hiring programmers to teach instead of code would not work since they would only have half the required qualifications. We need to create programs to funnel CS students into teaching programs. However, any such program runs into the problem of pay. Tech jobs typically top the charts in salary, while teachers receive less in pay[54]. The pay drop disincentivizes switching from industry to teaching. The most straightforward solution is to raise salaries specifically for computer science teachers to put them more in line with industry averages. While costly, this may end up being a necessity in order to attract enough high quality teachers away from industry. This solution, however, creates a divide between typical teacher salaries and these new, higher paid CS teachers. These pay discrepancies will likely cause workplace tensions and reduce the overall efficiency of the educational environment we are trying to create. The solution there is to raise teacher salaries across the board. However, this is even more expensive, and may be politically unpalatable in some states. Another way to approach the compensation is to create loan forgiveness programs for CS graduates who decide to go into education. College debt is a pressing concern for millennial graduates, and may prove a strong incentive to go into education. Additionally, creating debt forgiveness programs may be easier to swallow politically than increasing education budgets, especially if the funding for such programs come from the federal government instead of state budgets.

Increase Teacher Qualifications

The National Science Foundation (NSF) has funded the CS10K initiative, which intends to place 10,000 well-trained teachers in 10,000 schools across the US. They intend to accomplish this through a combination of hiring new teachers and training old ones. Because of the sheer volume of teachers that need to be trained to reach this goal, the NSF has determined that the United States needs more than just pre-service and professional development trainings. They’re in the processing of developing a CS education resource that can be accessed by teachers at any time, so they can learn at their own pace and find help as problems arise. These programs include coding projects that teachers are encouraged to complete themselves before assigning them to students so they can learn as the students do. This resource could be valuable to in-service teachers thrown into a CS course without any prior knowledge. In between more in-depth trainings, they could use this resource to create lessons and answer student questions, meaning that schools wouldn’t have to wait for fully-certified teachers before opening up these CS classes. Another way to get more in-service teachers properly trained is to add incentives. The federal government currently awards a number of grants to teachers in public schools, most notably the Teacher Incentive Fund and Mathematics and Science Partnerships. The teacher incentive fund increases salaries of teachers with high-performing students while the Mathematics and Science Partnership distributes money to math and science programs dependent on the number of students they have below the poverty line. The government could create a new fund to increase salary of any teacher who completes a determined amount of CS education certification and fund the poorer schools who want to teach CS. Increasing teacher salary has also proven to be a great way of retaining high-performing and well-trained teachers, who can often be lost in their first few years of teaching to industry jobs.

Curriculum and Standardization

One of the roadblocks to the growth of CS education is the lack of a standard curriculum. Currently, computer science is either an elective or not offered at all. There exists the AP course, but this does not present a total solution. Firstly, this course is an advanced course intended to emulate a college course, so it is only optional. Also, it is offered very sparsely throughout the nation, and, where it is offered, there is a large gap in participation with very few disadvantaged demographics represented. To solve this problem, there must be a consensus nationwide to implement a standard computer science curriculum. Computer science must become a part of the core curriculum like other subjects such as math and history. This would ensure that every child would have access to this area, or at least some exposure. States may decide on their own, as long as every state decides to incorporate more thoroughly computer science into the curriculum. New York City mayor Bill de Blasio has announced a plan to make computer science mandatory NYC schools in the next ten years. Other cities have similar plans, but nationwide adoption is still a ways off. Another issue that stems from a lack of standardization regarding CS education is the lack of teacher certification. Right now, there does not exist a standard certification for CS teachers like there does for other subjects. To solve this problem, states and school districts must first recognize CS as a part of the curriculum, separate from science and math and not as an elective. Currently, many CS teachers are former teachers of other subjects with some training, and few come from programs that specifically focus on CS education. To increase the flow of teachers from college students to schools, a standard certification program is necessary.

Create Curriculum Goals

It is not clear how much computer science a student should know to graduate from high school. Currently, students in high school generally spend 3 or 4 years learning some form of Math, History, English, or Science. One extreme could have students taking 3 to 4 years of Computer Science classes, covering topics up to the second semester of a college degree in the area. Another alternative would be to have students only take one class, on the level of intro to computing. Computer science has many branches. Should a standard curriculum emphasize theoretical concepts, or practical programming? The level that which concepts taught in these classes which will be useful for the general citizen is not yet known. Furthermore when these topics should be introduced are not yet known. Would teaching basic concepts in grade school be beneficial for the long run? These questions must be examined. Another possible solution would be to count CS as credit for math or science. Florida has suggested that Computer science could be taken as a foreign language. Right now, many schools offer different paths for acquiring math or science credit, such as allowing either physics, chemistry or biology to count (some have even considered CS counting as a foreign language). If CS were to be recognized properly, then it would be able to give credit for one of these areas. This would give more incentive for students to take CS courses beyond just having an elective. It would also necessitate the growth of the course and increase the flow of resources to it.

References

  1. Scratch
  2. Your Five Year Old Can Learn To Code With An IPad App
  3. Blockly
  4. Kodu
  5. A Push To Boost Computer Science Learning, Even At An Early Age
  6. College Board Intends to Drop AP Programs in Four Subjects
  7. Computer Science Teacher Certification 'Deeply Flawed,' Report Says
  8. Great Britain's CS
  9. German CS
  10. Analysis of Israel's CS Model
  11. 11.0 11.1 Can We Fix Computer Science Education in America?
  12. THE CUTTING EDGE : An Overload of Computer Crime
  13. No Child Left Behind: What Worked, What Didn't
  14. Companies fund ConnectEd
  15. Project Link
  16. Project Loon
  17. Internet.org
  18. TechPrep
  19. KhanAcademy
  20. KhanAcademy Research
  21. 21.0 21.1 Diversity Study
  22. PBS Diversity
  23. Silicon Valley age diversity
  24. Computer literacy census data
  25. Push for computer literacy
  26. Computer access at local libraries
  27. LPFI STEM Presentation
  28. Wisconsin Emerging Scholars-Computer Sciences
  29. Obama Pledges Computer Science Funding
  30. Mashable: Programming as a Second Career
  31. Diversifying the tech industry talent pipeline
  32. CMU CS gender gap
  33. Lean in
  34. Sandberg, Sheryl. Lean In: Women, Work, and the Will to Lead. ISBN 978-0-385-34994-9.
  35. Sandberg TED Talk
  36. Children imitate adults
  37. Google CS first
  38. Facebook techprep
  39. Microsoft youth spark
  40. H1-B Visa abuse in the tech industry
  41. NPR Grechen Huebner
  42. UCLA emotional identification study
  43. Apple FBI letter
  44. FBI director comments on San Bernadino
  45. Piketty, Thomas. Capital in the Twenty-First Century. ISBN 978-0674430006.
  46. Computer programmers and high salaries
  47. Social consciousness
  48. Chomsky
  49. Jargon
  50. Code.org CS education statistics
  51. New York City Computer Science for All
  52. San Francisco approves plans to expand CS education
  53. Florida approves coding as a foreign language
  54. All K-12 teacher salary