Students analyze a cartoon of a Rube Goldberg machine and a Python …
Students analyze a cartoon of a Rube Goldberg machine and a Python programming language script to practice engineering analysis. In both cases, they study the examples to determine how the different systems operate and the function of each component. This exercise in juxtaposition enables students to see the parallels between a more traditional mechanical engineering design and computer programming. Students also gain practice in analyzing two very different systems to fully understand how they work, similar to how engineers analyze systems and determine how they function and how changes to the system might affect the system.
Working in small groups, students complete and run functioning Python codes. They …
Working in small groups, students complete and run functioning Python codes. They begin by determining the missing commands in a sample piece of Python code that doubles all the elements of a given input and sums the resulting values. Then students modify more advanced Python code, which numerically computes the slope of a tangent line by finding the slopes of progressively closer secant lines; to this code they add explanatory comments to describe the function of each line of code. This requires students to understand the logic employed in the Python code. Finally, students make modifications to the code in order to find the slopes of tangents to a variety of functions.
New Edition! The goal of this book is to provide an Informatics-oriented …
New Edition! The goal of this book is to provide an Informatics-oriented introduction to programming. The primary difference between a computer science approach and the Informatics approach taken in this book is a greater focus on using Python to solve data analysis problems common in the world of Informatics.
Students write Arduino code and use a “digital sandbox” to create new …
Students write Arduino code and use a “digital sandbox” to create new colors out of the three programming primary colors: green, red and blue. They develop their own functions, use them to make disco light shows, and vary the pattern and colors of their shows. The digital sandbox is a hardware and software learning platform powered by a microcontroller that can interact with real-world inputs like light, while at the same time controlling LEDs and other outputs.
A collection of resources related to Ada Lovelace and the Raspberry Pi. …
A collection of resources related to Ada Lovelace and the Raspberry Pi. Includes Sonic Pi workshop handbook, LEGO Raspberry Pi enclosure workshop handbook and a colouring-in illustration.
Creative Commons Attribution-ShareAlike 4.0 International License.
Through the two lessons and five activities in this unit, students' knowledge …
Through the two lessons and five activities in this unit, students' knowledge of sensors and motors is integrated with programming logic as they perform complex tasks using LEGO MINDSTORMS(TM) NXT robots and software. First, students are introduced to the discipline of engineering and "design" in general terms. Then in five challenge activities, student teams program LEGO robots to travel a maze, go as fast/slow as possible, push another robot, follow a line, and play soccer with other robots. This fifth unit in the series builds on the previous units and reinforces the theme of the human body as a system with sensors performing useful functions, not unlike robots. Through these design challenges, students become familiar with the steps of the engineering design process and come to understand how science, math and engineering including computer programming are used to tackle design challenges and help people solve real problems. PowerPoint® presentations, quizzes and worksheets are provided throughout the unit.
This unit is designed for advanced programming classes. It leads students through …
This unit is designed for advanced programming classes. It leads students through a study of human vision and computer programming simulation. Students apply their previous knowledge of arrays and looping structures to implement a new concept of linked lists and RGB decomposition in order to solve the unit's Grand Challenge: writing a program to simulate peripheral vision by merging two images. This unit connects computer science to engineering by incorporating several science topics (eye anatomy, physics of light and color, mathematics, and science of computers) and guides students through the design process in order to create final simulations.
Students work as if they are electrical engineers to program a keyboard …
Students work as if they are electrical engineers to program a keyboard to play different audible tones depending on where a sensor is pressed. They construct the keyboard from a soft potentiometer, an Arduino capable board, and a small speaker. The soft potentiometer “keyboard” responds to the pressure of touch on its eight “keys” (C, D, E, F, G, A, B, C) and feeds an input signal to the Arduino-capable board. Each group programs a board to take the input and send an output signal to the speaker to produce a tone that is dependent on the input signal—that is, which “key” is pressed. After the keyboard is working, students play "Twinkle, Twinkle, Little Star" and (if time allows) modify the code so that different keys or a different number of notes can be played.
This is a lesson plan I designed for an Hour of Code …
This is a lesson plan I designed for an Hour of Code event. The goal is to create a program where the two characters learn about how to cross the road safely. This is a really cute project, that young programmers are sure to enjoy making. You will not need prior programming experience to teach this Hour of Code activity as ScratchJr is a very basic programming platform.Included: A .pdf and .docx version of the lesson plan.Note: You will need the ability to open .pdf or .docx files. Any modern computer can open these files, but if you have any issues with it. You can message me and I will do my best to help you.P.S. You can find more free computer science teaching resources on my site here: https://codingoverload.com/free-c-s-teaching-resources/
Students modify a provided App Inventor code to design their own diseases. …
Students modify a provided App Inventor code to design their own diseases. This serves as the evolution step in the software/systems design process. The activity is essentially a mini design cycle in which students are challenged to design a solution to the modification, implement and test it using different population patterns The result of this process is an evolution of the original app.
The Software Engineering Program (SEP) is a multi-year, comprehensive, standards-aligned computer science …
The Software Engineering Program (SEP) is a multi-year, comprehensive, standards-aligned computer science education program for grades 6 to 12. The goals of the program are:
-Increase the number of high school graduates, particularly from traditionally underrepresented groups, that are ready to pursue new and emerging technology-driven roles across industries.
-Develop student computational thinking and problem-solving skills in real-world contexts.
The SEP curriculum gives students instruction and experience in the following areas: computer programming, robotics, web design, physical computing, and game design. SEP students participate in local and central hackathons, and in work-based experiences with major industry leaders and partners.
This course on software engineering covers design and implementation of medium-scale software …
This course on software engineering covers design and implementation of medium-scale software systems, using web applications as a platform. In the course, students learn the fundamentals of structuring a web application and writing modular code, with an emphasis on conceptual design to achieve clarity, simplicity, and modularity. Topics also include functional programming, relational databases, and security.
Squeak is a modern open-source development environment for the classic Smalltalk-80 programming …
Squeak is a modern open-source development environment for the classic Smalltalk-80 programming language. Despite being the first purely object-oriented language and environment, Smalltalk is in many ways still far ahead of its successors in promoting a vision of an environment where everything is an object, and anything can change at run-time.
Students work through an online tutorial on MIT's App Inventor to learn …
Students work through an online tutorial on MIT's App Inventor to learn how to create Android applications. Using those skills, they create their own applications and use them to collect data from an Android device accelerometer and store that data to databases. NOTE: Teachers and students must have a working knowledge of basic programming and App Inventor to complete this lesson. This lesson is not an introduction to MIT's App Inventor and is not recommended for use without prior knowledge of App Inventor to produce an end product. This lesson is an application for App Inventor that allows for the storage of persistent data (data that remains in memory even if an app is closed). This required prior knowledge can come from other experiences with the App Inventor. Also, many additional resources are available, such as tutorials from MIT. This lesson could also be used as an enrichment project for students who are self-motivated to learn the App Inventor software.
This course introduces students to the principles of computation. Upon completion of …
This course introduces students to the principles of computation. Upon completion of 6.001, students should be able to explain and apply the basic methods from programming languages to analyze computational systems, and to generate computational solutions to abstract problems. Substantial weekly programming assignments are an integral part of the course. This course is worth 4 Engineering Design Points.
Students apply their knowledge of constructing and programming LEGO MINDSTORMS (TM)NXT robots …
Students apply their knowledge of constructing and programming LEGO MINDSTORMS (TM)NXT robots to create sumobots - strong robots capable of pushing other robots out of a ring. To meet the challenge, groups follow the steps of the engineering design process and consider robot structure, weight and gear ratios in their designs to make their robots push as hard as possible to force robot opponents out of the ring. A class competition serves as the final test to determine the best designed robot, illustrating the interrelationships between designing, building and programming. This activity gives students the opportunity to be creative as well as have fun applying and combining what they have learned through the previous activities and lessons in this and prior units in the series. A PowerPoint (tm) presentation, pre/post quizzes and a worksheet are provided.
A collection of programming tutorials developed by Andrew Cain, Jake Renzella, Reuben …
A collection of programming tutorials developed by Andrew Cain, Jake Renzella, Reuben Wilson, and Cliff Warren. This series steps through concepts related to procedural programming. Each video covers one concept in depth and demonstrates how you can achieve certain tasks with a programming language. Videos are broken into panels for an engaging student experience, featuring camera footage, visualisation of the computer’s memory (hand execution), and output windows. Video and audio versions are available for download, along with supplementary files.
JUnit is a testing method that is included with NetBeans (Java) installs …
JUnit is a testing method that is included with NetBeans (Java) installs or can be downloaded from the web and included in the Java build. In this activity, students design tests for a provided Java class before the class methods are constructed using a process called test-driven development. To create a design, the software/system design process, which is a specific case of the engineering design process, is followed. After students create a design, it is implemented and tested and if necessary, the design undergoes editing to make sure it functions by testing the Java class correctly. To conclude the activity, students write the methods in the Java class using their tests to debug the program.
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. This way of thinking combines 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 tradeoffs among alternatives. Like scientists, they observe the behavior of complex systems, form hypotheses, and test predictions.
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.