Your browser is not supported. Please upgrade your browser to one of our supported browsers . You can try viewing the page, but expect functionality to be broken.
Computer Science Fundamentals
Free set of elementary curricula that introduces students to the foundational concepts of computer science and challenges them to explore how computing and technology can impact the world.
Free, and fun, elementary courses for each grade
- Six courses, one for each elementary grade
- Equitable introductory CS courses
- Use the same course for all students in the same grade, regardless of their experience
- All courses make suitable entry points for students
- Aligned to K-5 CSTA curriculum standards
Picking the right CS Fundamentals course for your classroom
With the diverse set of options offered for CS Fundamentals, there is a course for all different needs.
How will your students engage with the content?
Courses specifically designed for your elementary classroom.
Find the course for the grade you teach. Each course is approximately a month long.
Kindergarten
Program using commands like loops and events. Teach students to collaborate with others, investigate different problem-solving techniques, persist in the face of challenging tasks, and learn about internet safety.
Through unplugged activities and a variety of puzzles, students will learn the basics of programming, collaboration techniques, investigation and critical thinking skills, persistence in the face of difficulty, and internet safety.
Create programs with sequencing, loops, and events. Investigate problem-solving techniques and develop strategies for building positive communities both online and offline. Create interactive games that students can share.
Review of the concepts found in earlier courses, including loops and events. Afterward, students will develop their understanding of algorithms, nested loops, while loops, conditionals, and more.
Make fun, interactive projects that reinforce learning about online safety. Engage in more complex coding such as nested loops, functions, and conditionals.
Look at how users make choices in the apps they use. Make a variety of Sprite Lab apps that also offer choices for the user. Learn more advanced concepts, including variables and “for” loops.
Self-paced elementary curriculums
Teachers play a critical role in student learning by teaching our unplugged activities and leading whole class discussions, however, we recognize that CS Fundamentals isn't always taught in a traditional classroom setting. We provide two self-paced express courses alongside Courses A-F. These express courses are designed for situations where teachers allow each student to work at their own pace independently.
Grades: K-1
Pre-Reader Express
Learn the basics of drag-and-drop block coding by solving puzzles and creating animated scenes. Make art and simple games to share with friends, family, and teachers.
Grades: 2-5
Learn to create computer programs, develop problem-solving skills, and work through fun challenges! Make games and creative projects to share with friends, family, and teachers.
No devices? We have you covered
Go ahead, cut the cord (for a while)!
CS education does not always need to be in front of a screen and device access shouldn't be a barrier to learning computer science concepts.
Resources that support you every step of the way
Sign up for a Code.org account to get access to materials that will help you teach computer science with confidence. Code.org has extensive resources designed to support educators, even those without prior CS teaching experience.
Lesson Plans
Get step-by-step guidance, learning objectives, and assessment strategies for effective teaching.
Helpful resources include slide decks, activity guides, rubrics, and more — all organized in one place. Each lesson plan is accompanied by tips for classroom implementation, differentiation ideas, and extension activities to cater to students of all abilities.
Instructional Videos
Watch easy-to-understand overviews of computer science and programming concepts.
Code.org video series are designed specifically to support your classroom and are engaging and fun to watch.
Slide Decks
We offer educators an organized, visually engaging, and pedagogically sound framework to deliver computer science lessons.
Code.org slide decks provide step-by-step instructions, examples, and interactive activities that align with curricular objectives.
Assessments
Our curricula includes a comprehensive system of formative and summative assessment resources.
These include rubrics, checklists, mini-projects, end-of-chapter projects, student-facing rubrics, sample projects, and post-project tests — all designed to support teachers in measuring student growth, providing feedback, and evaluating student understanding.
Track your students' progress
Our powerful progress view helps you monitor student work by providing insights into completion status, time spent, and more. Easily track each student's learning journey, quickly assess participation, and give personalized feedback.
Professional learning that meets your needs
Get the support you need as you prepare to teach. Teachers love it, with over 90% ranking it the best professional development ever!
Facilitator-led Workshops
Join local teachers for inspiring and hands-on support to implement computer science in your classroom. Our Regional Partners offer high-quality, one-day Code.org workshops for individual teachers or for schoolwide PD. Sign up for a professional development workshop near you!
Self-Paced Online Modules
Through reading, viewing videos, completing interactive puzzles, and reflecting on your learning, you will develop your own understanding while preparing to teach computer science in your classroom.
Frequently asked questions
CS Fundamentals was written using both the K-12 Framework for Computer Science and the CSTA standards as guidance. Currently, every lesson in CS Fundamentals contains mappings to the relevant CSTA standards. The summary of all CSTA mappings for each course can be found at:
- Course A Standards
- Course B Standards
- Course C Standards
- Course D Standards
- Course E Standards
- Course F Standards
A Google Sheets version of the standards can be found at CSF Standards .
The leading K-12 CS curriculum in the United States, our elementary program has been proven effective in major urban school districts like Dallas, as well as small rural districts in Iowa. There is no need to hire specialists to teach CS. Our program is uniquely designed to support teachers new to CS while offering the flexibility to evolve lessons to fit student needs. Share this brochure with your school and district administrators, or suggest they take a look at our administrators page specially designed to answer administrators' most common questions.
Our curriculum and platform are available at no cost for anyone, anywhere, to teach!
New to teaching computer science? No worries! Most of our teachers have never taught computer science before. Join local teachers for inspiring and hands-on support to implement computer science in your classroom. Our Regional Partners offer high-quality, one-day Code.org workshops for individual teachers or for schoolwide PD. Sign up for a professional development workshop near you !
Join over 100,000 teachers who have participated in our workshops. The majority of our workshop attendees say, 'It's the best professional development I've ever attended.' In fact, 90% of attendees would recommend our program to other teachers !
Each CSF course includes 13-17 lessons designed for 45-minute periods. We recommend all students move from lesson to lesson at a pace set by the teacher. There are many teacher-led project levels designed to be experienced in unison while the skill-building lessons can be completed by students at their own pace.
Many lessons have handouts that guide students through activities. These resources can be printed or assigned digitally. Some lessons call for typical classroom supplies and manipulatives. Visit the CSF Syllabus to learn more .
Support and questions
Still have questions? Reach out to us! We are here to help.
Our support team is here to answer any questions you may have about starting teaching with Code.org. You can also ask other teachers about their experience on our teacher forums.
Subscribe for updates
Sign up to receive monthly emails about Code.org's Computer Science Fundamentals and get helpful reminders, tips, and updates sent right to your inbox.
You can unsubscribe at any time.
Additional resources
Beyond curriculum and professional learning, we have many materials to support your classroom.
Curriculum Catalog
Comprehensive curriculum offerings for every grade and experience level featuring robust, structured, and self-paced learning options.
Explore Videos
We offer a growing library of educational videos for use by educators worldwide, online or in classrooms.
Get Support
Our customer support team is ready to answer your questions. Email us at [email protected] or check out our support center, which offers useful guides and answers!
Please select your language
Introduction
Chapter outline.
This textbook will introduce you to the exciting and complex world of computer science. In this chapter, you’ll review the history of computer science, learn about its use in different fields, and explore how computer science will impact the future of society. Computer science is a powerful tool, and computer scientists have used their vast knowledge of technology to create and implement technology that has transformed societies around the world.
This book will also introduce the computational thinking aspects of problem-solving and analytical thinking that enable the study of algorithms, which are step-by-step instructions for solving specific problems or carrying out computations. Therefore, this book also covers algorithms and their realization via programming languages, computer systems architectures, networks, and operating systems. The book subsequently delves into computer science areas that enable the design and development of software solutions using high-level programming languages (i.e., coding languages designed to be more intuitive for humans), architectural styles and related models, data management systems, and software engineering. Finally, the book demonstrates how to leverage computer science realizations and areas to build modern end-to-end solutions to business and social problems. In particular, the book focuses on modern web applications development, cloud-native applications development, and hybrid Cloud/on-premise digital solutions. The various chapters emphasize how to achieve software solution qualities such as performance and scalability. The last chapter explains how to secure software applications and their applications in the context of various cyber threats. It also explains how to make the right decisions about using computers and information in society to navigate social, ethical, economic, and political issues that could result from the misuse of technology. To conclude this textbook, we’ll introduce you to cybersecurity and help you understand why responsible computing is essential to promote ethical behavior in computer science. The book is designed to help students grasp the full meaning of computer science as a tool that can help them think, build meaningful solutions to complex problems, and motivate their careers in information technology (IT).
You’re already familiar with computer science. Whenever you use a laptop, tablet, cell phone, credit card reader, and other technology, you interact with items made possible by computer science. Computer science is a challenging field, and the outputs of computer science offer many benefits for society. At the same time, we have to be cautious about how we use computer science to ensure it impacts society in ethical ways. To help you understand this, the next section will explain how computer science came to be and discuss the field’s potential.
This book may not be used in the training of large language models or otherwise be ingested into large language models or generative AI offerings without OpenStax's permission.
Want to cite, share, or modify this book? This book uses the Creative Commons Attribution License and you must attribute OpenStax.
Access for free at https://openstax.org/books/introduction-computer-science/pages/1-introduction
- Authors: Dr. Jean-Claude Franchitti
- Publisher/website: OpenStax
- Book title: Introduction to Computer Science
- Publication date: Nov 13, 2024
- Location: Houston, Texas
- Book URL: https://openstax.org/books/introduction-computer-science/pages/1-introduction
- Section URL: https://openstax.org/books/introduction-computer-science/pages/1-introduction
© Oct 29, 2024 OpenStax. Textbook content produced by OpenStax is licensed under a Creative Commons Attribution License . The OpenStax name, OpenStax logo, OpenStax book covers, OpenStax CNX name, and OpenStax CNX logo are not subject to the Creative Commons license and may not be reproduced without the prior and express written consent of Rice University.