Students develop an app for an Android device that utilizes its built-in internal sensors, specifically the accelerometer. The goal of this activity is to teach programming design and skills using MIT's App Inventor software (free to download from the Internet) as the vehicle for learning. The activity should be exciting for students who are interested in applying what they learn to writing other applications for Android devices. Students learn the steps of the engineering design process as they identify the problem, develop solutions, select and implement a possible solution, test the solution and redesign, as needed, to accomplish the design requirements.
Students will take a sequence of events or steps for some process and create an algorithm. This could apply to any content area. They will display the algorithm in flowchart form. This activity can be modified for all grade levels and content areas.
Students will plan and build their own game using the project guide from the previous two lessons to guide their project. Working individually or in pairs, students will first decide on the type of game they'd like to build, taking as inspiration a set of sample games. They will then complete a blank project guide where they will describe the game's behavior and scope out the variables, sprites, and functions they'll need to build. In Code Studio, a series of levels prompts them on a general sequence they can use to implement this plan. Partway through the process, students will share their projects for peer review and will incorporate feedback as they finish their game. At the end of the lesson, students will share their completed games with their classmates. This project will span multiple classes and can easily take anywhere from 3-5 class periods.
To conclude their study of big data and cryptography, students will complete a small research project related to a dilemma presented by Big Data or Cybersecurity, in the form of a Practice Performance Task. Students will pick one of two issues to research more deeply - either an issue related to big data, or one related to cybersecurity. Students will need to identify appropriate online resources to learn about the functionality, context, and impact of the technological innovation that gave rise to the dilemma they are investigating. After completing their research, students will present their findings both in a written summary and with an audio / visual artifact they found online. The written components students must complete are similar to those students will see in the AP Performance Tasks.
This project is an opportunity to practice many of the skills students will use when completing the Explore Performance Task on the AP® Exam at the end of the year. While an open-ended research project might be intimidating, students have built all the skills they need to complete this task.
**Note:** This is NOT the official AP® Performance Task that will be submitted as part of the Advanced Placement exam; it is a practice activity intended to prepare students for some portions of their individual performance at a later time.
**Note for 2017-18 School Year:** This Practice PT has NOT been updated to reflect changes to the [Explore PT Scoring Guidelines](https://apcentral.collegeboard.org/pdf/2018-explore-performance-tasks-sg.pdf) released in Fall 2017. We recommend you review those guidelines to understand the similarities between this project and the actual Explore PT.
Students learn about various types of cybercrimes and the cybersecurity measures that can help prevent them. Then students perform a Rapid Research project investigating a particular cybercrime event with a particular focus on the data that was lost or stolen and the concerns that arise as a result. The Rapid Research activity features vocabulary, concepts, and skills that should help prepare them for the AP Explore PT, and also serves as a capstone for the sequence of lessons on encryption and security.
In this lesson, students examine a classic problem in computer science, the Traveling Salesperson Problem (TSP). Students solve small instances of the problem, try to formulate algorithms to solve it, and discuss why these algorithms take a long time for computers (and humans) to compute. Students see how the TSP grows in size much faster than the problem of adding characters to a password. Even though we use encryption to motivate a desire to learn about computationally hard problems, they are valuable to know about, in and of themselves. This lesson covers some territory about how we reason formally and mathematically about algorithms and figuring out how “hard” something is for a computer to do.
This lesson attempts to walk students through the iterative development process of building an app (basically) from scratch that involves the use of `if` statements. Following an imaginary conversation between two characters - Alexis and Michael - students follow the problem solving and program design decisions they make for each step of constructing the app. Along the way they decide when and how to break things down into functions, and of course discuss the logic necessary to make a simple game.
The last step - writing code that executes an end-of-game condition - students must do on their own. How they decide to use `if` statements to end the game will require some creativity. The suggested condition - first to score 10 points - is subtly tricky and can be written many different ways.
At the conclusion of the lesson there are three practice Create PT-style questions as well as resources explaining the connection between this lesson and the actual Create PT. Depending on how you use these materials they can easily add an additional day to this lesson.
This lesson gets into the basic mechanics of working with variables in programs. The lesson shows students how to create and assign values to variables and navigates through a series of common misconceptions about variables and how they work. Along the way, the lesson tries to build up the student’s mental model of how computers and programs work, which is essential for being able to reason about programs.
This lesson uses the [r create-pt-survival-guide] as the backbone for a series of activities to ramp up to doing the actual Create PT. It contains activities to help students understand the algorithm and abstraction requirements of the task, as well as activities to help them narrow down and brainstorm ideas for their actual project.
The lesson concludes by providing students with resources to make a plan to complete the task staring in the next lesson.
DescriptionOverview: This lesson allows students to work on their keyboarding skills while creating pieces of music. Students can choose classiccal music, current hits, or just play around with the keyboard. Students will then be able to create an app using Code.org's AppLab that uses a recording of the music they play.Subject:Computer Science, Business and Communication Level:Middle School, High School Grades:Grade 7, Grade 8, Grade 9, Grade 10, Grade 11, Grade 12 Material Type:Lesson Plan Author:Jennifer Clark Date Added:04/06/2019License: Creative Commons Attribution-NonCommercial 4.0 Language:English Media Format:Downloadable docs, Interactivehttps://www.oercommons.org/courseware/lesson/53119/overview
Exploring Computer Science is a yearlong course developed around a framework of both computer science content and computational practice. Assignments and instruction are contextualized to be socially relevant and meaningful for diverse students. Units utilize a variety of tools/platforms and culminate with final projects around Human-Computer Interaction, Problem Solving, Web Design (HTML, CSS), Programming (Scratch, Edware), Computing & Data Analysis, and Robotics. ECS is recognized nationally as a preparatory course for AP Computer Science Principles. Watch this video and view this fact sheet for more information.
This course is intended to assist undergraduates with learning the basics of programming in general and programming MATLAB in particular.
LEGO® robotics uses LEGO®s as a fun tool to explore robotics, mechanical systems, electronics, and programming. This seminar is primarily a lab experience which provides students with resources to design, build, and program functional robots constructed from LEGO®s and a few other parts such as motors and sensors.
Students design, build and evaluate a spring-powered mouse trap racer. For evaluation, teams equip their racers with an intelligent brick from a LEGO© MINDSTORMS© EV3 Education Core Set and a HiTechnic© acceleration sensor. They use acceleration data collected during the launch to compute velocity and displacement vs. time graphs. In the process, students learn about the importance of fitting mathematical models to measurements of physical quantities, reinforce their knowledge of Newtonian mechanics, deal with design compromises, learn about data acquisition and logging, and carry out collaborative assessment of results from all participating teams.
Prediction is at the heart of almost every scientific discipline, and the study of generalization (that is, prediction) from data is the central topic of machine learning and statistics, and more generally, data mining. Machine learning and statistical methods are used throughout the scientific world for their use in handling the "information overload" that characterizes our current digital age. Machine learning developed from the artificial intelligence community, mainly within the last 30 years, at the same time that statistics has made major advances due to the availability of modern computing. However, parts of these two fields aim at the same goal, that is, of prediction from data. This course provides a selection of the most important topics from both of these subjects.
DescriptionOverview: Lesson focuses on how software engineers design computer games and other software. Student teams work together to develop a simple computer program using free software that is available in multiple languages. Teams evaluate the games developed by other teams and present findings to the class.
This lesson was remixed from a lesson on code.org: Graph Paper ProgrammingThis resource was remixed to become an unplugged (no device needed) activity that can be done with adults and students to learn how to develop an algorithm and encode it into a program.The goal of this activity is to build critical thinking skills and excitement for the computer science.