# data[].attributes.attachment_link.description
Computer Science Discoveries (CS Discoveries) is an introductory computer science course that empowers students to create authentic artifacts and engage with computer science as a medium for creativity, communication, problem solving, and fun.

# data[].attributes.body
Free online APCS A course

# data[].attributes.attachment_link.readable_text
Welcome to CS Awesome! It's time to start your journey to learn how to program with Java. A shortcut way to get to this site is to type in the url: course.csawesome.org

CSAwesome is a College Board endorsed curriculum for AP Computer Science A, an introductory college-level computer programming course in Java. If you are a teacher using this curriculum, please join the teaching CSAwesome group which will give you access to teacher resources at csawesome.org.

To make sure the site saves your answers on questions, please click on the person icon at the top to register or login to your Runestone course. As you complete lessons, click the "Mark as completed" button at the bottom. Enjoy the journey!

Table of Contents

Index

If you see errors or bugs, please report them with this errors form. If you are a teacher who is interested in CS Awesome PDs or community, please fill out this PD interest form and join the teaching CSAwesome group which will give you access to lesson plans at csawesome.org.

(last revised 5/27/2022)

© Copyright 2015 Barb Ericson, Univ. Michigan, 2019 revised by Beryl Hoffman (Elms College). Created using Runestone.

You have attempted of activities on this page

# data[].attributes.attachment_link.description
Welcome to CS Awesome! It's time to start your journey to learn how to program with Java. A shortcut way to get to this site is to type in the url: course.csawesome.org CSAwesome is a College Board endorsed curriculum for AP Computer Science A, an introductory college-level computer programming course in Java.

# data[].attributes.attachment_link.description
CS Unplugged is a collection of free teaching material that teaches Computer Science through engaging games and puzzles that use cards, string, crayons and lots of running around.

# data[].attributes.attachment_link.description
Everyone Can Code is a new approach to coding that gives everyone the power to learn, write, and teach code.

# data[].attributes.attachment_link.readable_text
By clicking “Accept all cookies”, you agree to the storing of cookies on your device to enhance site navigation, analyze site usage, and assist in our marketing efforts. To find out more about the cookies we use, see our  Cookie Policy.

# data[].attributes.attachment_link.description
Teaching Computer Science in CA | Piktochart Visual Editor

# data[].attributes.body
From our friends at CSforCA

# data[].attributes.body
CSforAll adoption framework for vision guidance.

# data[].attributes.body
Guide to Inclusive Education in Computer Science

# data[].attributes.attachment_link.readable_text
Below are 3rd party curriculum and professional development opportunities recommended by an independent committee of experts convened by the Computer Science Teachers Association (CSTA). To learn more about the review process and committee, visit the CSTA's Quality PD Review Process page. To view an interactive display of the table below, click here.

If you'd like to explore additional opportunities for classrooms, afterschool clubs, and learning online, take a look at Resources from our supporters and More Resources below the table of CSTA-recommended programs.

Elementary School

Middle School

High School

Resources from our supporters

In addition to supporting us, our donors also provide these CS learning opportunities.

Access the best of Google's training and tools to grow your skills and career. With resources that are accessible online and for free, you can explore industries and earn resume-boosting credentials and certificates.

Master industry-recognized Microsoft technologies at your own pace with free modules, tutorials, and learning paths designed to prepare you for Microsoft certifications.

Pluralsight offers Code.org students the opportunity to continue their CS learning journey with free access to additional CS courses through their teacher for a limited time.

Riot Games' Game Design curriculum is an entry-level course that teaches high school students the fundamental elements of game design using a framework and interactive workshops created by professional game designers. Course includes 6 modules containing 14 lessons.

Created for students and families looking to better understand computer science and programming pathways, TechPrep by Facebook is a collection of helpful videos and resources to help you with your journey.

More resources - for classrooms, afterschool clubs or learning online

3D programming environment that makes it easy to create an animation for telling a story, playing an interactive game, or a video to share on the web.

Codecademy is an online interactive platform that offers free coding classes in 12 different programming languages

Create & Learn offers live online classes on a wide range of computer science topics such as coding (Scratch, Python, etc.), AI, and Data Science. Our curriculum places a strong focus on understanding the real world applications and problem solving, as well as developing students' creativity and critical thinking skills.

Fun classroom exercises to teach computer science principles, no computers needed!

Online curriculum that teaches JavaScript programming, HTML/CSS, and SQL, in an interactive online environment, plus courses on Algorithms and Cryptography. Includes teaching tools to track student progress.

Create games on the PC and XBox via a simple visual programming language. Can be used to teach creativity, problem solving, storytelling, as well as programming.

Pencil Code lets beginners be real web real developers, starting with turtle graphics and moving on to HTML5, CSS, and jQuery. Create art, music, games, and stories in Coffeescript and Javascript using a unique switchable editor that lets you work in either blocks or text.

Build the next generation of creators using free, open-source Java courseware.

# data[].attributes.attachment_link.title
CSTA-recommended 3rd Party Professional Development and Curricula

# data[].attributes.attachment_link.readable_text
The full version of this content can be found in the Implementation Guidance chapter of the complete . K-12 Computer Science Framework

The framework lays out the big ideas that students should understand by the end of a grade band but does not encompass all of the learning that can take place within that grade band. Although the framework focuses on an essential foundation in computer science, schools and teachers are encouraged to create additional supporting material and extend instructional experiences beyond these baseline competencies, while giving special consideration to developmental appropriateness.

Considerations for Curriculum

When selecting or developing curriculum, instructional materials, and computing tools (such as programming environments) that align to the framework, reflecting on the following pedagogical considerations is important. Curricula aligned to the framework should:

Provide a comprehensive view of computer science informed by the five core concepts and seven core practices of computer science as delineated in the framework.

Be developmentally appropriate per the grade-band progressions in the framework and fit into a coherent K-12 experience.

Integrate the concepts and practices into meaningful experiences for students, rather than solely focus on the concepts.

Be designed from a "content-first" perspective, in which programming tools, equipment (e.g., robots), and even languages, are a vehicle for learning the concepts and practices, rather than becoming the focus themselves.

Offer opportunities to create innovative technologies within socially relevant and culturally situated contexts.

Modern computer science education does not often require complex hardware setups or software configurations, although some basic technical conditions must be in place. Although some computer science education curricula and programs require locally installed resources, many computer science education programs and curricula now exist online.

Considerations for Assessment

There are several important facets of classroom computer science assessments to consider. Assessments aligned to the vision of the framework should:

Make use of project-based and portfolio-based assessment methods to authentically measure performance.

Reflect multiple aspects of computer science as defined by the five core concepts and seven practices of the framework. Even when programming is the focus, students should be assessed on not only their ability to write the program but also their ability to communicate the product's significance and development process ( Communicating About Computing), including the collaboration among members ( Collaborating Around Computing).

Take advantage of platforms dedicated to computer science that allow students to create programs such as games, apps, and simulations within an environment that also collects data, analyzes achievement, and communicates progress to both students and teachers. Online learning and assessment platforms also have the potential for reaching students in rural school districts, which are often at a disadvantage in finding teachers in high-need subject areas, such as computer science.

Building Course Pathways

Courses and curriculum do not exist in an instructional vacuum and should take into account the concepts and practices as laid out across the four grade bands in the framework. In the following examples, a computer science experience can range from a few hours a week to a semester- or year-long course. The different models in each grade band are organized by an estimate of the total amount of focused computer science instructional time that the model may allow, from least to greatest. The examples within each grade band are not mutually exclusive; many options can be combined to create additional avenues for computer science instruction.

For policy ideas that promote and support implementation, see Making Computer Science Fundamental to K-12 Education: Eight Policy Ideas.

# data[].attributes.attachment_link.description
The full version of this content can be found in the Implementation Guidance chapter of the complete K-12 Computer Science Framework.

# data[].attributes.body
National Evaluation of State Programs

# data[].attributes.attachment_link.title
Vision 2025: Middle Grades Redesign - Redesign Model

# data[].attributes.attachment_link.description
The following elements represent SFUSD’s current draft for a redesigned middle grades learning experience.

# data[].attributes.attachment_link.readable_text
A brighter approach to curriculum design - so that all students can better prepare for college, careers and life.

Get Involved

Browse UCCI Courses

California teachers designed UCCI's innovative courses, which integrate A-G academic work with Career Technical Education (CTE), to help students prepare for college while they explore potential career paths. UCCI courses meet A-G course requirements for freshman admission to UC and CSU campuses, making them valuable components of schools' CTE and/or Linked Learning pathways.

Guides for Getting Started!

UCCI Impact:

20% UCCI Participants Advanced to Leadership

510 K CA Students have Access to UCCI Courses

600 CA Institutions Offering UCCI Courses

284% Increase in Course Adoption since 2013

Read About Our Impact

Map data 2018 Google, INEGI

From Our UCCI Participants:

"I have students far more engaged in this geometry class [UCCI course Geometry + Computer Visualization/ Simulation] than any other I have taught in 17 years. Their average is higher than my other classes, and they enjoy the class as well. Students LIKE MATH!!!"

Jeramie OliveiraMath Teacher at Simi Valley High School

"This UCCI Institute made me reflect on my own teaching process, while pushing me out of my comfort zone to create something with others that I could not have created on my own."

Lindsay SchubertHistory Teacher at Los Gatos High School

"I've gained more from this institute in regards to curriculum development than any other program I've been associated with in my 12 years of teaching."

Aaron LemosParticipant at the Spring 2013 UCCI Institute

Meet Teachers We've Worked With

# data[].attributes.attachment_link.description
A brighter approach to curriculum design - so that all students can better prepare for college, careers and life. Get Involved California teachers designed UCCI's innovative courses, which integrate A-G academic work with Career Technical Education (CTE), to help students prepare for college while they explore potential career paths.

# data[].attributes.attachment_link.readable_text
Computer Science Recruitment Strategies

Get additional tips for encouraging all students-including those in traditionally underrepresented groups-to enroll in computer science courses.

# data[].attributes.attachment_link.title
AP Computer Science Principles: Recruitment Toolkit | AP Central - The College Board

# data[].attributes.attachment_link.description
Sign Up for Updates Fill out the interest form to get additional information, resources, and updates about AP CSP. By offering AP Computer Science Principles, your school becomes part of a national movement to make computer science accessible to all students, including those traditionally underrepresented in the world of computing and technology.

# data[].attributes.attachment_link.readable_text
Exploring Computer Science: Scope and Sequence

Exploring Computer Science is a high school introduction to the world of computer science and problem solving. It is a yearlong course consisting of 6 units, approximately 6 weeks each. The curriculum package comes with daily instructional lesson plans for teachers, plus supplemental extension resources. Learn about our framework, context, alignment, and units below.

Framework

Context

Alignment

Units

Click each unit to expand.

In this unit students are introduced to the concepts of computer and computing while investigating the major components of computers and the suitability of these components for particular applications. Students will experiment with internet search techniques, explore a variety of websites and web applications and discuss issues of privacy and security. Fundamental notions of Human Computer Interaction (HCI) and ergonomics are introduced. Students will learn that “intelligent” machine behavior is not “magic” but is based on algorithms applied to useful representations of information, including large data sets. Students will learn the characteristics that make certain tasks easy or difficult for computers, and how these differ from those that humans characteristically find easy or difficult. Students will gain an appreciation for the many ways in which computing-enabled innovation have had an impact on society, as well as for the many different fields in which they are used. Connections among social, economical and cultural contexts will be discussed.

This unit provides students with opportunities to become “computational thinkers” by applying a variety of problem-solving techniques as they create solutions to problems that are situated in a variety of contexts. The range of contexts motivates the need for students to think abstractly and apply known algorithms where appropriate, but also create new algorithms. Analysis of various solutions and algorithms will highlight problems that are not easily solved by computer and for which there are no known solutions. This unit also focuses on the connections between mathematics and computer science. Students will be introduced to selected topics in discrete mathematics including Boolean logic, functions, graphs and the binary number system. Students are also introduced to searching and sorting algorithms and graphs.

This section prepares students to take the role of a developer by expanding their knowledge of algorithms, abstraction, and web page design and applying it to the creation of web pages and documentation for users and equipment. Students will explore issues of social responsibility in web use. They will learn to plan and code their web pages using a variety of techniques and check their sites for usability. Students learn to create user-friendly websites. Students will apply fundamental notions of Human Computer Interaction (HCI) and ergonomics.

Students are introduced to some basic issues associated with program design and development. Students design algorithms and create programming solutions to a variety of computational problems using an iterative development process in Scratch. Programming problems include mathematical and logical concepts and a variety of programming constructs.

In this unit students explore how computing has facilitated new methods of managing and interpreting data. Students will use computers to translate, process and visualize data in order to find patterns and test hypotheses. Students will work with a variety of large data sets that illustrate how widespread access to data and information facilitates identification of problems. Students will collect and generate their own data related to local community issues and discuss appropriate methods for data collection and aggregation of data necessary to support making a case or facilitating a discovery.

This unit introduces robotics as an advanced application of computer science that can be used to solve problems in a variety of settings from business to healthcare and how robotics enables innovation by automating processes that may be dangerous or otherwise problematic for humans. Students explore how to integrate hardware and software in order to solve problems. Students will see the effect of software and hardware design on the resulting product. Students will apply previously learned topics to the study of robotics.

In our new curriculum unit, students explore electronic textiles (e-textiles): articles of clothing, accessories, or home furnishings with embedded electronic and computational elements. This curriculum is an alternate for Unit 6: Robotics. After conducting various studies on curriculum design, teaching strategies, student learning, and portfolio designs, this unit is ready for download and classroom implementation by ECS teachers. Unit 6: Electronic Textiles consists of four open-ended, hands-on projects requiring students to create artifacts with increasingly challenging computational concepts, use high and low-tech materials hone their crafting and designing skills, and troubleshoot malfunctioning projects.

The aim of this unit is to demystify the topic of AI, with students gaining an understanding of AI terminology such as machine learning and deep learning. Students will gain knowledge and skills while considering the social, moral, and ethical impacts of AI systems and usage. The unit has students explore practical daily applications of AI that are likely to have an impact upon their lives. Throughout the unit students are encouraged to come up with their own designs for areas such as smart cities, homes, and schools and to share them with the group. Students also learn to build, train, and test an AI system through a NVIDIA platform. Students are also encouraged to look at how “the message of AI” is communicated to each of us through images and narratives.

# data[].attributes.attachment_link.description
Exploring Computer Science: Scope and SequenceExploring Computer Science is a high school introduction to the world of computer science and problem solving. It is a yearlong course consisting of 6 ...

# data[].attributes.attachment_link.readable_text
Take online education technology courses to build your skills and advance your career in education. Learn about various topics in educational technology with courses from top universities and institutions around the world on edX.

Hundreds of great courses at your fingertips

Learn on the go with the new edX mobile app. You can stream or download course videos and watch directly from your iPhone or Android device.

What is Educational Technology?

Educational technology refers to all applications of technology in the learning process. It includes all the IT tools, resources and systems used in education as well as the study and advancement of technology-assisted learning. Advancements in educational technology are not only improving the learning process through experimentation and data analysis, but also making it possible for millions of new learners around the world to take courses and obtain professional certificates and degrees through online learning systems.

Online Educational Technology Courses and Programs

Explore new courses in instructional design, educational innovation and e-learning from the top universities and institutions around the world. Instructional Design and Technology is an advanced MicroMasters program from the University of Maryland that looks at the impact of technology in education and the trends that are driving the new learning platforms and systems. Learn how to combine traditional instructional design models with rapid prototyping and data analytics to design, build and continually improve online courses. Online teaching and learning is one of the fastest growing areas of education and this 4-course program will give you the skills and knowledge you need to pursue opportunities in this area.

For a broad view of the impact of digitally-available coursework on educational institutions, enroll in Digitizing Higher Education, a six-week course from The University of Texas at Arlington. Get an overview of how online education and the expectation of having coursework available anytime, anywhere impacts the economics, administration and academics of universities. Learn about the various digital technologies impacting higher education, their impact on research practices and how they have enabled new models of teaching. As more educational programs go online, education leaders need to understand the technology behind and benefits of new learning systems and opportunities.

Jobs in Educational Technology

Demand for experts in educational technology, including data and technology-savvy education leaders, is high due to the explosive growth in the number of online courses and programs. Universities and learning institutions around the world are making their courses available online and course designers with knowledge of online learning systems and best practices will have an advantage in the job market. Many schools have established technology leadership teams that support the advancement and use of technology across all departments. For schools without in-house programs, educational technology consultants are in high demand. Specialists are tasked with engaging the academic community to learn and apply the latest tools and techniques to improve the learning process.

Explore a Career in Educational Technology

Learn more about advancements in classroom and online education and see if a career as an educational technology consultant is right for you. Enroll now in online courses from major universities and institutions and build your knowledge of this exciting and in-demand field.

# data[].attributes.attachment_link.title
Learn Educational Technology with Online Courses, Classes, & Lessons

# data[].attributes.attachment_link.description
Take online education technology courses to build your skills and advance your career in education. Learn about various topics in educational technology with courses from top universities and institutions around the world on edX. Learn on the go with the new edX mobile app.

# data[].attributes.attachment_link.description
Computer Science Teaching Tips is an NSF funded project for providing tips to Computer Science educators. Supported by Harvey Mudd College and Sagefox Consulting.

# data[].attributes.attachment_link.readable_text
Computer science previously formed a subject in group 5 of the Diploma Programme curriculum but now lies within group 4. As such, it is regarded as a science, alongside biology, chemistry, design technology, physics, environmental systems and societies and sports, exercise and health science.

This group change is significant as it means DP students can now select computer science as their group 4 subject rather than having to select it in addition to mathematics as was previously the case.

The IB computer science course is a rigorous and practical problem-solving discipline. Features and benefits of the curriculum and assessment of are as follows:

Two course levels are offered; standard level (SL) and higher level (HL).

Computer science candidates are not limited by a defined study level so can opt for this course in the same way as their other subjects.

The internal assessment has changed from a being based on a Java-related task to a more open problem-solving exercise.

This will expand the choice of programming languages and better support the development of learners who match the IB learner profile

Learn more about computer science in a DP workshop for teachers.

# data[].attributes.attachment_link.description
Computer science previously formed a subject in group 5 of the Diploma Programme curriculum but now lies within group 4. As such, it is regarded as a science, alongside biology, chemistry, design technology, physics, environmental systems and societies and sports, exercise and health science.

# data[].attributes.attachment_link.description
We help educators around the world use technology to solve tough problems.

# data[].attributes.attachment_link.readable_text
Now that I'm retired (and busier than ever!), I often reflect on how I learned to love science and computing. Back then, then computing didn't really exist - it was math. I remember a middle school math class where I had to figure out how to turn on and off red, yellow and green lights. That was probably my first programming experience but they called it logic. I remember other similar activities in middle school and high school such as when we acted out directions EXACTLY as someone had written. The thinking concisely and with order was great fun and challenging! I loved it before I went to college and through a variety of twists and turns in my academic life, I ended back at (now known as) computer science.

The recent exciting news of being able to visualize a black hole because of an algorithm developed by a team lead by computer scientist Katie Bouman has certainly captured my imagination. If you've had the chance to read more about Katie, she credits her love of computing from her high school experiences. In graduate school, she didn't even know what a black hole was but once she got involved, she was hooked on figuring out how computing could capture all of the data and integrate this information from the many different telescopes to produce an image. "If you study things like computer science and electrical engineering, it's not just building circuits in your lab," she says. "You can go out to a telescope at 15,000 feet above sea level, and you can use those skills to do something that no one's ever done before." ( https://www.cnbc.com/2019/04/12/katie-bouman-helped-generate-the-first-ever-photo-of-a-black- hole.html)

Encouraging more students to try computing is one of the reasons I volunteer my time working with CSTA. I believe it's K-12 that guides us to identifying what we find challenging and rewarding. Another organization that I have worked with extensively is National Center for Women & Information Technology (NCWIT). While their primary focus is on girls and women in computing, many of their resources are applicable and valuable to all. For the K-12 audience, they have whitepapers with research references, podcast that are appropriate for high school students, tool kits which can help you organize events, great information in language that
everyone can understand, etc.

Some favorites include:

Communicating Research-based Interventions to Change Agents- to support the use of evidence-based interventions by change leaders;

Top 10 Ways to Engage School Counselors as Allies in the Effort to Increase Student Access to Computer Science Education and Careers - School counselors are eager to direct students to viable education and career opportunities. Consider these key points for collaboration as you
plan to meet with counselors to discuss ways their professional responsibilities align with your goals to increase student access to computing;

Computer Science Professional Development Guide - this computer science (CS) Guide not only empowers teachers, but also inspires students;

Computer Science-in-a-Box: Unplug Your Curriculum (2018 Update) - Computer Science-in-a- Box: Unplug Your Curriculum introduces fundamental building blocks of computer science - without using computers. Use it with students ages 9 to 14 to teach lessons about how
computers work, while addressing critical mathematics and science concepts such as number systems, algorithms, and manipulating variables and logic.

There are many many more resources of all forms that target the many facets of the K-12 world. The NCWIT website (NCWIT.org) has an easily searchable K-12 resource section. Take some time and take a look. I'll bet you'll find some interesting things.

We are lucky to be living in a time where computing plays such an important role in our daily lives. We're even luckier to be able to help student learn just how cool computing can be!

# data[].attributes.attachment_link.description
Now that I'm retired (and busier than ever!), I often reflect on how I learned to love science and computing. Back then, then computing didn't really exist - it was math. I remember a middle school math class where I had to figure out how to turn on and off red, yellow and green lights.

# data[].attributes.attachment_link.readable_text
Engage. Experience. Energize.

Join us for CSTA 2022, set for July 14-17, in Chicago. Registration for the conference and pre-conference workshops is open!

Register

State of CS Report

The 2021 State of Computer Science Education: Accelerating Action Through Advocacy is the annual report from Code.org, CSTA, and ECEP on K-12 computer science in the U.S. which includes policy trends, maps, state-by-state summaries, and implementation data.

Read the Report

Join the Conversation on the CSTA Virtual Community

Connect with your fellow teachers and CS advocates on the new CSTA Virtual Community — available to all members!

Join the Conversation

Teacher Landscape Report

The results are in! The Kapor Center and CSTA just published a full report and interactive dashboard featuring the results of a nationwide survey of nearly 3,700 PreK-12 computer science teachers in the U.S.

View Report

New Standards Resources

CSTA recently published several teacher standards-aligned resources designed specifically for teachers, administrators, PD providers, schools of education, and policymakers.

View Resources

You're Not Alone

Become a part of a community by and for teachers and unlock access to the tools and resources to help take your teaching practice to the next level. At CSTA, we’re in this together.

Join CSTA

CS is Foundational

The CSTA standards outline the computer science content and practices that every student should learn over their K-12 experience.

Explore the CS standards

CSTA UPCOMING EVENTS

Jun 15, 2022
5:30 PM - 7:00 PM UTC-05:00

Jul 13, 2022 1:00 PM -
Jul 14, 2022 5:00 PM UTC-05:00

Jul 14, 2022 - Jul 17, 2022

Featured CSTA+ Benefit

Students who feel a sense of belonging or connection to their teacher and peers are more likely to stay in school and succeed in life. Pear Deck makes it easy for teachers to connect with every single student in class — across every subject, every grade, and every day.

CSTA VOICE

CSTA Voice is your resource for analysis and commentary on issues related to K–12 computer science education issues.

May 26, 2022

I thoroughly enjoyed giving people advice on how their students should perform in school, and as a special education teacher, I would give people IEP meeting tips. But soon, the fire inside me started to dim, and I wondered if I had chosen the right career.

May 25, 2022

We're excited to announce the results of the 2022 Board of Directors election.

At the summer AP computer science institute, I joined CSTA and gained valuable resources I use every day.

Mark, Miami

CSTA has been so helpful to me! I am so, so grateful for this organization and am a very proud member!

Kimberly, Omaha

The CS requirement in Chicago Public Schools wouldn't have happened without the work of the CSTA Chicago.

Dale, Chicago

# data[].attributes.attachment_link.description
Creating a strong environment to support K-12 educators.

# data[].attributes.attachment_link.description
Anyone can learn computer science. Make games, apps and art with code.

# data[].attributes.attachment_link.readable_text
The President's call to action is grounded in economic realities coupled with a lack of access and ongoing system inequities. There is an increasing need for computer science skills in the workforce, with the Bureau of Labor Statistics estimating that there will be more than 1.3 million job openings in computer and mathematical occupations by 2022. The majority of these jobs will require at least a Bachelor's degree in Computer Science or in Information Technology, yet the U.S. is only producing 16,000 CS undergraduates per year.

One of the reasons there are so few computer science graduates is that too few students have the opportunity to study computer science in high school. Google's research shows that only 25% of U.S. schools currently offer CS with programming or coding, despite the fact that 91% of parents want their children to learn computer science. In addition, schools with higher percentages of students living in households below the poverty line are even less likely to offer rigorous computer science courses.

Increasing access to computer science for all learners requires tremendous commitment from a wide range of stakeholders, and we strive to be a strong supportive partner of these efforts. Our new CS EDU website shows all the ways Google is working to address the need for improved access to high quality computer science learning in formal and informal education. Some current programs you'll find there include:

CS First: providing more than 360,000 middle school students with an opportunity to create technology through free computer science clubs

Exploring Computational Thinking: sharing more than 130 lesson plans aligned to international standards for students aged 8 to 18

igniteCS: offering support and mentoring to address the retention problem in diverse student populations at the undergraduate level in more than 40 universities and counting

Blockly and other programming tools powering Code.org's Hour of Code (2 million users)

Google's Made with Code: movement that inspires millions of girls to learn to code and to see it as a means to pursue their dream careers (more than 10 million unique visitors)

...and many more!

Computer science education is a pathway to innovation, to creativity and to exciting career opportunities, and Google believes that all students deserve these opportunities. That is why we are committed to developing programs, resources, tools and community partnerships that make computer science engaging and accessible for all students. With the launch of our CS EDU website, all of these programs are at your fingertips.

# data[].attributes.attachment_link.title
All of Google's CS Education Programs and Tools in One Place

# data[].attributes.attachment_link.description
Computer science education is a pathway to innovation, to creativity and to exciting career opportunities that all students deserve. We're committed to developing programs, resources, tools and community partnerships that make computer science engaging and accessible for all students. With today's launch of our new CS EDU website, all of these programs are at your fingertips.

# data[].attributes.attachment_link.readable_text
From May 2009 until May 2019, more than 27,000 educators who support learning with the Scratch programming language shared 4,749 discussion posts, 1,027 resources, and 354 stories here in the ScratchEd Online Community. We've created this archive so you can peruse these 10 years of discussions, resources, and stories.

# data[].attributes.attachment_link.description
From May 2009 until May 2019, more than 27,000 educators who support learning with the Scratch programming language shared 4,749 discussion posts, 1,027 resources, and 354 stories here in the ScratchEd Online Community. We've created this archive so you can peruse these 10 years of discussions, resources, and stories.

# data[].attributes.attachment_link.title
Sphero Education | STEM & STEAM EdTech Company: Sphero

# data[].attributes.attachment_link.description
Through professional development & STEM teaching trainings, Sphero partners with educators to bring robotics & STEM into the classroom. Learn more now!

# data[].attributes.attachment_link.title
Classroom Solutions for STEM and STEAM | LEGO® Education

# data[].attributes.attachment_link.description
LEGO® Education solutions teach children 21st century skills for future success, starting with preschool and moving through elementary, middle and high school.

# data[].attributes.attachment_link.readable_text
Grant Smith - CSTA K-8 Task Force and Standards Review Committee
Grant trains K-8 teachers in computer science content and pedagogy.
He also serves on the CSTA K-8 Task Force and Standards Review Committee.
He is a former coding teacher and district administrator. Grant is also concurrently
working on earning a doctorate from the Johns Hopkins University School of Education.

# data[].attributes.attachment_link.description
Start coding at your school. Used by over 50% of US Elementary schools, Kodable gives you everything you need to get started - no experience required!

# data[].attributes.attachment_link.readable_text
Why teach computing?

Digital technologies change how we communicate, how we play, work and study. Everybody benefits from understanding how computers and coding shapes our world.

Introducing computing into primary and elementary education supports children from a young age, to form their interests and challenge any stereotypes they may have about technology and computer science.
BBC Education research 2017
We're here to support you to help all of your students to learn about computing. So that more girls and boys can experience and explore digital technologies and eventually contribute to a greater diversity of thought and human experience in the design of future technologies.

Webinars

The first webinar series covers everything from getting started through to practical sessions on using micro:bits in your classroom.

And, our student code-alongs are interactive live sessions where we support you and your class to code a micro:bit project alongside other schools!

Computing glossary

Your 'quick glance' guide to computing subject language including key terms and definitions for programming concepts and computational thinking concepts.

Popular topics in the classroom

Integrating the micro:bit into your teaching

If you already have computing topics planned and want to give the micro:bit a go, we've selected micro:bit projects relevant to popular primary computing concepts and topics.

Lessons overview
Planning new lessons to include the micro:bit
Units of work written to primary curriculum learning objectives. All lesson plans for primary computing with the micro:bit offer cross-curricular subject links to support creative computing in your classroom.

Lesson sequences include unplugged activities and student coding challenges. The micro:bit lesson bundles contain lesson plans, teaching resources and student activities.

Download our lesson plan overviews to find out which ones are suitable for you.

Manage code activities

With the micro:bit classroom tool you can launch a live code session and your students can log-in without registration.

Create your code session using your own starter code, or find complete code in all the micro:bit projects and lessons.

Share and view students' code in real time

Download their work for review

Capture the whole lesson for resuming at a later date.

# data[].attributes.attachment_link.description
Digital technologies change how we communicate, how we play, work and study. Everybody benefits from understanding how computers and coding shapes our world. Introducing computing into primary and elementary education supports children from a young age, to form their interests and challenge any stereotypes they may have about technology and computer science.

# data[].attributes.attachment_link.readable_text
Bringing Computer Science to Life

At a time when computer science affects how we work and live, PLTW Computer Science empowers students in grades 9-12 to become creators, instead of merely consumers, of the technology all around them.

The program's interdisciplinary courses engage students in compelling, real-world challenges. As students work together to design solutions, they learn computational thinking - not just how to code - and become better thinkers and communicators. Students take from the courses in-demand knowledge and skills they will use in high school and for the rest of their lives, on any career path they take.

# data[].attributes.attachment_link.description
At a time when computer science affects how we work and live, PLTW Computer Science empowers students in grades 9-12 to become creators, instead of merely consumers, of the technology all around them. The program's interdisciplinary courses engage students in compelling, real-world challenges.

# data[].attributes.attachment_link.readable_text
Bootstrap thanks its supporters

The National Science Foundation, The Siegel Family Endowment, Bloomberg, Google, The Tides Foundation, TripAdvisor, Microsoft, Jane St. Capital, The Infosys Foundation, The Morris Family Foundation, Perl Nelson Family Foundation Inc., The ESA Foundation, Vint Cerf, Nathan Perez and Maia Taussig, Pi-Chuan Chang, Joshua Redel, Hubert Chao, Deborah Seidell and Gregory Marton, Christopher Meiklejohn, Andrew Rassmussen, Stefanie Tellex, Wendy and Jim Phillips

Bootstrap collaborates with faculty at numerous of the leading universities in computer science, including Brown University, Northeastern University, and the University of California at San Diego, as well as other institutions.

# data[].attributes.attachment_link.title
Bootstrap: Integrated Computer Science for Math, Social Studies, History, and Physics, for every student.

# data[].attributes.attachment_link.description
The National Science Foundation, The Siegel Family Endowment, Bloomberg, Google, The Tides Foundation, TripAdvisor, Microsoft, Jane St.

# data[].attributes.attachment_link.readable_text
CodeHS is a comprehensive teaching platform for helping schools teach computer science. We provide web-based curriculum, teacher tools and resources, and professional development.

Mission

The mission of CodeHS is to empower all students to meaningfully impact the future.

We believe that in the 21st century, coding is a foundational skill, just like reading and writing. That’s why we say: Read, Write, Code. We do this by providing great curriculum, tools, and resources to teachers, students, and schools to implement high quality computer science programs. We believe that everyone should get the chance to learn coding, and that it’s a skill that provides limitless creative opportunity to students. We want to help make computer science education fun and accessible, and believe you need both great tools as well as a great community to make this happen. We do this through our support for teachers, students and schools, with the help our dedicated team and amazing tutors. Thanks for visiting our site!

Values

Encourage Teaching and Learning

CodeHS is about providing excellent teaching and learning opportunities in computer science for students all over the world. We value creating fun, accessible and creative learning experiences for teachers, for students, and for team members at CodeHS. We believe that education--and specifically coding--within the formal K-12 system, the higher-education system, and beyond has the power to allow everyone to unlock their full potential.

Create a Direct Positive Impact

At CodeHS we value creating a direct positive social impact with our work. We work directly with students, teachers, schools and districts to implement computer science classes. Through building great curriculum, tools and resources to allow high schools to teach computer science, we can create a direct educational benefit to students to help explore the limitless world of computing. We believe that expanding access to computer science education will empower students to take an active role in creating the future.

Make It Fun and Creative

Bringing fun and creativity to every aspect of our work is a main focus for us at CodeHS. It starts with a fun, friendly and accessible curriculum, that allows students the opportunity to build creatively and engage in thoughtful problem solving. We also focus on developing a creative and fun environment to work in, and think that this allows us to bring novel approaches to challenging problems. Computing is about logic--but it’s also about creativity--and we hope to share that excitement with teachers and students through CodeHS.

Our story

Jeremy and Zach met in their freshman dorm at Stanford where they started and ran The Stanford Flipside, the satirical newspaper on campus. They both majored in computer science and participated in the section leader program for 3 years, helping teach and run the intro courses. They started CodeHS their senior year so they could give everyone around the world the same opportunities as Stanford computer science students.

Testimonials

"WOW!!! The students LOVED Karel the Dog! Today was their first day of using the software and the curriculum. Every single student was engaged and the comments were so full of excitement. This is going to be the much needed shot in the arm that my students need, I can tell already!"

Linda Brown, Teacher, Desert Hills High School

"CodeHS is flexible for both students and teachers, because I LOVE the problem-solving approach and puzzle/game nature of the exercises, and because students can learn at a level that is appropriate for them - whether they are a slow first-timer or speedy and already have coding experience. And it's all packaged in one place - CodeHS."

Eric Ferrante, Teacher, Cupertino High School

"The students say the class is "fun, fun, fun" and that the class period is too short."

Ellen Kohrs, Teacher, Sea Crest School

"My students are absolutely loving this class. They are flying through the Karel module. Take a look. We've had two 87 min classes so far and some of my students have completed activities that I had on my syllabus for Sept. 24. It has been amazing."

Jerome Schmidt, Teacher, Brentwood High School

"I will praise codeHS to the skies and tell them why its better than codecademy, udacity, udemy, cousera, or books."

Joe Thompson, Teacher, Gunston High School

See more teacher testimonials!

CodeHS Schools

Here at CodeHS, we believe that everyone should have the opportunity to learn to code! Whether you're at a public, private, charter, home school, big or small, urban or rural--CodeHS has you covered. We are proud to work with school leaders in every type of school you can imagine and we look forward to working with you, too! Check out some stories below from the various teachers who have used CodeHS.

Case Studies

Joe Thompson:Director of Technology at Gunston High School, a small private school in Maryland, Joe started teaching computer science and quickly made it the funnest class at the school!Full Story

Aaron Grill:Having taught computer science for over a decade, Aaron Grill, now the Director of Technology and a classroom teacher at the Browning School in New York, says that for administrators thinking about bringing on a computer science program, CodeHS is a silver bullet!Full Story

Brian Gervase:When Mountain House High School was being built 2 years ago, math department chair Brian Gervase made sure that computer science was a core part of the school curriculum and the 21st century learning environment that would prepare students to be both college and career-ready.Full Story

Andy Walleck:A former English teacher, Andy Walleck didn't know what to think when his administration told him he'd be teaching computer science starting two years ago. Now, he's loving it and watching his kids become inspired by coding.Full Story

Eve Sarra: How a one woman computer science program grew Bridgeport Central’s computer science track from nothing to multiple sections of AP ready students -- in just a single year.Full Story

Denise Huey: Inspiring, connecting, and coding -- how Denise Huey create a welcoming coding environment of all of her students.Full Story

Joe Prohaska:A former industry software developer, Joe finally fulfilled his passion to teach computer science by starting the computer science program at KIPP Heartwood.Full Story

Kim Zimmer:Authentic, fun, inviting, inspiring -- this is the classroom that computer science teacher Kim Zimmer has created with CodeHS! Full Story

Hear from a CodeHS Teacher

# data[].attributes.attachment_link.description
CodeHS is a comprehensive teaching platform for helping schools teach computer science. We provide web-based curriculum, teacher tools and resources, and professional development.

# data[].attributes.attachment_link.title
Tools and Resources for Educators | Microsoft Education

# data[].attributes.attachment_link.description
Empowering teachers with the tools and resources of Microsoft enabling educators to teach students in today's schools and classroom environments.

# data[].attributes.attachment_link.provider_name
National Center for Women & Information Technology

# data[].attributes.attachment_link.readable_text
Why we must act

In computing and technology careers, greater inclusion lifts individual futures and entire communities. Yet many groups are underrepresented. Too many voices-and their winning ideas-go unheard.

Unquestionably, the will for change exists, but turning awareness into outcomes requires strategies for action. That's why NCWIT is here.

From the classroom to the boardroom, the superintendent's office to the C-suite, NCWIT brings the proven tools, evidence-based methodologies, and collaborative peer communities that help build possibility, develop potential, and create lasting change. More voices can generate more powerful ideas. We'll show you how to make every voice heard.

# data[].attributes.attachment_link.title
National Center for Women & Information Technology

# data[].attributes.attachment_link.description
In computing and technology careers, greater inclusion lifts individual futures and entire communities. Yet many groups are underrepresented. Too many voices-and their winning ideas-go unheard. Unquestionably, the will for change exists, but turning awareness into outcomes requires strategies for action. That's why NCWIT is here.

# data[].attributes.body
Computer Science Teachers Association

# data[].attributes.attachment_link.description
Creating a strong environment to support K-12 educators.

# data[].attributes.attachment_link.readable_text
Every student deserves a computer science education that will give them the opportunity to succeed, regardless of their zip code, race, gender or economic background.

Computer science skills build computational and critical thinking, transforming students into creative thinkers and problem solvers of the future.

Computer science education for all students in California is critical to our economy and the future of our state.

# data[].attributes.attachment_link.description
Every student deserves a computer science education that will give them the opportunity to succeed, regardless of their zip code, race, gender or economic background. Computer science skills build computational and critical thinking, transforming students into creative thinkers and problem solvers of the future.

# data[].attributes.attachment_link.title
Welcome to CS for All Teachers | CS for All Teachers

# data[].attributes.attachment_link.description
CS for All Teachers is a virtual community of practice, welcoming all teachers from PreK through high school who are interested in teaching computer science.

# data[].attributes.attachment_link.description
CSforALL's mission is to make high-quality computer science an integral part of the educational experience of all K-12 students and teachers and to support student pathways to college and career success.

# data[].attributes.attachment_link.readable_text
Universal design for learning (UDL) is a framework to improve and optimize teaching and learning for all people based on scientific insights into how humans learn.

UDL at a Glance

See how the UDL framework guides the design of instructional goals, assessments, methods, and materials that can be customized and adjusted to meet individual needs.

Universal Design for Learning: Theory and Practice

Anne Meyer and David Rose, who first laid out the principles of UDL in the 1990s, provide an ambitious, engaging discussion of new research and best practices. This book gives the UDL field an essential and authoritative learning resource for the coming years.

Read the book

# data[].attributes.attachment_link.description
Universal design for learning (UDL) is a framework to improve and optimize teaching and learning for all people based on scientific insights into how humans learn. UDL at a Glance See how the UDL framework guides the design of instructional goals, assessments, methods, and materials that can be customized and adjusted to meet individual needs.

# data[].attributes.attachment_link.title
Computer Science Education | Microsoft CSR

# data[].attributes.attachment_link.description
Learn how Microsoft brings computer science education to every young person. Microsoft partners with nonprofits and educators to make CS education more accessible.

# data[].attributes.attachment_link.readable_text
The SCRIPT: Strategic CSforALL Planning Tool for School Districts

The SCRIPT - the Strategic CSforALL Resource & Implementation Planning T ool - is a framework to guide teams of district administrators, school leaders, and educators through a series of collaborative visioning, self-assessment and goal-setting exercises to create or expand upon a computer science education implementation plan for their students.

School districts and other local education organizations are the unit of change toward creating rigorous, inclusive and sustainable K-12 computer science education. The SCRIPT supports systems-level change by addressing five key areas: (1) Leadership, (2) Teacher Capacity and Development, (3) Curriculum and Materials Selection and Refinement, (4) Partners, and (5) Community.

More than 90% of participants say the SCRIPT helped them identify actionable goals:

"The most useful portion was developing district goals because we were able to do an honest assessment of our current state of CS education, which was a great stepping stone into developing and determining goals, a plan, and the next steps to bringing CS education to the district."

How to Get Involved

School Districts: Learn more about upcoming workshops in your area, or connect with us to see if there are already trained SCRIPT Facilitators in your area!

States: Connect with us to bring a SCRIPT workshop or SCRIPT Facilitator training to your state!

Local Partners: Join us for a workshop to observe the SCRIPT work in action, learn more about how you can support districts in their work, and lend your expertise on a Partner Panel!

Funders: Districts are continuously looking for support! Donate space, volunteers, technology, or host a workshop!

Join CSforALL! Membership is free.

Contact the SCRIPT Team at script@csforall.org!

SCRIPT Partners

Resources

# data[].attributes.attachment_link.description
The SCRIPT - the Strategic CSforALL Resource & Implementation Planning Tool - is a framework to guide teams of district administrators, school leaders, and educators through a series of collaborative visioning, self-assessment and goal-setting exercises to create or expand upon a computer science education implementation plan for their students.

# data[].attributes.attachment_link.provider_name
Creative Technology Research Lab | College of Education

# data[].attributes.attachment_link.readable_text
Project TACTIC: Teaching All Computational Thinking through Inclusion and Collaboration

TACTICal Teaching Brief

Paraeducators during K-12 Computer Science Instruction

Introduction

The importance of paraeducators in public schools cannot be overstated. Paraeducators are often asked to juggle many tasks with multiple students with disabilities, and they regularly find themselves at the center of a whirlwind of activities. Paraeducators are often required to support instruction, such as computer science (CS), with minimal professional development or time to learn how to support students with disabilities in this new content area.

Scenario

Ms. Robbins is a paraeducator assigned to a classroom where three students with disabilities are included in the computing/programming class alongside their peers:

Rachel has a learning disability related to math,

Roberto has a social communication disorder that has kept him from verbally expressing his needs, and

Connie has an emotional behavior disorder as well as a speech/language impairment and often does not interact with her peers.

Ms. Robbins noticed that each student had different challenges.

Rachel is taken out of the CS class halfway through instruction to receive her math intervention services, so she does not get to work on her project.

Connie sits in his assigned seat, which is away from many of his peers, and does not interact with others as compared to the other students in the class, who try to problem solve together.

Roberto does a good job listening to the teacher explain the project, but then immediately gets frustrated as soon as she gets stuck and stops working.

Despite these challenges, Ms. Robbins also noticed that the students did experience success: All three of students maintained attention, shared that they were proud of their accomplishments when they overcame a and seemed like they were having fun and actively engaged for the majority of the CS instructional time. Ms. Robbins knew, however, that to capitalize on these successes, all three students needed a little more support.

Strategies for Paraeducators

1. Collaborate with the general educator/CS teacher before the lesson
Prebrief not debrief. If possible, you should know the outcome for the CS lesson before working with your students.

1. Preview any lesson plans or student planning sheets before instruction begins.

2. Ask about key ideas for the lesson and become familiar with any tools or platforms that are to be utilized.

3. Understand what it is that students should be able to do at the end of instruction.

4. Communicate with the general education/CS teacher, special education and/or technology teacher. This can occur informally through email or text.

5. Don't feel afraid to share your ideas with the teachers and ask questions. Remember you are an important part of the team, not a guest in the classroom.

2. Encourage the student to talk with peers (Israel et al., 2015; Park & Lash, 2014)

Be the coach, not the player.
For some students, it is not enough to tell them to talk to a peer. Instead, demonstrate/model how to ask for help and how to listen to the response. As the student becomes more successful in collaborating with peers, provide less support to encourage independence.

Provide explicit guidance in how to collaborate.
Use the Collaborative Discussion Framework (Park & Lash, 2014) to guide the student in asking certain questions to get them back on track.
The CDF with helper language may be found https://goo.gl/JzusYW

3. We can't do the learning for them

Although we dislike seeing our students struggle, sometimes great learning happens through productive struggle.
Provide assistance only when absolutely necessary. As much as we want to protect and help our students, intervening too quickly may limit the student's ability to think.

Communicate that you will help through struggle.
It is important that students do not struggle to the point of giving up. That could lead to dislike for computing. If a student becomes overly frustrated, then definitely help reduce her/his frustration. This could mean having the student take a break, work on another related or unrelated task or, talk through the problem.

Patience, patience, patience.
It is more important that students acquire the targeted computing skills than the grades for an assignment.

Use a "least to most prompting" strategy.
Start with the least amount of support you think the student will need and move towards more and more support so that you don't over-support.

Summary

Ms. Robbins is starting to feel like she is learning the CS curriculum and beginning to understand how to support Rachel, Connie, and Roberto more effectively.

She also spoke with the special education teacher about the benefits of including Rachel throughout the entire CS lesson, but this scheduling issue was not fully resolved.

With that said, Ms. Robbins is beginning to notice that with modeling and encouraging collaboration, these three students are experiencing more success during CS instruction and that they are more fully invested in the class activities.

References

Israel, M., Wherfel, Q., Pearson, J., Shehab, S., & Tapia, T. (2015). Empowering K-12 students with disabilities to learn computational thinking and computer programming. TEACHING Exceptional Children, 48(1), 45-53.

Park, M., & Lash, T. (2014). The Collaborative Discussion Framework. Champaign Unit 4 School District.

Recommended Citation:

Lash, T., Wherfel, Q., Jeong, G., & Israel, M. (2017). Helpful strategies for paraeducators during K-12 computer science instruction. Project TACTIC: Teaching All Computational Thinking through Inclusion and Collaboration. Retrieved from University of Illinois, Creative Technology Research Lab website: https://CTRL.education.illinois.edu/TACTICal/paraeducator

Note: There are no copyright restrictions on this document; However, please use the proper citation.

# data[].attributes.attachment_link.title
Paraeducators during K-12 Computer Science Instruction

# data[].attributes.attachment_link.description
Project TACTIC: Teaching All Computational Thinking through Inclusion and Collaboration TACTICal Teaching Brief Paraeducators during K-12 Computer Science Instruction The importance of paraeducators in public schools cannot be overstated. Paraeducators are often asked to juggle many tasks with multiple students with disabilities, and they regularly find themselves at the center of a whirlwind of activities.

# data[].attributes.attachment_link.readable_text
Recent efforts including the CSTA K-12 Standards and the K-12 CS Framework have worked to clarify what students should learn in CS classrooms, but it is less clear how students should learn. The community has learned a lot through research, and many practices from other subjects are just as effective in CS. Working in different regions and in different contexts, we each had a need for a tool that synthesizes effective teaching practices in computer science and supports teacher reflection. We couldn't find one, so we worked together to develop a rubric to fit this need. Our goal was to create a concise and readable rubric focused on student actions that could be observed in the classroom. We use the rubric in coaching interactions with CS teachers, to support reflection and goal-setting. It can also be used for self-reflection and to describe elements of high-quality CS teaching.

# data[].attributes.attachment_link.description
In the current context of K-12 computer science education, it is common to focus mainly on the surging number of students reached. However, it is increasingly important to consider not just the quantity, but also the quality of the teaching and instruction that students are receiving. We developed

# data[].attributes.attachment_link.title
CS First has been turned down - CS First Help

# data[].attributes.attachment_link.description
Google’s CS First was turned down on June 30, 2025. When CS First launched in 2013, the intention was to provide much-needed resources for K-12 computer science education. The landscape has since evol

# data[].attributes.body
C-STEM curriculum

# data[].attributes.attachment_link.readable_text
You have exceeded your daily download allowance.

# data[].attributes.attachment_link.readable_text
With technology infiltrating every aspect of life, savvy students know that a computing or engineering degree opens the door to abundant opportunities. Choosing to study mathematics or data in college is a logical first step, but furthering your education with a master's degree in computer science provides the technical skills necessary to secure a competitive edge.

An education in computer science lays the foundation for a career in technology-a job market which the Bureau of Labor Statistics predicts will grow much faster than average, at an annual clip of 19 percent for the near future. Combining the theory and design of software programs driving our world, it wouldn't be a stretch to say that the education students get with a master's degree in computer science opens doors in practically every industry.

But beyond access to quickly multiplying job opportunities in data and computing, what you'll study (and learn) with this graduate degree is vast. Computer science students earn their degree by pacing through systems, software, deep learning, theory, and design-all the while exploring not just the how, but the why of technology.

Practically every service or product today operates on some kind of computing algorithm. Whether you know it or not, what you see (each program, design, technology around you) is the handiwork of computer science majors, and the skills these students acquire through their graduate courses are universally valuable.

What problem-solving skills do you learn with a master's in computer science?

How to obsess like a data scientist Computer science jobs often involve tinkering away on a very small part of a massive job and disentangling the knots to make the program do what you need to do. The real-world applications and hands-on experience students develop a computer science program teach them how to zero in on details to remove discrepancies in code that cause hiccups. Learning soft skills like attention to detail are important in any career-from software developers to cloud computing whizzes-but such knowledge is key to solving the scope and scale of large programming projects.

How to zoom out (to see the big data picture) Obsessing over details is great, but computer scientists can't fall victim to analysis paralysis. Students in a computer science master's program learn practical applications like solving problems by stepping back, thinking logically, and putting systems into context. An education that emphasizes analytical skills, computer science courses require students to study how different parts of a larger algorithm are connected to each other. Dependencies are critical in developing software programs; being able to evaluate the landscape with a certain degree of abstraction is a skill you will master well before you graduate.

Embracing-and computing-change Data science courses, opportunities, analysis and techniques that might have been popular yesterday may very well be obsolete tomorrow. Hardly any college teaches FORTRAN, COBOL, or BASIC-all of which once drove most of the algorithms any student with a bachelor's degree knew like the back of her hand. Change is not restricted to programming languages alone.

The technology behind autonomous vehicles, computer vision, human-computer interaction, and artificial intelligence are part of consumer tech language today-but were still largely abstractions in the computing world just a decade ago. My, how things (err, data) have changed! A computer science degree teaches students to embrace near-constant levels of change throughout the systems, software, applications, design, techniques, and engineering of everything they're learning in their degree. Of course, such rapid shifts in technology bring with them new opportunities in the form of education and career paths.

How to think laterally One of the primary skills future computer scientists and engineers pick up over the course of their master's degree program is how to think laterally. The knowledge that your skills can be applied across the board to a variety of different challenges is invaluable-and confidence-boosting! As one credit hour builds on the next, students further refine their knowledge of how to get to the root of a problem quickly. Learning how to apply seemingly unrelated systems to solving new problems will open the door to abundant opportunities in computing, engineering, design, and many other applications across technology. Working in computer science means being both a generalist in evaluating commonalities and a specialist in the various applications of that framework.

How to be a team player Most computing and engineering students eventually land jobs that require participation in team projects. Programmers, software engineers, and cloud computing experts alike partner with fellow data lovers on the daily. Today's software projects work by agile techniques such as scrum, where an all hands-on-deck approach is the order of the day. In a scrum sprint, developers tackle small bits of code at a time and meet weekly to check on progress and, equally important, interdependencies.

A master's degree in computer science teaches students to simultaneously play the scale of projects up and down. By learning interdependencies they become expert team players-a skill that, while basic in theory, requires hands-on experience to master.

How to learn on the job Technology changes rapidly, and the ability to learn on the job is a must-have skill. You can't afford to stay still, so continuing education will be a mainstay of your professional experience. A computer science master's equips you with the right mindset so you're adept at drinking the proverbial water from the technology firehose.

Computer science is a discipline where going to graduate school has a big payoff. On average, a master's degree raises salaries $30,000 above the bachelor's equivalent. According to Payscale.com, graduating with a master's degree can deliver a starting salary slightly north of $100,000. With the lucrative pay that these jobs can command, a master's degree in computer science is well worth considering.

# data[].attributes.attachment_link.title
Computer Science Master's Degree: What You Learn (And Earn)

# data[].attributes.attachment_link.description
With technology infiltrating every aspect of life, savvy students know that a computing or engineering degree opens the door to abundant opportunities. Choosing to study mathematics or data in college is a logical first step, but furthering your education with a master's degree in computer science provides the technical skills necessary to secure a competitive edge.

# data[].attributes.attachment_link.readable_text
Publisher Summary

There is a common intuition among those in computer science education that programming encourages the development of good problem-solving skills. The term "problem solving" has a broader and deeper meaning than what is implied by its educational association with mathematics. This is an exciting idea, especially when one considers how the concept of problem solving has been synonymous with human endeavors of the best possible kind, with the mastery of the physical, social, and intellectual worlds we live in. Computer environments make it possible for students to experience some of the deeper ideas that underlie a correct understanding of what human problem solving entails. Students learn best in settings where they can move from the empirical to the theoretical and back again freely. This coincides with the way real problem-solvers function. Low-cost microcomputers make it possible to incorporate these ideas into mathematics curricula and also into new courses in computer science and computer literacy.

# data[].attributes.attachment_link.title
DOES COMPUTER PROGRAMMING ENHANCE PROBLEM SOLVING ABILITY? SOME POSITIVE EVIDENCE ON ALGEBRA WORD PROBLEMS

# data[].attributes.attachment_link.description
There is a common intuition among those in computer science education that programming encourages the development of good problem-solving skills. The term "problem solving" has a broader and deeper meaning than what is implied by its educational association with mathematics.

# data[].attributes.attachment_link.readable_text
Study: How Extra CS Lessons Boosted ELA and Science Test Scores for One District

Students who did extra computer science activities in transdisciplinary modules scored higher on reading comprehension exams, as well as Florida standardized tests in science and English and language arts (ELA), according to preliminary results from a new study.

The findings are the preliminary results of a National Science Foundation-funded study led by Outlier Research and Evaluation from the University of Chicago and conducted at Broward County Public Schools (BCPS) using computer science education resources from Code.org.

For the study, Broward embedded "Code.org Fundamentals lessons in BCPS' nonnegotiable elementary literacy block," according to information released by Outlier. "To do so, BCPS personnel developed 'transdisciplinary' 'Time for CS' (Time4CS) modules that included science, ELA and social studies lessons and associated Code.org lessons connected with a problem-based theme. In the 2016-2017 academic year, participating schools implemented two modules for each, 3rd, 4th and 5th grade during BCPS's existing 180-minute literacy block."

More than 1,600 students taught by 157 teachers at 16 different schools were included in the study, with half of the classes using the Time4CS units and the other half serving as the control group, though the number of students assessed varied from one exam to another.

The scores of 1,607 students on Achieve 3000 literacy assessments showed that "Teacher completion of a higher percentage of 'extra' Code.org CS lessons was significantly associated with higher Achieve 3000 literacy scores under the condition where the teachers reported themselves as higher in 'resourcefulness and coping,'" according to a report on the study's preliminary findings. More experience teaching computer science was also correlated with higher scores on this exam, as were higher levels of self-reported teacher innovativeness.

For the standardized tests, the researchers used sample sizes of 1,600 students for ELA and math, and 580 students for science, as those assessments are only given to students in grade 5 at BCPS. Researchers found that higher scores on these assessments were also associated with teachers who completed extra Code.org computer science lessons if the teachers also self reported as being more resourceful and capable of coping or, again, having higher levels of self-reported innovativeness.

The results may be promising, but the researchers point out that these preliminary findings, at least, raise more questions than answers.

"So, what are we to make of these findings?" a whitepaper on the preliminary results asks. "Like any study, this one elicits a number of new and interesting questions. Why were there significant findings associated with completion of a higher percentage of 'extra' Code.org CS lessons and completing 'additional' CS activities, whereas completion of grade-level specific Code.org lessons were not associated with student outcomes? What is the role of teacher resourcefulness and coping in a classroom and how might it be related to student academic achievement? What might explain why teachers who report being more innovative have students with higher academic outcomes?"

Visit outlier.uchicago.edu to read a whitepaper from Outlier about the preliminary results. More information is also available in a Code.org blog post at medium.com.

About the Author

Joshua Bolkan is contributing editor for Campus Technology, THE Journal and STEAM Universe. He can be reached at jbolkan@gmail.com.

# data[].attributes.attachment_link.title
Study: How Extra CS Lessons Boosted ELA and Science Test Scores for One District -- SteamUniverse

# data[].attributes.attachment_link.description
Students who did extra computer science activities in transdisciplinary modules scored higher on reading comprehension exams, as well as Florida standardized tests in science and English and language arts (ELA), according to preliminary results from a new study.

# data[].attributes.headline
Screenshots from CTC regarding Supplementals

# data[].attributes.subject
Screenshots from CTC regarding Supplementals

# data[].attributes.headline
All Standards NI-Network Communication & Organization

# data[].attributes.subject
All Standards NI-Network Communication & Organization

# data[].attributes.headline
All Standards DA-Collection, Visualization, & Transformation

# data[].attributes.subject
All Standards DA-Collection, Visualization, & Transformation

# data[].attributes.headline
Not Official, but super useful Standards reference.

# data[].attributes.subject
Not Official, but super useful Standards reference.

# data[].attributes.attachment_link.readable_text
(below)Use the filters and search feature to configure the view. Click the arrow next to each standard to expand a descriptive statement that includes clarification of the standard and examples. Click table headings to sort the table.

# data[].attributes.attachment_link.title
California K-12 CS Standards - Standards

# data[].attributes.attachment_link.description
(below) Use the filters and search feature to configure the view. Click the arrow next to each standard to expand a descriptive statement that includes clarification of the standard and examples. Click table headings to sort the table.

# data[].attributes.attachment_link.readable_text
Computer science education is increasingly recognized as vital to student success. Spurred by the inclusion of computer science as a core subject in the Every Student Succeeds Act, and by the Computer Science for All (CS for All) initiative, many states and districts are rapidly expanding K-12 computer science instruction.

About Computer Science for All
The federal Computer Science for All (CS for All) initiative aims to accelerate decades-long efforts to move computer science into the classroom. This initiative recognizes that all students, at every grade level, should be provided with rigorous and engaging instruction in computer science and computational thinking.

But staffing classrooms with high-quality teachers is a challenge. K-12 teachers have limited pathways to become certified computer science teachers, as detailed in testimony before the Ohio Senate. Most teachers are recruited from other content areas. They receive minimal professional development to smooth the transition or deepen their knowledge beyond the novice level. Systems that support teacher learning and growth, such as teacher preparation programs, certification and licensure, and professional development, are still in their infancy for computer science.

Teachers are the number-one school factor in student learning, so preparing and supporting high-quality teachers of computer science is critical. AIR is working with states, districts, and teachers to implement and test three promising strategies to strengthen teacher preparation and development:

Virtual Communities Connect, Cultivate, and Challenge Teachers

In virtual communities, people can connect with content, resources, peers, and experts around common interests and ideas. In the education field, AIR studies virtual communities to develop evidence-based practices for designing, implementing, and supporting online engagement and learning.

AIR's CS for All Teachers is a vibrant virtual community of practice for all teachers from preK through high school who are interested in teaching computer science. The research-based community is a free, online home for teachers to connect, learn new instructional strategies, attend virtual events, and access more than 1,100 crowdsourced resources. Virtual group space allows teachers to participate in interest-based discussions and forums. CS for All Teachers began as a space for high school teachers, but it has expanded to elementary and middle school teachers, who often venture into computer science as a way to integrate computational thinking into traditional content areas.

Teachers are not on their own in this community. A team of expert facilitators and computing professionals guide teachers' learning. AIR provides leadership training for cohorts of teacher leaders to become community ambassadors who cultivate and challenge their peers. These community ambassadors help AIR staff generate ideas for webinars, Twitter chats, curated resource collections, blogs, and online discussions.

Jennifer Vermillion, a mid-career teacher in Virginia, found a "safe place" in CS for All Teachers when she learned she had to teach a year-long, honors-level computer science course. She began as a complete novice to computer science, gaining confidence as she asked questions and discovered quality resources and ideas through CS for All Teachers to enrich her practice. She's now a community ambassador-and she no longer feels like an "imposter" teacher of computer science. In fact, her students are thriving, and some have won national computer science competitions. She has expanded computer science learning opportunities for younger students in her school and community as well.

"Jennifer is the quintessential teacher leader," says Melissa Rasberry, senior education consultant at AIR. "She saw a need to further her learning and took it upon herself to seek out resources to improve her practice. As a result, her students now benefit from the wisdom she gathers from more than 6,500 of her colleagues in the CS for All Teachers community."

Micro-credentials Personalize Professional Development

Micro-credentials are an innovative alternative to traditional one-size-fits-all, "sit and get" workshop-style professional development activities, which are proving to be ineffective in changing teaching practice and which most teachers don't want anymore, according to research conducted by AIR for the U.S. Department of Education and by the Bill & Melinda Gates Foundation and the National Comprehensive Center for Teacher Quality.

"We're learning from our research that a micro-credential can't be stand-alone professional development. Teachers need support to persist and complete micro-credentials."

- Melissa Rasberry

This approach allows teachers to learn and demonstrate competency in discrete skills, receive feedback from an outside evaluator, and earn recognition for mastery, known as a micro-credential. Some micro-credentialing organizations award teachers with a digital or physical badge that they can share publicly and with employers. Teachers can earn a micro-credential for a single skillset, or multiple ones from a "stack" of related micro-credentials, giving teachers opportunities to highlight specific competencies that wouldn't otherwise be professionally recognized.

Research-based micro-credentials focus on active, job-embedded, sustained learning that is relevant to teachers' classroom practices. Teachers develop and demonstrate competencies in the course of lesson planning, instructional delivery, reflection, and a portfolio of evidence, such as student work, learning data, interviews of students, and short videos of teaching practice. To earn a micro-credential, teachers submit their portfolios to trained, independent evaluators, who use a rubric to review the evidence and provide teachers with feedback. The organization that issues the micro-credential then determines whether to award it.

AIR has developed micro-credentials for teachers of computer science now available on BloomBoard's platform, and in collaboration with states like Wyoming, which was awarded a federal Perkins grant to strengthen computer science across the state. AIR's micro-credentials are based on the K-12 Computer Science Framework, which outlines foundational computer science concepts and computational thinking practices.

"Micro-credentials present a personalized option for professional development, allowing teachers to 'pick their own adventure' for their needs and interests, aligned with their school or district priorities," says Joseph P. Wilson, senior education technical assistance consultant at AIR. "Teachers can build on a lesson they've delivered, select a computer science topic, and redesign that lesson to more intentionally incorporate a computational thinking practice, such as using algorithms or abstraction."

"We're also learning from our research that a micro-credential can't be stand-alone professional development," Rasberry says. "Teachers still need support, whether virtually or in-person, to persist and complete micro-credentials. They also value incentives, such as compensation and credit toward recertification requirements."

Researcher-Practitioner Partnerships: A New Way to Develop Teachers' Skills

Researcher-practitioner partnerships are an emerging approach to professional development in which researchers and educators work as equal partners on complex and persistent problems of practice.

AIR supports researcher-practitioner partnerships that adhere to the promising, research-based networked improvement communities model. Researchers and teachers carry out Plan-Do-Study-Act cycles of improvement, using iterative, rapid-cycle testing of instructional routines. They meet regularly to determine root causes of a problem, pick a factor on which to focus, try out an intervention that might make a difference, and review data and observations to understand strengths and weaknesses of the intervention. Then they decide whether to adjust their strategy or try a new one, going through this process repeatedly.

"AIR's first researcher-practitioner partnership in computer science focuses on bringing computational thinking into elementary school classrooms, primarily in math and science instruction," Wilson says. AIR researchers, Michigan State University researchers, and staff at Oakland Schools, a regional service agency in Michigan, have been collaborating for several years with teachers in several schools in the region.

It's an "incredibly collaborative space," Rasberry says. "Computers scientists say, 'This content is really important.' Social scientists say, 'This content needs to be is equitable, rigorous, and sustainable to implement.' Teachers say, 'I see that this is important, but we need time and resources to understand this.' Everyone puts on their construction hats and says, 'Let's try this.'" The partnerships bring together diverse groups of people, in terms of personal and professional identity, to understand what works, to what extent, and for whom, in local contexts. AIR's work will contribute to the nascent evidence of the effectiveness of researcher-practitioner partnerships.

The Future of Computer Science Education
Learn More
is a central resource for individuals and organizations interested in K-12 computer science education. Videos of featured speakers from annual summits are available on the CSforALL website.
In the future, Rasberry and Wilson say they expect to see more efforts to support professional preparation and ongoing learning for teachers of computer science. For states and districts, this means building formal systems and processes-higher education programs, requirements for teacher licensure and recertification, professional development, revised standards, and standardized assessments. Additionally, it will be important to provide equitable access to high-quality instruction.

"There's a big question in the field," Wilson says. "What specific content should students learn at each level? A framework and standards exist now, but the field is changing by the second. We're already seeing a big push to move toward learning more about so many more topics, like artificial intelligence and ethics of computer science.

"Standardized assessment is another big issue," Wilson adds. "How do states and districts assess computer science knowledge and skills beyond formative assessments, in a way that is valid and reliable? This doesn't exist yet. Assessment is going to be very hard. Will we measure students' thought processes? End products of a specific context or concept? Is the interest in creating more computer scientists, or a technology-literate population? States will have to come to terms with these questions."

To make CS for All a reality, schools, districts, states, and national entities must work together to build a strong ecosystem for computer science education. "We have built a great foundation," Rasberry notes. "The momentum in the computer science movement is building and the demand is clear. Now we must get all stakeholders on board to help build a cohesive preK-12 pipeline with a cadre of teachers prepared to teach students the computer science and computational thinking skills they need for success in the 21st century economy."

# data[].attributes.attachment_link.title
Three Strategies for Preparing Teachers of Computer Science

# data[].attributes.attachment_link.description
Teachers are the number-one factor in student learning, so preparing and supporting high-quality teachers of computer science is critical. AIR is working with states, districts, and teachers to implement and test three promising strategies to strengthen teacher preparation and development:

# data[].attributes.body
Connecting to other content fields

# data[].attributes.body
This crosswalk was crowdsourced through the SDCOE Computer Science Golden Pathways CoP. There are many more connections! If you find a good one, share with mark.lantsberger@sdcoe.net

# data[].attributes.body
This crosswalk was crowdsourced through the SDCOE Computer Science Golden Pathways CoP. There are many more connections! If you find a good one, share with mark.lantsberger@sdcoe.net

# data[].attributes.attachment_link.title
9-12 CS Specialty + CTE ICT XWalk-Specialty

# data[].attributes.body
An outline doc to help navigate the State Guidance on the tile below this one.

# data[].attributes.body
Official State Guidance from California

# data[].attributes.attachment_link.title
Learning With AI, Learning About AI - Professional Learning (CA Dept of Education)

# data[].attributes.attachment_link.description
Information regarding the role of artificial intelligence (AI) in California K12 education.

# data[].attributes.body
An easy to read and follow guide from MIT

# data[].attributes.body
AI Literacy framework from code.org and the European Commission

# data[].attributes.body
One (of many) Prompt Guides