Created: 2022-05-10 Tue 12:45
Press S for speaker notes
Press O for slides overview
Particpants will…
Roles describe areas of focus during team or group activities.
A person can focus on more than one role or a role can be divided between multiple people.
More roles can be added but the core roles should always be present.
Notice means what do you see. Call out the obvious. Make simple observations. Go for quantity.
Wonder means begin an idea and consider possibilities. Wonderings are questions with their possible answers.
An artificial intelligence (AI) software solution developed by Intel and Classroom Technologies to identify students' emotional states is generating controversy in the context of ethics and privacy.
Intel Develops AI to Detect Emotional States of Students - Tom's Hardware 2022-04-27
University of California, San Diego (UCSD) computer scientists have developed algorithms to keep offensive speech from being generated by online chatbots.
Cleaning Up Online Bots' Act—and Speech - UC San Diego News Center 2022-04-25
Robots are socialize with nursing home residents, telling them jokes and leading their yoga classes. Can Robots Save Nursing Homes?
The app-analytics firm Sensor Tower Inc. found that 1 out of 10 mobile games used bots at the beginning of 2016, a figure that has risen to 7 of the 10 most-played mobile games.
Friend or Bot? Phony Gamers Leave Players Feeling Betrayed - The Wall Street Journal 2022-04-25
University of Georgia researchers created a model to help identify locations best suited for conservation. Improving Georgia Land
The history of math and science, of celestial navigation, understanding the cosmos, and exploring the world around us,
Progress was made by taking large numbers of observations and searching for patterns;
All examples of data analysis and computations –
Long before what we now think of as a computer.
Mechanical aids like the abacus and rote algorithms add mechanical memory to the computation process.
First accomplished by human number crunchers later by electronic
computers
Flashlights, Telegraph, Boolean Algebra
On/Off languages, binary languages, binary algebra
Electronic and photonic switches are fast.
Translate computational problems into binary problems and give it to the machine
Programming a computer means working with the structural precision required by computers. Computers consume data, apply instructions to transform that data, and produce results in some form that we can use.
In 1936 Alan Turing described a machine that the could take an infinite list of data (memory) and a finite list of instructions to implement any algorithm.
See speaker notes for additional context
Set a 1 minute timer Record all of the means/purposes you used to connect to the internet. Earn 1 point for anything not listed by other players
Do one job and don't repeat yourself!
So how do messages get from one place to another?
Google docs rule the academic lives of many students.
Preformatted docs are often used to scaffold learning products.
Freedom with structure offers ownership of digital creations.
Can be read by a computer
Describe the meaning of different parts rather than show
Computers need data to have structure.
Structures are repeated patterns in data that a computer can be told how to process.
HTML is a language that uses a system of tags to describe the role of different posts of a document.
Hyper text
Folders remind us of putting a piece of paper in a filing cabinet.
Files are an idea. Another idea is to put one or more label on each item and to collect together items with the same label when we need them.
In a labeling system items can exist in more than one location.
What kind of messages are you receiving?
Students were getting ten messages per day alerting them to various activity on the platforms we set up for them: digital classroom, communication blasts, attendance
Inbox -> Starred -> Archive g i s e
Inbox -> Trash
Inbox -> Reply r
Inbox is a filter. A filter catches some values and let's others through. Inbox shows us messages that contain the metadata "Inbox".
Starred or flagged is a filter for all messages containing a metadata star or flag.
Recall: computers consume data, transform data based on some instructions, and return a useful result
In each of these stories there is a computer. Find the computer by finding the data.
The Problems with Elon Musk's Plan to Open-Source the Twitter Algorithm MIT Technology Review Chris Stokel-Walker April 27, 2022
Elon Musk’s announced plans for the Twitter social network include open-sourcing its algorithms, which experts say would do little to boost transparency without access to their training data. Said Jennifer Cobbe of the U.K.'s University of Cambridge, "Most of the time when people talk about algorithmic accountability these days, we recognize that the algorithms themselves aren't necessarily what we want to see—what we really want is information about how they were developed." There also are concerns open-sourcing Twitter's algorithms would enable bad actors to identify vulnerabilities to exploit and could make it more difficult to defeat spam bots.
Method Makes Traffic Prediction Faster Futurity.org Matt Shipman May 5, 2022
North Carolina State University (NC State) researchers modified an algorithm developed to help simplify complex computing tasks to better anticipate traffic patterns in a specific place and time. The algorithm segments a bigger traffic forecasting model into a series of smaller problems that can be solved simultaneously. The process shortens the forecasting model's run time, while more complex questions tend to lead to higher levels of improved efficiency. The tweaked algorithm also enhances run time by allowing the model to realize when it has reached a solution that is within 5%, or even 10%, of the optimal solution. NC State's Ali Hajbabaie said the modified algorithm uses much less computer memory, and runs orders of magnitude faster, than a benchmark algorithm.
Open-Source 'Package Analysis' Tool Finds Malicious npm, PyPI Packages BleepingComputer Ax Sharma May 1, 2022
The Open Source Security Foundation (OpenSSF)'s prototype Package Analysis tool caught more than 200 malicious npm and Python Package Index (PyPI) packages in its initial run. Released this week on software development platform GitHub, the tool is designed to identify and counter malware in open source registries. OpenSSF's Caleb Brown and David A. Wheeler said the tool was developed to help users "understand the behavior and capabilities of packages available on open-source repositories: what files do they access, what addresses do they connect to, and what commands do they run? The project also tracks changes in how packages behave over time, to identify when previously safe software begins acting suspiciously." Most of the malicious elements the tool identified in its initial run were dependency confusion and typosquatting exploits.
Algorithm That Screens for Child Neglect Raises Concerns Associated Press Sally Ho; Garance Burke April 29, 2022
A review of an algorithm designed to screen for child neglect has raised worrying issues, including questions of reliability. Carnegie Mellon University researchers analyzed a tool used by Allegheny County, PA, which in its first years of use identified a disproportionate number of Black children for "mandatory neglect" probes compared to white children; social workers also disagreed with the algorithm's risk scores about one-third of the time. Critics say the algorithm gives data on poor people excessive influence in deciding families' fates, and they caution against local officials' increasing reliance on artificial intelligence. Advocates fear that if similar tools are adopted by other child welfare systems with little to no human intervention, they could compound racial disparities.
Computer science can help us use precision in our mathematical language.
What is an equation?
Have you ever refered to an equation as containing the answer?
2 + 2 is an expression, it's value is 4 The answer is 4
2+2=4 is an expression that evaluated to true.
Solution checking and whether a given value turns an expression to a true statement.
Repeatable computational abstractions. The target of elementary and middle school mathematics is modeling and reasoning and expressions and equations standards are functions.
Equations are a catch all phrase in mathematics education that often includes what we mean by functions in algebra.
Notice what changes, collect and plot data, predict/interpolate values
Binary operators are given two arguments +, ×, ÷, -
Unary operators are given one argument \(a^b\), $sqrt{2}
Functions express operations as name and some any number of arguments
When we use name such as sum, difference, product, and quotient we are invoking the function.
In math class we often refer to "formulas" like the formula for the volume of a cone.
Students "plug" numbers into the formula. Formulas are functions!
Plugging-in is applying a function forming an expression (or what excel calls a formula :/
A right circular cone has a height of 11 centimeters and a diameter of 7 centimeters. What is the approximate volume, in cubic centimeters, of the cone?
Choose a question that speaks to you. Be prepared to say why you chose that question
Participants will be able to…
Tables are made up of data rows and columns
Data rows begin under the header, which contains the names of each column
How many data rows does this table contain?
| column 1 | column 2 | column 3 | column 4 |
|---|---|---|---|
| data value | data value | data value | data value |
| data value | data value | data value | data value |
| Name | ID | Attendance |
|---|---|---|
| Andy Thomson | 73 | 100 |
| Xena Woodley | 30 | 100 |
| Lilianna Cabrera | 1 | 83 |
| Maurice Steadman | 29 | 96 |
| Sameera Yeoman | 75 | 75 |
Data entities are elements of our world that we might want to track as data.
Students in a school are often represented as a data point with a number of dimensions. Some of the dimensions (or attributes) associated with a student are attendance, credits, biographicals.
Brainstorm data entities from your own life.
Submitting attendance is an example of a table for computers
Describe the data entity in an attendance collection table.
| Student | Class | Date | Attendance |
|---|---|---|---|
| Student 1 | Intro to CS | 2022-04-30 | P |
| Student 2 | Intro to CS | 2022-04-30 | A |
| Student 3 | Intro to CS | 2022-04-30 | P |
| Student 4 | Intro to CS | 2022-04-30 | P |
| Student 5 | Intro to CS | 2022-04-30 | A |
A student level report for a parent conference is an example of a table for humans.
| Student | Class | 1st Sem Attd |
|---|---|---|
| Student 1 | Intro to CS | 100 |
| Student 1 | English | 75 |
| Student 1 | Math | 93 |
| Student 1 | Science | 93 |
| Student 1 | History | 90 |
Filter Views Filter views represent subgroups of data.
Make a copy of student dataset The link about allows you to copy a one semester summary of student data.
Find "Filter Views" in the Data menu
Try these actions:
Find "Pivot Table" in the Data menu
Choose a range to summarize (the default is the entire tab you are currently viewing"
You can create a new sheet or add multiple pivot tables to one sheet.
Choose your columns to be some categorical data that represents a subgroup of the data.
For each row what attributes to want to investigate
For each attribute how would you like to summarize it?
Each cell is named by the absolute reference using the column letters first found at the top and row numbers second found along the side.
=A1 means get me the value from column A, row 1
=function(values)
A contract is an agreement with the function. If we follow the contract, the function will do work for us. We need to give the function what is expected in its contract in order for it to do its work.
Type =concatenate
Click ? to see the function contract
What does concatenate expect to be given?
What will concatenate give back if you follow the contract?
Most spreadsheet functions work on single values One way to apply a function to a range of values, such as all of the values in a column of data, you can copy down the formula by…
Student data csv download Download the file above or use a csv of your own student data
Assume you have the names firstcolumn and secondcolumn in your named ranges.
=arrayformula(concatenate(first_column, second_column)
Creating custom arrays You can also create your own arrays in a formula in your spreadsheet by using brackets { }. The brackets allow you to group values, which can be a single number, string or boolean, or a rangeof values.
Use the following punctuation to arrange values in an array:
Try on your own.
Recall the distributive property
\(a(b+c) = ab + ac\)
Compare the results of
=arrayformula(a:b&b:b)
to
=arrayformula(concatenate(a:a,b:b)
=FILTER(data, boolean-mask-to-apply-over-that-data)
Formulas in filters expand like an array formula
Student Data Starter File Open the link above. You will see a Pyret program that loads data from our student google sheets example. This starter file uses a libray from the Bootsrap:DataScience curriculum to simplify some of the table and charting operations. Consult the curriculum workbook for a full list of the contracts available.
pie-chart(students-table, "iep)