In this lesson, learners of all ages get an introductory experience with …
In this lesson, learners of all ages get an introductory experience with coding and computer science in a safe, supportive environment. This lesson has been designed for young learners, ages 4-10, but can be adapted for older learners using the differentiation suggestions provided.
In this lesson, learners of all ages get an introductory experience with …
In this lesson, learners of all ages get an introductory experience with coding and computer science in a safe, supportive environment. This lesson has been designed for learners in the middle grades, ages 10-13, but can be adapted for younger or older learners using the differentiation suggestions provided. Students should have a basic understanding of simple geometry and drawing angles.
In this lesson, learners get an introductory experience with computer science and …
In this lesson, learners get an introductory experience with computer science and create a game using basic block code.This lesson has been designed for learners in the middle grades, ages 10-16, but can be adapted for younger or older learners using the differentiation suggestions provided.
In this lesson, learners get an introductory experience with computer science and …
In this lesson, learners get an introductory experience with computer science and create a game using basic block code.This lesson has been designed for learners in the middle grades, ages 10-16, but can be adapted for younger or older learners using the differentiation suggestions provided.
In this lesson, learners of all ages get an introductory experience with …
In this lesson, learners of all ages get an introductory experience with coding and computer science in a safe, supportive environment. This lesson has two versions.
**Option 1: Blocks**
The first option uses drag-drop blocks. This version works best for:
- Students on mobile devices without keyboards - Younger students (6+ because the tutorial requires reading) - International students
We recommend this for international students because JavaScript syntax is not translated and for the first Hour of Code, the translated blocks provide a better introduction.
**Option 2: JavaScript**
This option teaches the same basic concepts, but because it uses both drag-drop blocks and JavaScript, the students need to be able to type on a keyboard. For older students on computers, learning JavaScript can be fun and provide an additional challenge. This version of the tutorial is also great if you have some students in your class who have already learned some coding. It is recommended for ages 11+.
In this lesson, learners of all ages get an introductory experience with …
In this lesson, learners of all ages get an introductory experience with coding and computer science in a safe, supportive environment. This lesson works well for any students old enough to read (ages 6+). Younger learners will probably not finish the tutorial, but will have lots of fun working through the puzzles for an hour. High school students will mostly finish the tutorial and have some time to play on the free play level at the end.
**Tutorial Summary:** This tutorial is designed to quickly introduce the App Lab …
**Tutorial Summary:** This tutorial is designed to quickly introduce the App Lab programming environment as a powerful tool for building and sharing apps. The tutorial itself teaches students to create and control buttons, text, images, sounds, and screens in JavaScript using either blocks or text. At the end of the tutorial students are given time to either extend a project they started building into a "Choose Your Own Adventure", "Greeting Card", or "Personality Quiz" app. They can also continue on to build more projects featured on the code.org/applab page.
**Age Appropriateness:** The tutorial is designed for students over 13. Because it allows students to upload custom sounds and images, young students should not use this without supervision. To protect students privacy, if your students are under 13, they will not be able to use this tutorial unless you first set up accounts for them in a section you manage.
**Checking Correctness:** This tutorial will not tell students whether they completed the level correctly. Encourage students to use the target images and directions provided in every level to know if they are on the right track. If students want to move on past a particularly tricky level they can simply click "Finish" and continue on.
Have fun completing your Hour of Code with App Lab!
In this lesson, learners of all ages get an introductory experience with …
In this lesson, learners of all ages get an introductory experience with coding and computer science in a safe, supportive environment. This lesson has been designed for learners of all ages but does require reading. This activity requires sound as the tool was built to respond to music.
This activity will begin with a short review of "My Robotic Friends," …
This activity will begin with a short review of "My Robotic Friends," then will quickly move to a race against the clock, as students break into teams and work together to write a program one instruction at a time.
At some point we reach a physical limit of how fast we …
At some point we reach a physical limit of how fast we can send bits and if we want to send a large amount of information faster, we have to find a way to represent the same information with fewer bits - we must **compress** the data. In this lesson, students will use the Text Compression Widget to compress segments of English text by looking for patterns and substituting symbols for larger patterns of text.
In this lesson, students are introduced to the need for encryption and …
In this lesson, students are introduced to the need for encryption and simple techniques for breaking (or cracking) secret messages. Students try their own hand at cracking a message encoded with the classic Caesar cipher and also a Random Substitution Cipher. Students should become well-acquainted with idea that in an age of powerful computational tools, techniques of encryption will need to be more sophisticated. The most important aspect of this lesson is to understand how and why encryption plays a role in all of our lives every day on the Internet, and that making good encryption is not trivial. Students will get their feet wet with understanding the considerations that must go into making strong encryption in the face of powerful computational tools that can be used to crack it. The need for secrecy when sending bits over the Internet is important for anyone using the Internet.
Students will learn that events are a useful way to control when …
Students will learn that events are a useful way to control when an action happens, and can even be used to make make multiple things act in sync. In programming, you can use events to respond to a user controlling it (like pressing buttons or clicking the mouse). Events can make your program more interesting and interactive.
This illustrated essay from A Science Odyssey Web site explains the science …
This illustrated essay from A Science Odyssey Web site explains the science behind radio waves, including the role of electrons and electromagnetic fields.
Python is an extremely readable and versatile programming language. Written in a …
Python is an extremely readable and versatile programming language. Written in a relatively straightforward style with immediate feedback on errors, Python offers simplicity and versatility, in terms of extensibility and supported paradigms.
The goal of this book is to teach you to think like …
The goal of this book is to teach you to think like a computer scientist. I like the way computer scientists think because they combine some of the best features of Mathematics, Engineering, and Natural Science. Like mathematicians, computer scientists use formal languages to denote ideas (specifically computations). Like engineers, they design things, assembling components into systems and evaluating trade offs among alternatives. Like scientists, they observe the behavior of complex systems, form hypotheses, and test predictions.The single most important skill for a computer scientist is problem-solving. By that I mean the ability to formulate problems, think creatively about solutions, and express a solution clearly and accurately. As it turns out, the process of learning to program is an excellent opportunity to practice problem-solving skills. That’s why this chapter is called “The way of the program.”
Python is a fun and extremely easy-to-use programming language that has steadily …
Python is a fun and extremely easy-to-use programming language that has steadily gained in popularity over the last few years. Developed over ten years ago by Guido van Rossum, Python's simple syntax and overall feel is largely derived from ABC, a teaching language that was developed in the 1980's. However, Python was also created to solve real problems and it borrows a wide variety of features from programming languages such as C++, Java, Modula-3, and Scheme. Because of this, one of Python's most remarkable features is its broad appeal to professional software developers, scientists, researchers, artists, and educators. 278 page pdf file.
This interactive book is a product of the Runestone Interactive Project at …
This interactive book is a product of the Runestone Interactive Project at Luther College, led by Brad Miller and David Ranum. There have been many contributors to the project. Our thanks especially to the following:
This book is based on the Original work by: Jeffrey Elkner, Allen B. Downey, and Chris Meyers
Activecode based on Skulpt
Codelens based on Online Python Tutor
Many contributions from the CSLearning4U research group at Georgia Tech.
ACM-SIGCSE for the special projects grant that funded our student Isaac Dontje Lindell for the summer of 2013.
NSF
The Runestone Interactive tools are open source and we encourage you to contact us, or grab a copy from GitHub if you would like to use them to write your own resources.
Dordal, P., An Introduction to Computer Networks, Release 1.9.16, 2019. http://intronetworks.cs.luc.edu/current/ComputerNetworks.pdf
Course description: A comprehensive examination of how computers can be linked together to share resources and information. Emphasis will be given to understanding packet switched networks and how they enable contemporary enterprises. Topics include network hardware, software and protocols. Prerequisites: CS13X or CS161 (or concurrent).
Learning Outcomes: After completing this course: Students will have practical experience using protocols to enable communication between computing devices connected to each other, Students will have configured an IT infrastructure solution for a small organization, including a network based on standard technology components, servers, security devices, and several different types of computing clients, Students will apply core concepts underlying IP networks to solve simple network design problems, including IP subnetting.
This lesson focuses on using psuedo code to understand nested conditional statements. …
This lesson focuses on using psuedo code to understand nested conditional statements. It includes two activities that can be used together for a full lesson or separated in to two supplemental activities to lessons you already do in the classroom.
No restrictions on your remixing, redistributing, or making derivative works. Give credit to the author, as required.
Your remixing, redistributing, or making derivatives works comes with some restrictions, including how it is shared.
Your redistributing comes with some restrictions. Do not remix or make derivative works.
Most restrictive license type. Prohibits most uses, sharing, and any changes.
Copyrighted materials, available under Fair Use and the TEACH Act for US-based educators, or other custom arrangements. Go to the resource provider to see their individual restrictions.