Checks for understanding throughout the entire process of learning to use the PyCharm IDE by using active participation in trying each step of the process and having students help their elbow partner when difficulties arise. This is the first day of a two-session lesson sequence with topics covered by mini-lectures, explorations, and practice exercises. Students will be expected to learn to identify the characteristics of describing algorithms in English, pseudocode, or a programming language.

Excel sheet summary for creating a 4-by-4 Magic Square MagicSquare4by4. Class-wide development of the graphical organizer should be facilitated with scaffolding to support students who are having difficulty with the concept. Students will research formal definitions of algorithms. These will be entered into their journals and pair-shared with a peer. Selected solutions will be "acted out" in the classroom. Journal: Describe the algorithm of another student. Is there enough detail to allow somebody to follow the steps?

Whenever you need to store information, it must go into a variable. So think about what variables might be needed when you are creating your algorithm. Selection and Iteration statements require conditionals. Identify a conditional as something that returns a True or False answer. If selects the next statement to occur by answering the conditional question as being true or false. While continues to loop as long as the conditional answer is TRUE. During powerpoint, guide students through the Game of Matching Pennies a student working copy and a solution key is in the Master Teacher Resource folder for this lesson.

Students work in pairs to create and share their pseudocode. If there is time, have groups switch algorithms and critique the algorithm of the other group. Pairing of students and crossing pairs to form groups of four should be used for the set of exercises that are part of this lesson. These will be entered into their class notes. Students will write pseudocode for determining if a year is a leap year. This will be entered into their journals. Programs can be developed to solve problems to help people, organizations or society , for creative expression, to satisfy personal curiosity or to create new knowledge.

Type up a simple "Hello World" program and get it to run. Bring in evidence that it works or write a few sentences about the issues you are having in trying to install it or write about your experience using an online IDE, or write out the code for Hello World without looking at any notes and report on how easy or hard it was to remember the details. Be careful not to make any student feel awkward for lack of a home computer they are allowed to install softare on.

As students work on tutorial, address specific issues with students who had trouble with install.

## How Does Technology Impact Your Life?

Develop the beginnings of a chat bot where the computer and user introduce themselves to each other. Extend: Give your chatbot a personality like a friend, grandfather, therapist, or child. Which type of error do you think is the hardest to detect and why? Write code to introduce yourself. Display your name. Greet and ask for three interests. Display the three interests and give a reply like "That's interesting!

In your journal, make a tree diagram, name the three types of errors, and give examples of each. Define what debugging is and give examples of the 3 categories of bugs syntax, logic semantic and runtime. Create a table of values of all types and print a copy of them on the cardstock for each group. Cut the papers up into individual cards, so each value is on its own card. Place each group's cards in a plastic bag. Students are introduced to basic programming vocabulary, including integers, floats, strings, values, and expressions.

They will work through a set of guided notes and slides, and then, be released to explore Python through an independent or paired exercise. Write a reflection on the homework from last class to write code to introduce yourself. The program should:. Check for Understanding: Have students write an integer on their paper check with their elbow partner that it is a number.

Talk about going the opposite direction float to int. Studens will complete the Exploration Worksheet which is found in the Lesson Resources folder. Students will learn to manipulate variables and value assignments through an activity in which they must become the variable. By the end of the lesson, they will have identified variables as memory locations. CFU: Why did we create the variable temp?

In reality, Python actually has a "shortcut syntax" that allows us to make this swap in one step. It looks like this:. Here, Python is doing exactly what we were doing. A version of this worksheet can be found in the Lesson Resources folder, titled "Swap to the Top". Give students a list of games that have been played by the teams on the board, and the resultant new ranking.

Have them create a piece of code that will reorganize the teams into the correct ranking. They can assume that the variables team Give them the option of doing so through the use of manipulatives, or on their own paper. What is the difference between a variable in a math class and in a computer science class? What is the difference between a float and an integer? Why would you use one instead of the other? In the left column, create a copy of the code from the activity a swap algorithm including team1 , team2 , and temp that performs the complete swap.

In the third column, the students should draw a visual of what that looks like in terms of disposable cups and index cards. They can just write the variable name on the cup, rather than drawing in a person as well. Values can be stored in variables. The content of a variable can change to different values, but its name will always be the same because the name is just an identifier of a location in memory.

Think-Pair-Share: A value is only safe and not lost to the world of cyberspace if it is in a variable. A variable can only hold one value at a time. How can we swap values between team1 and team2? Why did we create the variable temp? Task: Create a piece of code that will rearrange the ranking of the teams in order to reflect the outcome of previous games. Independent Practice. Think of a decision you make in your daily life and how you make the decision.

Teaching note: take a few minutes to have students share responses whole class, elbow partners, small groups. Materials: Two small opaque containers, one small item for each container, two post-it notes. Set-Up Directions : Set up the activity before the class arrives, following the directions below:. Briefly demonstrate how to read flowcharts while showing the example from How to Think Like a Computer Scientist. Give the students the practice problem from Independent Activity 1 below.

Have the students answer the following questions:.

### Learning Objectives

Evaluate the variable food. Students must have an understanding of using conditional statements, and have completed all the assignments from Lesson Conditional Execution Part 1. In your journal, write what will be displayed by the following code segment. How do you know your answer is correct? Show physical representation using real life example by revisiting the box example from previous lesson:.

Materials: Four small opaque containers, four small items, two opaque containers big enough to fit two small opaque containers, Six post it notes to label each container with a color. Set Up Directions : Set up the activity before the class arrives following the directions below:. Suggested Instructional Strategy - Think Aloud - model your thought process for solving this problem. Include comments in your code. If they are older than display a message that reads "humanly impossible". Assign students random numbers from 0 - Have students decide what group they belong to child, adult, senior citizen, not human and explain why they made their choice.

Both partners should be actively involved in the program development. Another method of collaboration is for each partner to develop pieces of the program, combine those pieces, and provide frequent feedback to each other during the development process. Students will create a collaborative program demonstrating concepts introduced in this two part lesson. Students will be assessed using a rubric and will reflect on their learning in their journal. Journal: Think about events in your life that require a repeated action.

They could be something simple such as eating a bowl of cereal. List two events in your life that require an action to be repeated. What is the action? What prompts the need for the action to happen? How often does the action happen? How many times do you think I will stack an object? Stack one object on your beginning object. Students should answer yes. Stack one more object on your started stack. Continue to ask if there are any single objects on the table until the stack is completed and there are no more single objects on the table.

Keep a tally of how many times you repeated the process. Did your prediction match the result? Explain to the students how the activity represents the concept of iteration and continue into the discussion of iteration. Choose one of the events you wrote about in your previous journal entry. Take a moment to write the pseudocode for the repetitive action associated with that event.

This guided activity introduces students to for loops using turtle graphics. Give students the following code stem. Have the students alter the code to perform the listed tasks. Now that you know how to add turtles and program them to draw lines repeatedly, use your imagination and creative ability to create your own picture using multiple for loops and turtles.

What problems did you encounter? What concepts do you need clarified? Students will use for loops and turtle graphics to create graphic representations of iteration. Students continue learning about iteration by using while loops and nested iteration. Students work through a guided tutorial on while loops and learn more turtle graphics features.

They also have the opportunity to practice collaboratively writing programs using for loops, while loops, and turtle graphics. Throughout the lesson, students are given the opportunity to use their journal as a reflective tool. Ideally, the students should design this program from scratch. They should think about a problem to be solved and select the appropriate iteration structure. Students will work collaboratively to develop a program that uses nested iteration and turtle graphics.

In this lesson, students learn why functions are used, how they are used, and how they are defined. Students will understand the purpose of functions and how they allow a program to be built and maintained in a modular way. They don't connect that it must be called in order to be run. Complete Exercise 2 and 3. Students should be paired through this exercise since paired discussion is used for formative assessment.

Question can be provided to students through a variety of formats including production of a Google form or using student response systems. After Activity D, Have students compare results with their elbow partners. Discuss any unresolved issues. Students work alternately between the web site, partners, and the whole group. Teachers are to monitor student responses to the questions following each activity to be sure that students are addressing the key content within each activity.

An algorithm is more than just a sequence of steps: levels of abstraction are crucial to the working of algorithms, and sequencing, iteration, and other control structures are ubiquitous. A chart on the wall, or a current calendar, could be a help. Some students who are strong in other areas will have difficulty with the spatial aspects of manipulating a cube while retaining an orientation that will let them complete the steps of one of the sub-algorithms without errors. They may need to be paired with another student or the instructor until they master the technique of holding the cube fixed while rotating a face.

The notation of face turning e. R versus R' or L versus L' can be confusing. Having the students practice with an empty jar with a lid can help. Students will translate prior pseudocode into Python routines. They will recognize if their programs work correctly. Students will deconstruct one of the Rubik's cube solution stages.

These analysis results will be shared and critiqued. In the first portion of this lesson, students continue their inquiry into the properties of functions, with a focus on communication to and from other functions. Students use their own functions to perform calculations and draw a variety of polygons and a circle using turtle graphics. Use of a format such as Google forms is sugggested for collecting student responses to the questions for each activity.

It is important to keep this portion of the class moving so students have enough time for the labs. Use a timer and have students briefly share their progress roughly every 10 minutes. Students should work in pairs as they create their programs and share the work through various completion stages. Students can investigate and implement such methods as fill , speed and others as described by the API documentation. Check for understanding by assessing student performance on the Runestone Interactive questions. Identify and address any areas discovered that students have been unable to come to a consensus understanding.

Create functions that receive parameters, perform calculations using those parameters, and return a value. Write a function to return the slope and y-intercept of a function of the line through two points.

Journal Question: Explain why the length of a string is one digit higher than the highest index value of the same string. This code sample returns 27 , indicating that the sign is at index value 27 in the string. Code checks for understanding and concept checks for understanding are provided with each new function, method, or concept introduced. Students will find the answer to this question by exploring list operations and methods, as well as investigating how lists are modeled in real-world situations. Discuss: What is a list? A sequential collection of Python data values; each value is identified by an index.

Note: You can change student names to students within your class. Check for understanding: Ask students to give an example and then explain the effect of several of the List methods. For example, students. This could be done as a placemat activity. Use different colored markers for each student to write the example. Turn placement and ask the next student to explain the effect.

Have the students do the Runestone lab activities for Lists to reinforce the above concepts. Create a list of 5 students that contain the students' name, age, and hair color. Use a loop to extract the information for each student and print it out. Try to make a story with your code. To conclude the unit, students will complete a small project as well as a written assessment. The project requires students to parse text and search through lists or words to find a specific characteristic.

Students should synthesize concepts from the previous lessons to create their first project in PyCharm. This lesson also pushes a student to think about how to design a function, and the relationship between algorithms and functions. Students work individually on the Word Play and Assessment which are found in the lesson resource folder. Allow students to continue working to the end of class on their projects; have individual check-ins with students to make sure that they are on track and have a clear idea of what they need to complete the following day.

Unit 3 Resources. Unit 3 Assessments. Use the optional Student Handout for Unit 3 Lesson 1 if desired to guide all of the activities in this lesson. Students should use the tool to come up with a question that can be answered by the tool. Students write an analysis that asks the question, answers the question and provide proof of why the answer is correct by providing screenshots of the tool in their report. Note: Students can possibly start this assignment in class, but will likely need to complete as homework.

In this activity, students will each share one thing they have learned from this lesson. This can be done in several ways depending on time constraints or disabilities. All students should participate in some way before leaving the classroom. Using a real-time network tool that measures the number of views per minute, students generate a question that can be answered using this tool. They will then collect the data and write a report that answers this question. Over the years, it has grown from being a representation of static content, to web 2. The Internet is an ever-evolving system of increasing complexity.

It has evolved from representing static information to providing interactivity of data between users and objects things. Blown to Bits Abelson, Ledeen, Lewis. Analyze with students in discussion what objects they saw in the previous videos and readings that they use. Were there any objects that they did not think about that are connected to the Internet? Adjust the list as needed.

With a partner, imagine a device that might someday be a part of the "Internet of Things," but currently does not exist. An example might be a shoe that has its own wireless acquired IP address and keeps track of how many steps one takes each day. Note : This may already exist. Students display a thumbs up or thumbs down to this question: Did this lesson help you comprehend the concept of the Internet as an entity that is comprised of both people users and objects or machines?

The document in the Lesson Resources folder called "Commercial Python Project" is a project designed to give students Python coding practice and allow them to explore more about the "Internet of Things" by creating their own product commercial template. Consider adding the requirement that their program include conditional statements. Extra time will be needed.

## In Flanders Fields

Ask students to think about and document how their selected device may have an impact on our daily lives. Could their be any controversy associated with their device or the use of their device? If so, what is that controversy? With a partner, imagine a device that might someday be part of the Internet of Things, but currently does not exist. This lesson delves deeper into the structure of the Internet and routing protocols. Today, we will look more closely at the process of sending information between two locations using the Internet.

Let's see what this looks like through a World of Science video. After video We are going to simulate this same action by sending packets of information to each other without leaving our seats. Transition Remark: Our simulation of the protocol system on the Internet has been relatively tame. Sometimes packets are lost; not all the information you want to transmit fits in one packet; or some routers are unable to keep working.

Fortunately, the Internet is full of redundancy that allows it to keep working even if some parts fail to work, and we can send large data sets through multiple packets. Discussion: How does redundancy of routers contribute to Internet fault tolerance? Transition Remark: We just participated in a simulation that allowed us to become nodes within the Internet.

By filling out the back side of your IP worksheet, each of you was essentially becoming a router. Each routers contains a configuration table with information that it can use to send packets to the correct location. How does redundancy of routers contribute to the Internet's ability to scale to more connections? Explain how relatively small packets are used to transmit large files on the Internet and identify what information each packet must possess. They will then design and enact a simulation of DNS. Students will use their simulation to request and receive web pages, implement DNS caching, and investigate DNS poisoning.

Students should be able to explain how computers can be used to get a web page from a new web server. If it is blocked for you as well, use a web site such as pingtool. Print and cut out the blocks and allow a student dubbed DHCP to give them out at random. Put the following list of DNS and other devices on the board.

### Lesson Summary

Teachers will explain that the Internet is much bigger than the Web, but for our simulation purposes, we will only be trying to access web pages from web servers. Tell students that once we get our model working, we will introduce some challenges and investigate strategies to cope with them.

In particular, it is helpful to work out the number of students you will have in each DNS simulation role. This needs to be determined before the next class. For suggested role group sizes, see the introduction of the next lesson. When pairing up students in "Think - Pair - Share," use a random generator such as random. End to End Architecture 6. Internet Names and Address Rules 6. Describe how computers are uniquely identified and connected on the Internet.

DNS Function 6. Briefly explain the primary use of the Domain Name System made by users of the Internet. Some of the setup should have been done in the previous lesson. This is a two-session lesson. In Session Two, students take on different roles and conduct a dress rehearsal that is entirely student-led. Once the simulation is functioning, students will address both increased efficiency due to DNS caching, and cybersecurity concerns associated with DNS.

A list of character protocols is provided as a resource. These may help students learn their roles. Beside each device listed on the board, there should be the number of students needed to play each role. As soon as students complete their post it notes, have them choose their role by placing the post it notes next to the device name. Below are suggested numbers of actors per role for two class sizes. Once students select a role, each device group should meet briefly to discuss what information they have to collect from the post-it notes on the board.

Post this list of directions and allow devices to go to the board and obtain the required IP address information. This play is improvisational with Hosts requesting whichever pages they want. Introduce the security problems associated with plain text messages and with DNS poisoning:. Students will research this topic and report on security issues among other aspects of DNS in their summary report.

The simulation will be acted out at least three times. Students should change to a new role each time. Show the students how to create a simple "if statement" in a spreadsheet. If the respective IP address of that domain name is found, then that IP address is shown. If it is not then a "0" appears. Describe one rule change for names used on the Internet. Describe the rule before and after the change. Describe one rule change for IP addresses used on the Internet. Briefly describe one security concern and one coping strategy for the Domain Name System insecurity.

This lesson investigates how search engines work: the spiders that crawl the web in search of valuable information, the data farms that store the data, and the processes used to organize current and historical data. The slides for the guided exploration of search methods were adapted from slides provided by Marie desJardins at the University of Maryland, Baltimore County. Have students create a concept map of ideas relating to search engines, doing additional research to round out their understanding.

See Teacher Resources for online tools that can be used to create concept maps. Share ideas from the students' concept maps. Point out that the concept map if done online is an artifact that was created using a computer to present information visually. Google tracks everything that everyone queries. Is this an invasion of your privacy? What conclusions do you draw? Be sure to assign roles to pairs when working together. Don't allow one partner to be passive while the other is active. Students will develop a visual diagram of the processes involved in indexing the Internet by a search engine.

The first focuses on search engine algorithms and the impact search engines have on our lives. Search engine page rank algorithms rely on many factors to predict what someone is looking for. The business advantage of appearing on the front page of a Google search is tremendous. However, as more information is tracked about our interests and preferences in order to customize the results of our searches, we have to ask whether or not the loss of privacy is worth the results. The second objective is to introduce students to creating a visual artifact knowledge required for performance tasks.

Students will understand that the page rank algorithm depends on many factors, has changed over time, and has a large impact on the traffic that a site gets. Students will give examples of how their activity online is tracked and how the knowledge of them is used to taylor the results and the possible repercussions.

Encourage students to discover that it is very valuable to a business to appear at the top of the search engine rankings and that often thousands or millions of results are returned in a single search. This document also contains an answer key. Students can record their notes in the "PageRank Student Handout". Why could it be beneficial for a search engine to keep track of what people are searching for?

Explain that students will be creating a presentation on the topic they researched in the last session. This presentation should be scripted, and make use of a PowerPoint and sources from the internet. They will have 30 minutes to make this presentation. Slide 8 is made for video creation, but works well for general presentations too. Explain that students will create their own video explanations of how one feature of search engines works. Go over the "1 minute talk directions. Students should split into their groups and begin work.

Allow only 10 minutes for additional research as needed. They will take the remaining 25 minutes to:. If there are videos, assign the remainder to be watched as homework and have students bring in notes on the key points learned from each video. For the Explore performance task, each student should be able to create their own artifact. Summary: This lesson is designed for students to review basic statistics, including calculations of the mean, median, mode, and standard deviation.

It will also give the students some experience using spreadsheet software to calculate the statistics and to create histograms. Note: This lesson is intended primarily as a review and a reminder of material that should already be familiar to the students. If your students have little familiarity or experience with using Excel to compute statistics or generate plots, you may wish to extend this lesson to two sessions, and provide more scaffolding and instruction on the basic mechanisms.

The students must understand the basic statistical concepts of mean, median, mode, and standard deviation. They must also be able to use spreadsheet software to calculate the statistics and to create histograms. Students often have some initial difficulty learning how to use formulas in the spreadsheet software to do the calculations.

Present a review of basic statistics min, max, mean, median, mode, and range , and use the following board exercise to have the class review their understanding of these basic concepts:. Ask the class to come up with situations where it might be most useful to compute the mean, median, or mode of a set of values. Encourage them to understand that each of these statistics can be useful in different situations, but may be misleading. Students who do not have much experience with spreadsheets may need more scaffolding and instruction.

If you have many such students, you may wish to spread this lesson out over two class sessions. Optionally, students may compare their results to other online published statistics for each candy. The students will also need to create columns further to the right labeled Mean, Median, Mode, and Standard Deviation. The teacher should frequently check the students' work for accuracy as the lesson progresses so that misunderstandings may be quickly resolved.

This lesson provides the students with an opportunity to practice the AP CSP Explore Performance Task with a given set of tasks from which they may choose. Students will use a rubric to perform self-assessment of work generated for the Explore Performance Task. Instruct the students that they are to use their findings to generate a computational artifact and a one-page paper on an innovation.

The artifact is an original digital artifact screencast or knowledge map diagram that you create to express the effects of your chosen innovation. Writing responses to questions posed on "Practice Explore Task Response Document" and creating artifact. Remind students that brevity is important for the performance tasks, it is a talent to be able to get a message across with real content succinctly.

I have made this letter longer than usual, only because I have not had time to make it shorter. Have students complete the "Practice Explore Task Job Completion" form, indicating where they are in the process of the Practice Artifact. The previous evening's homework was to complete the paper that students were working on in the previous class. Pass out the rubric and have students go through their paper to verify that they have all points covered.

Teacher will need to circulate to assist where needed. Have students complete a Job Progress form indicating where they are in the process of the Practice Artifact. Complete the paper using the rubric as a guide. Complete the plan for the artifact; you will have one more class period to work on the artifact before the project is due. Using the artifact part of the rubric, have students go through their plans for the artifact to verify that they have all points covered.

Students should be focused on the artifact. The entire project will be collected next class. Complete artifact using the rubric as a guide. The Practice Explore Performance Task is due at the start of the next period. Teachers may choose to spread this activity out into multiple class sessions over a longer period of time, to give students some more time to work on the paper and artifacts at home especially if the class meets every day, since "overnight homework" is often difficult for students to complete effectively when they are involved in other after-school activities and have assignments for other classes.

This lesson does not require computers, but teaching this lesson without computers would require printing the necessary articles and providing textbooks or printed articles about the various cyber-attacks. Students will study types of cyber attacks and the vulnerabilities they exploit, and identify the roles of software, hardware, people, and the Internet. Students will identify potential cybersecurity concerns in systems built on the Internet. This makes cybersecurity an extremely important concern when designing and implementing systems that are built on the Internet. Students need to be able to identify potential problems that could arise and potential options for protecting against these problems.

One way to protect against them is a firewall. What possible problems are there with the fact that student data including your courses, grades, attendance, home address, and birthdate is stored in a database that is easily accessible to teacher, administrators, and other staff from any computer connected to the Internet?

Choose one of the following articles to read, based on the operating system you have running on one of your home computers, or the computer you normally use. The teacher will see where the students place the cyber attacks as they read about them on the impact graph and give appropriate feedback. Students will complete a journal entry by responding to questions about their personal and school related data being accessible through the Internet. Students are introduced to the topic of cryptography and learn to perform two encryption techniques. The students will identify the role of the algorithm and key in the encryption process.

Students will use abstraction to see the general process used in symmetric encryption. The students will consider the strength of ciphers and the importance of keeping the key a secret. Optional: Lesson slides with the key questions, encryption demos, and diagrams the teacher could simply read the questions and present demos and diagrams by writing on a board. An alternative to this lecture portion above is to have students independently study the same concepts using a reading, video, or online learning tool. Here are some suggested resources:. Summarize with this overview: "Each encryption scheme involves an algorithm and a key.

The algorithm is the set of steps that you follow to accomplish the encryption. The key is the secret piece of information that is needed to know exactly how to apply the algorithm in this case. This allows you to securely send encoded information across the Internet and decode it when it arrives.

Some codes are more secure than others. Have the students pair up and practice sending each other encrypted messages, then decrypting them to make sure they end up with the correct message. How would you do it? A general substitution not limiting to just a shift dramatically increases the number of keys. The number of keys in this case is the number of permutations different orderings of the 26 letters in the alphabet.

This can be computed by multiplying the 26 options for the first letter in the cipheralphabet, by the 25 remaining options for the 2nd letter, 24 remaining options for the 3rd letter, etc. If time allows, you can have students explore other ciphers. Present a diagram that shows high-level view of the encryption and decryption process see The Code Book , p. Students are tasked to create a simple Caesar cipher program that uses ASCII values to shift messages by a certain letter. The rubric for this project is also in the Lesson Resources folder.

The teacher will evaluate student responses to the journal entries, class discussion questions, and the students performance during the encryption practice. Students will recognize the value of open standards used in modern cryptography. Introduce the following topic. Allow for discussion among the class about possible solutions to the problem presented.

After the class has come up with some ideas, reveal a solution to the problem that was found using math. Have students present ideas from their journal entries. Use this as a way to review the Key Distribution Problem, and the team that tackled the problem. It is advisable to select "dramatic" students to fill the four roles. Follow Up question to ask the students : Who do you have to trust for this system to work? Don't worry, we are not going to fully answer this! The systems of encryption used on the web have been "standardized" meaning that everyone agrees to use the same systems so that computers all over the world can communicate with each other.

These standardized systems could be "proprietary" meaning the details are kept secret , or they can be "open" meaning the details are shared for anybody to see. This could be a homework assignment to read about it. The teacher will observe and evaluate student responses to journal entries, class discussion questions, and class activities.

It addresses Internet Security with issues inherent to Internet usage: viruses, worms, Trojan horses, and identity theft. The primary objective of this lesson is to equip students with knowledge that will enable them to make responsible choices regarding their Internet use, to prevent security risks. On your home computer, see how vulnerable you are to malware and identity theft :.

Students are expected to complete the EPT with minimal assistance from anyone. Students will be able to explain a privacy, security, or data storage concern related to the innovation. Unit E Resources. Unit E Assessments. Teachers and classmates may help students to understand the Explore Performance Task, help students manage the process, and help them to submit the required projects.

Once the work on the project begins, however, students must work individually without assistance. However, teachers may not require selection of particular topics for students. Session 1 develops student understanding of the EPT requirements and guides selection of a computing innovation to explore. If this was done in the practice task, then questions addressed in this session may be assigned as homework, with students using the first day to do preliminary research.

Session 2 develops student understanding of the rubric, so they know the level of expectations that readers will have when scoring them. If this was done during the practice EPT, then the questions assigned in the section may be assigned as homework and the full day used for student research. Today you will begin the Explore Performance Task. It is an exploration of a computing innovation of your choice according to the guidelines established by the College Board. The goal of this task is to deepen your understanding of computer science principles.

After students share with elbow partners, address any questions students have to this point. Students should read the General Requirements section beginning on page 1 and answer the seven questions below sharing their results with elbow partners. After students share with elbow partners, address any questions that students have to this point. Assign students to 5 groups and assign a section a - e to each group.

## La Mairie de Lerrain – Commune de Lerrain

Have each group answer these two questions for each section 10 min. After completing the four exercises, students are to choose a computing innovation to explore and share their choice with you. Before the next lesson, students must select and submit to you the name of the computing innovation. Today will be your first research day. Before starting your research, we will examine the rubric that readers will use when scoring your computational artifact and written response.

Jigsaw the rubric. Assign students into five groups and assign one row of the rubric to each group. Students are to prepare a second response to these three questions about their row of the rubric. Each student group shares their insights based on these three questions. Students must work individually from this point until the projects are ready to be submitted.

Students research their computing innovation, especially addressing the first two components of written response 2A and written response 2C, while collecting references to be included as a part of written response 2E. At the end of class, students complete a daily progress report. Teachers will collect the progress report in order to monitor progress but may not provide any feedback to students on content.

Today, students are to plan and draft responses to the first two parts of written response 2A and written response 2C, and begin creating reference section 2E. Students should include citations for information in parts 2A and 2C. Respond to each of the student's questions posted on the board. You may clarify student understanding of project requirements and expectations.

This is the first of two days scheduled for students to create their computational artifacts. Start today by planning what you need to get done each of the two days and how much will be done on this first day. After this session the next two sessions are intended for students to complete both written responses and the computational artifact. This session is scheduled to focus on the written response. As time permits students may work on their computational artifact. Reread and revise each Written Response including an inspection of references, associated citations and total word limits.

Save the written response in PDF format. If students are submitting their computational artifact as a PDF, it may not exceed 3 pages. The College Board also accepts multimedia files containing the computational artifact. Acceptable formats are mp3, mp4, wmv, avi, mov, wav or aif. If students elect to create multimedia files, the files may not be longer than 1 minute nor larger than 30MB in size.

Students may not recieve feedback on the content of the EPT until after it has been submitted. In this lesson, students will learn how to acquire and analyze data to find answers to questions and solutions to problems. Students will consider whether or not the data they are presented with is necessarily valid, and research some of the various data sources online. Students will be able to acquire data and analyze it to find answers to a specific question or solutions for a specific problem.

Unit 4 Resources. Unit 4 Assessments. Lead the students in discussion using the bullets below and slide 2 of the PowerPoint as guidence. Students should talk about WHY they assumed the data was true, or were uncomfortable questioning the truth of the data. There are 10 videos to choose from, each minutes long.

Either allow students to self-select, or assign them a particular video. Students should watch the video and answer the questions on the worksheet. This is an opportunity to discuss plagiarism: students are expected to watch the video and write from their own experience. He relied upon his sporting knowledge of soccer and cricket paired with his analytic mindset, to create a system of play which allowed his relatively un-athletic team to excel. If time is short, choose only 1 or 2 of the questions from the homework to be presented to the class and collect the rest to grade.

In your writing journal, map out the steps to answer a specific question or find a solution to solve a specific problem using data. What is data acquisition? Write an outline of an algorithm to make a data-based decision about what movie to produce or what sports team member to hire. Students will define and identify models and simulations. Most of the time we need to use experimental instead of theoretical probability. Have students think about this as they answer the following questions with a partner:.

Did some students want to use the computer to access data or actually perform the paper throwing experiment? Watch this video of a human heart simulation: Multi-scale Multi-physics Heart Simulator UT-Heart watch up to ; the rest is interesting but not necessary. What about a disadvantage? A supercomputer is necessary to run the simulation. How can you test a parachute to be used on Mars? Describe the physical test. Before that test, they create models and simulate on the computer - why? It is very costly to run a test and to create an actual parachute.

First be sure an idea passes a simulated test, then build it. Have students list models they have seen and have interacted with in each of the following time permitting, have the students find websites to share :. Have the class suggest people, characters, and activities to fill the chart start with a blank chart; entries below are for example only :. Journal: Have students record the definitions in their own words of the vocabulary used in this lesson: probability, model, simulation, and hypothesis.

Ask the class: Does your program represent a sufficient simulation for rolling dice? Journal: Summarize how a program can be used as a simulation to test a hypothesis. After the first group activity, the teacher can swap a student from each group to allow different input into the next group activity. Next, students should hypothesize the results of lining up 10 pennies on edge and knocking them over as described in the article.

Students need to determine how many times to run the experiment, collect data, and analyze the results. Students should work in pairs to write a computer simulation for the penny experiment. Note: this is a program based on experimental data, not theoretical. Discuss as a class the validity of the simulation written. Can this simulation be used for other coins? Onvery show, Monty would present a player with three doors or curtains to choose from.

The contestant was asked to choose a door in search of a prize. After making a selection, Monty Hall would open one of the doors not selected by the contestant to reveal a non-prize perhaps a goat. Then Monty would ask if the contestant wanted to change their choice. After explaining the show to the class ask, "Should the contestant change?

Have the students design a simulation to test their hypothesis discuss what is the data collected and the number of times the simulation should run to collect data. After running the simulation, students should evaluate their hypothesis and determine whether it needs to be modified or whether the simulation needs to be modified. Review student journal entries and class discussions to determine students' understanding of simulations, a hypothesis, and the ability to determine a method to test a hypothesis. Make a hypothesis about drawing cards from a standard deck of cards and determine how to collect data to answer your hypothesis.

This lesson introduces students to reading information from an input file and writing to an output file as a functionality of Python programming. This lesson will prepare students to read and write files for use in later Data Acquisition lessons. Do the short exercises together with a "row captain" assigned to each row or group in the classroom who is in charge of checking that everybody in their row has completed each short task and has gotten the help needed to finish.

Row captains help each other until the entire class has successfully completed each task. Report out on what challenges were encountered, recording problems and solutions at the front of the classroom as the class works. Rotate the role of row captain for each section. Exercise 7. Executing the program will look as follows:. Count these lines and the compute the total of the spam confidence values from these lines. When you reach the end of the file, print out the average spam confidence. Your students will need computers for this lesson. If you would like to show students a working dartboard simulation with a circular dartboard , check that your browser can run a Java plug-in.

Be sure to update, activate, and disable the plug-in as needed for security purposes. In this lesson, students will explore basic data analysis concepts in Python, learn about code extensibility, create a simple simulation from scratch, and reuse their code to make a more elaborate simulation. The development of a program from scratch to solve a specific problem is presented to students by creating a simulation that lets them see how software can model a real-world process.

Additionally, the concepts of extensibility and code reuse are shown through hands-on programming experience. The Lesson Resources folder contains an example program showing how to use Python's random function to simulate tossing a coin. Suppose you want to write a program that simulates tossing virtual darts. The bull's-eye is a square in the center of the dartboard with sides of length 0. Have the program ask the user how many darts they want thrown.

Recall how to use Python's random functions by reviewing the previous lessons' dice simulation. The bounds of bull's-eye are [0. Take the rest of the class time to have your students begin programming their simulation. If they are not able to finish before the session ends, you may want to assign the program as homework, or devote the beginning of the second session to finishing the program.

They will need their programs for the work in the next session. You may want to remind students how to use Python's random function. Java SE 8 complements this emulation by adding new static methods to java. Integer and java. Long for converting between strings and unsigned integers, comparing two signed integer values as unsigned integers, and performing unsigned division and remainder operations. Java SE 8 doesn't introduce new unsigned types such as UnsignedInteger with methods that perform arithmetic on unsigned integers to avoid dealing with the overhead of autoboxing and unboxing, and to allow the built-in arithmetic operators to be reused.

Consider Integer , which offers the following unsigned integer methods Long offers a similar complement of methods :. Compile Listing 2 javac UIDemo. You should observe the following output slightly reformatted for readability :. The first output line reveals the largest and smallest bit integer values. The second and third output lines reveal that x is greater than y in a signed context and less than y in an unsigned context.

The fourth and fifth lines show the results of signed and unsigned division, and the subsequent sixth and seventh lines show string conversion treating the addition result as signed or unsigned. Because parsedUnsignedInt cannot parse negative values, the final output lines reveal a thrown NumberFormatException.

See All Related Store Items. Like this article? We recommend.