AP Computer Science Principles(Full Review of all Content) - 2025
Estimated read time: 1:20
Learn to use AI like a Pro
Get the latest AI workflows to boost your productivity and business performance, delivered weekly by expert consultants. Enjoy step-by-step guides, weekly Q&A sessions, and full access to our AI workflow archive.
Summary
This video provides a comprehensive review of AP Computer Science Principles, covering five major topics: creative development, data, algorithms, programming, computer systems and networks, and the impact of computing. The video begins with an introduction to computing innovations and the importance of collaboration. It further discusses programming fundamentals such as errors, data storage, and data compression. The video also covers algorithms, programming structures, and the importance of computing impacts, including digital access and bias. The creator emphasizes safe computing practices and explores key concepts in computing systems, highlighting error management and digital ethics.
Highlights
Introduction to AP CSP and its five Big Ideas.
Discussion on programming errors: syntax, logic, and runtime.
Detailed overview of data storage, bits, and data compression strategies.
Explanation of algorithms, looping, and binary search.
Importance of understanding computer systems and networks in AP CSP.
Exploration of digital ethics, including Creative Commons and open-source.
Advice on safe computing practices, including encryption and phishing awareness.
Key Takeaways
AP CSP covers five major topics: creative development, data, algorithms, computer systems, and impacts of computing 💻.
Collaboration in computing can reduce bias and provide diverse viewpoints 🌐.
Understanding errors and debugging is crucial in programming 🛠️.
Digital data can be compressed using lossless or lossy methods, each serving different needs 📉.
The internet is built to be scalable and redundant, ensuring reliability 📡.
Digital ethics and intellectual property are vital considerations in computing 🌐.
Overview
AP Computer Science Principles undertakes a thorough exploration of computing, divided into five core thematic areas. The course encourages understanding of creative development and innovation in computing, paving the way for learners to collaborate effectively and reduce bias. Techniques and tools to tackle programming errors are crucial, utilizing debugging and user testing as key strategies.
Data management forms a central pillar of AP CSP learning, from understanding bits and binary number conversions to mastering data compression, with lossless and lossy options each playing specific roles in data management. Sampling techniques are addressed, illustrating the transformation from analog to digital data.
As learners delve into algorithms and programming, foundational skills such as variable manipulation, conditional logic, and procedures are brought to the forefront, supported by discussions on system networks, path routing, and protocol management. The course ties into life with a focus on digital citizenship, intellectual property rights, safe computing practices, and understanding the digital divide, equipping students with the awareness needed to navigate the digital world responsibly.
Chapters
00:00 - 01:00: Introduction and Overview of AP CSP This chapter provides an introduction and overview to the Advanced Placement Computer Science Principles (AP CSP) course. It outlines the five core areas of the curriculum, known as 'Big Ideas': Creative Development, Data, Algorithms and Programming, Computer Systems and Networks, and Impacts of Computing. The chapter is set up to review these fundamental concepts in the course.
01:00 - 04:30: Creative Development The chapter titled 'Creative Development' begins by introducing the concept of 'Computing Innovation'. It explains that a Computing Innovation must include a program as a significant component of its function. This innovation can manifest in physical forms, such as a self-driving car, or exist purely as software. The emphasis is on understanding how collaborative efforts drive the creative development of these computing innovations, hinting at the importance of teamwork and shared ideas in the process.
04:30 - 15:00: Data Collaboration in programming involves many people working together on tasks. This brings diverse viewpoints and talents, especially in design, which can help reduce bias. With different people contributing, the variety of perspectives reduces the likelihood of biased outcomes.
15:00 - 31:00: Algorithms and Programming In this chapter titled 'Algorithms and Programming', the development of technology in realizing global connectivity and collaboration is discussed. It emphasizes how digital tools, such as Zoom, enable people from various locations worldwide to contribute their ideas, fostering innovation. The discussion also touches upon the basic understanding of programs, describing them as collections (though the specifics were not completely captured in the provided transcript).
31:00 - 43:00: Computer Systems and Networks The chapter introduces the concept of programs composed of code statements designed for specific tasks. It explains that programs take various forms of input, such as audio, text, or visual data, from users or other programs. The output of a program depends on these inputs, as illustrated by the example of an Amazon Echo, where the input is the user's voice, and the response is the program's output.
43:00 - 60:00: Impact of Computing The chapter 'Impact of Computing' discusses the development processes of programs. It highlights the importance of adjustments, reviews, and feedback, emphasizing techniques such as user testing, reviews, and observations to identify program constraints. This foundational knowledge underlines the necessity for programs to evolve through these developmental stages.
60:00 - 65:00: Conclusion and Create Task The chapter discusses the importance of testing a program to ensure it functions as intended. It covers various methods such as user testing, reviewing user feedback, and closely observing program behavior to identify errors. Logic errors, which are mistakes in the algorithm, are highlighted as a common issue that can cause programs to behave unexpectedly.
AP Computer Science Principles(Full Review of all Content) - 2025 Transcription
00:00 - 00:30 hello everyone today we're going to be doing a full review of apcsp so apcsp is split into five Big Ideas creative development data algorithms and programming computer systems and networks and impacts of computing so now we're going to go over
00:30 - 01:00 to the first big idea big uh creative development collaboration so first we're going to go over a quick definition of what a Computing Innovation is a Computing Innovation must include a program as a major part of a fun of its function it could be physical like a self-driving car or it could be software the program collaboration I mean you all
01:00 - 01:30 probably know what collaboration means right but like just having many people work together to do something create a task so in programming collaboration provides diverse viewpoints and talent in the design this will help reduce bias because of all the diverse viewpoints different people gathering around to create something so the bias will be reduced
01:30 - 02:00 furthermore now with the world becoming more digital online tools allow ease in including diverse people's opinions for example holding Zoom calls with people from around the world to get ideas for your in um Innovation now I'm going to go over what programs are so programs refer to just collection
02:00 - 02:30 of code statements put together for a task programs generally take an input and will have an output which is the purpose of the program inputs can be audio text or visual or or many more inputs will come from users or other programs for example an Amazon Echo the input is my voice and then it'll respond from that so the program output will be based
02:30 - 03:00 on its inputs programs can go through development processes where they will be adjusted reviewed and given feedback investigation like user testing reviews and observations allows programmers to identify the program constraints this is all pretty much just basic knowledge just know what programs are and the fact that programs um to develop a program they need to be adjusted along the way
03:00 - 03:30 and that um there are many ways to check whether a program is doing what it's doing such as user testing where users will test it and give feedback reviews of users and uh just looking at observations from the program itself program errors so here are some errors that can uh cause your program to not behave as you wanted to so logic errors are simply mistakes in the algorithm that'll cause it to behave
03:30 - 04:00 incorrectly they'll output a wrong answer because of a logic error maybe you added 10 instead of five syntax errors are mistakes in the programming language so programming languages all have a all have like a set way that you need to write the code if you don't follow that you'll get a syntax error runtime errors will occur in the execution of a program for example it's
04:00 - 04:30 you're accessing an element in Array which is out of bounds so it's not going to be a syntax error it's just that when you run it the program realizes oh wait there's an error here and it can't run overflow errors will occur when a compiler tries to handle a number outside its defined range of values overflow seem like going out of you could do that to remember an overflow ER and in general to solve errors
04:30 - 05:00 debugging and looking at test cases and uh just running the program or visualizing can help reduce errors and find the problem in the code that was it for the first big idea now we're going to go to the second one data so how do computers store data computers store data in something called bits which are base 2
05:00 - 05:30 numbers all the numbers are represented with ones and zeros for example let's look at 100 here 100 and base 2 is 8 and a simple way to convert a decimal number which we use is base 10 to a number in a different base such as base two is just find the or just repeat this find the highest number or the highest power the base can be raised to
05:30 - 06:00 and then subtract that from the number and continue on until you get zero for example two let's look at 100 in base 2 2 to the power of three is 8 2 to the power of so it's one 1 time 8 is8 that's why the rest of these bits are zero because you already reached eight also know that a bite is defined as eight bits
06:00 - 06:30 however in general we the programmer we can represent data just through list variables or constants a computer is the one who convert that to bit so then they can understand what we're doing and many bids grouped together can be abstractions such as colors for example RGB furthermore you all should understand
06:30 - 07:00 that context matters a lot in programming the same sequence of bits can mean different things in different context in one context it could be a color in another it could be maybe the height the height that someone will jump in a video game analog data refers to data which changes smoothly over
07:00 - 07:30 time such as pitch and a sprinter's position obviously over time um the data will be changing bit by bit each at each point in time Digital Data can be used to represent analog data you can represent the analog data digitally and this result in a uh abstraction abstraction as it sounds like is um simply taking a complex topic and
07:30 - 08:00 making it simpler well not exactly actually it's U more like um for something or some topic taking it and um abstracting it so it's easier to understand for people sampling techniques can measure analog data different intervals called
08:00 - 08:30 sample and then use all those uh intervals to find or to model the analog data and all the programming languages they have a fixed number of bits integers can be represented by so if it needs more bits in Java at least for example you you'll use a long but if you still use it int then it'll be converted to like a much smaller number
08:30 - 09:00 and you can consider that an overflow error or a roundoff error a roundoff error will occur when it's um too precise so like maybe 0.00000000 like a lot of zeros and a one so that's too precise for the programming language to um keep uh overflow error will occur when it's too many bits to store and yeah as I mentioned in the previous slide here roundoff errors are
09:00 - 09:30 due to limited position overflow errors are resulting in a value being too large to store so you all should know how to convert between bases um try converting 10 from base 10 to base two and the answer should be this number here in base two so basically what you do is um you find the highest power of two that is less than 10 2 to the^ of
09:30 - 10:00 three 0 1 2 3 that's the first one at the top then you find the next one 10 - 8 2^ 3 is 2 2 the^ of 1 is 2 0 1 that's the one here 1 minus um I mean 2us 2^ 1 is zero so fill the rest with zeros
10:00 - 10:30 data compression data compression refers to reducing the number of bits of transmitted or stored data it's pretty obvious why this can be helpful as you don't want a file to be too large as it might be hard on your computer so there are two compression algorithms that the exam wants you to know and each has its own advantages and disadvantages lossless compression reduces the bits while guaranteeing a
10:30 - 11:00 complete restoration to the original size velocity compression reduces the bits in data while only allowing an approximate restoration therefore depending on what you want use either of them so ly data compression you will not you'll only get an approximate restoration so that's why you reduce the bits more than lossless compression you
11:00 - 11:30 lose something that's why it's lossy you lose something so you won't be able to restore it but you compress it more so the data size is smaller the sh priority is minimizing the data side data size without full care about how it'll look about um how you want it to be restored then use ly compression loss of compression allows you to still reconstruct the original data back to or shape and
11:30 - 12:00 form so therefore lossless means you don't lose anything you won't lose anything from the data so you'll be able to fully restore it if you want so use lossless compression when it's vital that you want the original perfect replica as before so data provides opportunities to make Trends and identify connections I mean identify Trends and make connections you can see Co corations and patterns and so on from
12:00 - 12:30 data Digital Data can show correlations but then again correlations do not always mean cation to establish cation you need a well- defined experiment metadata refers to data about the data for example let's say take an image metadata could be the time location and where it was taken where will Tien if I take a picture of the sky metadata could be the time maybe 12 p.m and the location uh 500 feet above
12:30 - 13:00 [Music] ground therefore changes to metadata will not affect the data for example my image of the sky changing the metadata like the let's say I let's say I just change oh I took it on the ground it will not affect the data as the data is just the image of the sky even if I say that I took the image on the ground even though I took it in the sky metadata love you to get more information about
13:00 - 13:30 the data which allows for structure and organization so data needs to be cleansed this is very vital as you don't want incomplete data incomplete data will be hard to analyze that's why data sources sometimes need to be combined for further purposes and data collection may may not always be uniform cleaning data will make the data uniform
13:30 - 14:00 without changing the meaning for example let's say I have the data set of places where I went or um yeah places where I went in the year let's say I have all these different states Alabama Alaska California and I put um California in three different ways Cal California and Cali they all refer to California but to uh make the data uniform I'll change
14:00 - 14:30 them all to ca because they all refer to the same place and that'll be easier for programs to identify bias can be reduced through thoughtful data collection if you're smart about where you're choing the data you get it from different places bias will be reduced but if you get data from all the same place bias will be hard to reduce larger data sets do have more information to be extra Ed but there is
14:30 - 15:00 a tradeoff with larger data sets it'll take more time to get all the data and it might require more complex Computing systems such as parallel Computing which will which we will go over later and you might need to scale it more so programs can be used to process data for information table and diagrams can communicate Insight gain from data data sets can be filtered and transform for the programmer's benefits and data sets
15:00 - 15:30 can also be emerged merged to gain Insight on patterns yeah so programs generally just use data you can represent data in many ways like tables and diagrams and sometimes you will need to change the data set and merge different data sets to get a better view on patterns now we're going to go over algorithms and programming variables variables just um think of it as
15:30 - 16:00 something that holds a value and you can refer to that later in the program you can use different names to name a variable and it's good to be creative so you also get the variable's purpose sometimes programming languages such as Java make you define a variable type but sometimes not the compiler might just understand it like in Python for for example let's say I have a variable that represents the height of
16:00 - 16:30 the clouds or the height the clouds are above the ground it would be better for me to name the variable height right height of clouds versus just H because height of clouds is more specific assignment expression refers to assigning a Val a value to a variable and every time the assignment operation is done the variable values change for example here I'm assigning the value five to the variable a
16:30 - 17:00 but if I did that um if I did it again let's say a equals 10 then the value of a is 10 and the value of five is not there in a anymore list can be used to represent many variables together list as it seems just like a list of a type of variable and indexes are used to reference reference specific values in the list on the AP exam well usually in programming the first index is zero but
17:00 - 17:30 on the AP exam we assume the first index is one for this class the um value of index one of this list here is one index two is three index three is four index four is 11 and index five is 15 the length of the list is five that's are five uh numbers in the list strings you can think of strings as sort of a list of characters or word for example
17:30 - 18:00 this you can also concatenate strength concatenate essentially means just combining so this string plus this string will be this string the second string starts at the end of the first one lists also help create abstractions you can use list to abstract more complex topics so there are several math expressions that APM wants you to know
18:00 - 18:30 addition makes sense subtraction division multiplication addition you add stuff subtraction you subtract division divide multiplication multiply mod might be something new for you guys it essentially gives a remainder for example 10 mod 3 is one the remainder of 10 when divided by three is one and in general normal PEMDAS operations order of operations will be
18:30 - 19:00 used what you learned in um earlier in uh probably in middle school and here are some more things more Expressions booing Expressions so and means both the conditions have to be true for it to work or means only one of them has to be true and not means Nei neither of them can be true so if statements help control the
19:00 - 19:30 sequential control of a program if a condition is true in an if statement the program will go to the block but if not it'll just go outside the block unless there's an L statement if there is is an L statement essentially if the if statement is not true then it goes to the lse statement and conditionals can be nested you can have an if statement inside an if statement so if the first condition is true it'll go inside the first if statement if the second condition is true it'll go inside the second if
19:30 - 20:00 statement which is inside the first statement so Loops um Loops make it easy for programmers to do the same task many times for example let's say you want to print one a thousand times of course you can just say print one print one print one a thousand times but that'll take a long time instead what you can do you can create a loop that'll print it when that'll repeat the task inside the loop a certain number of
20:00 - 20:30 times so there are two types of Loops repeat end times you give the value right away or you repeat until X where X is a conditional repeat until X is true while Loops are repeat until X is true so while blank condition is true or I mean my bad repeat until X is false so while condition X is true true keep running but when condition X
20:30 - 21:00 is not true then you stop unfortunately while Loops can run infinitely if the condition is never stopped and it can never be it might not even be run if the condition is not true in the first place and the different type of loop is called a for Loop where you repeat it nend times and it's given to straight away that one's for uh straight
21:00 - 21:30 forward so now I'm going to go over a list again list to the group of a certain variable type and has many values in it and you can access the element at the index IA list by doing this on the AP exam in programming languages it might be a bit different but on the AP exam if there's a list called a list and you want to access the element index I where the first index is one and so on and it goes up by that this is what you do and you furthermore you can adjust
21:30 - 22:00 the value at the index I by just using the assignment operator a list at I equals x x will be the new value at for that list at that position you can also insert a value to a certain index which will be shown as insert on the AP exam essentially you just put the value that you're inserting right at that index a pen on the AP exam for list means you add a value at the end of it
22:00 - 22:30 and you can also remove an element from a list by remove you'll remove the element at the index that they give furthermore you can iterate through each element in a list by doing this for Loop for each item in a list and then do whatever you want with it you can print it add one to it and so on and linear searches can be used to look for a value in the list a linear
22:30 - 23:00 search is just when you start from the start and you keep going until you find the value you're you're looking for now I'm going to go over binary search quickly you don't need to have a really deep understanding but just know that you can only use it on sorted lists it's more efficient than normal linear search essentially how it works is if the list is sorted right and you're looking for a value let's say it's the list of numbers you first start at the middle middle index if the middle uh if
23:00 - 23:30 the value at the middle index is too big then you then you basically remove the top half because you know it's not going to be there since it's in sorted order and you keep doing that until you get the value you're looking for or if you realize the value is not there procedures so procedures in um normal programming languages might be called Methods or functions but procedures are essentially just a named group of programming instructions which have a purpose they may have input
23:30 - 24:00 parameters and they'll you most of the time they'll have a return value or they might not so parameters refer to the input variables and the arguments which and the arguments are the things that specify the values of the parameters different parameters might lead to different outputs depending on what what's called in the procedure so whenever you call a procedure then the program um goes to the
24:00 - 24:30 procedures statements inside the procedure with the input values input parameters you gave and procedures can sometimes return a value or it can display which is essentially print a value to the terminal procedures can also be uh an example of exraction for example let's say you have this huge complex procedure you might not know how it works but let's say it's a common procedure used online but you know what it does then you can just use that
24:30 - 25:00 procedure call it and you don't have to code it so you abtract that entire process in that one procedure even if you do not know what it does and it also helps code readability for example let's say you have a procedure that counts the number of trees in an area if you have it um in like if you don't you should probably just group it have all the statements in one one procedure like for example search the area look for uh leaves look for the
25:00 - 25:30 trunk and then um determine whether it's one tree or not and then remove that tree from the area have that all in one procedure one block so then if you want to use it on a different area you can call it again and subdivision essentially refers to separating sub programs having different programs for different purposes and that overall helps um the program work better and that's also
25:30 - 26:00 refers to as modularity libraries so software libraries have built-in procedures which can be used in new programs the use of libraries simplifies creating complex programs as it's already built in apis refers to application program interfaces and they are specif specifications on how to use proced procedures in the library and how they
26:00 - 26:30 behave and how to use them so every programming language will have an API documentation which lists how to use different libraries and it's really useful simulations simulations are just abstractions of complex processes they use a varying set of values to represent a varying state of a phenomena for example let's say um you want to simulate the weather of course
26:30 - 27:00 um waiting might take a long time just waiting for the actual weather that's why simulations are useful you can simulate it much faster and realize what's going to happen simulations can sometimes be biased but it's supposed to be used um to simulate real world events as it would be much cheaper than just waiting for the event to happen by bias can unfortunately occur
27:00 - 27:30 in simulations if for example um the data you use is skewed in one way the simulation will only predict one thing happening instead of the different outcomes if it is biased you can create a random number in a program by doing this random a comma B which will generate a random integer between A and B this is how it will be shown on the AP exam sometimes generating random numbers are useful to simulate variability that will
27:30 - 28:00 really exist in the real world algorithmic efficiency so um decision problems refer to problem that have a yes or no answer optimization problems refer to finding the best solution possible efficiency is measured as a comput is measured as um computational resour used by n it can be sometimes
28:00 - 28:30 expressed at the size of an input usually um let's say it's uh the input size n sometimes uh let's say the procedure will run n statements then the or it'll run the number of statements in the program then the complexity can be and efficiency can be o of N and it can also be informly measured as St by the number of times a group of statements occurs so on the AP exam algorithms with the
28:30 - 29:00 polom efficiency or slower are said to run in reasonable time I mean um polinomial efficiency or faster are set to run reasonable time for example a constant a linear or square or cube Etc that's set to run in reasonable time but exponential or factorial algorithms can run in unreasonable amount of times you can probably test this out yourself but for exponential and factorials as n
29:00 - 29:30 becomes larger the numbers expand extremely fast but for squares for example it won't expand as fast as these two when n gets really big heuristic algorithms refer to uh finding a solution which may not be all the time accurate but should use a shortcut and will run faster basically if you're not trying to find an exam to answer you can use a youro stick them and when Tech when optimal techniques will take way too
29:30 - 30:00 long to use you can try using a heris STI so decidable problems refer to problems that can be solved by an algorithm for all the correct outputs and can be produced for any input any input given the program will produce an answer but undecidable problems it cannot be solved by an algorithm for all the possible inputs possible that's the difference between the
30:00 - 30:30 two so use all of these skills that I stated um these skills can be used to create algorithms algorithms can be written in different ways for the same task you should know that and algorithms include many examples basic ones can be just finding the minimum or maximum of two numbers determining if an integer is divisible by another or finding the sum of a list or it can be extremely complex such as
30:30 - 31:00 determining whether a sample image is an example of skin cancer or not now we're going to go over to the next big idea computer systems and networks the internet so Computing devices are the physical artifacts that can run a program computers tablets and and routers and so on these allow you to run
31:00 - 31:30 programs and they can usually connect to the internet computer networks refer to groups of connected devices which are capable of sending and receiving data to each other in that group paths are a group or sorry are a rout of directly connected Computing devices in a computer network it starts at the sender it can go through many devices and the path will end at the receiver and rooting refers to the process of
31:30 - 32:00 finding the path from the sender to the receiver it can include many different um devices in the network or it can just be direct the bandwidth of a computer network refers to the max amount of time ah sorry max amount of data that can be set in a bit in a fixed time it's measured in bits per second for example in a computer network let's say you can only send 10 bits per second second that's the bandwidth you can't send you will not be able to send more than
32:00 - 32:30 that the internet is a computer network consisting of interconnected networks that use standardized and open communication protocols essentially there are these rules that govern the internet but um generally it can keep growing and many devices can connect to it access to the internet depends on the
32:30 - 33:00 ability of a Computing device to connect to an Internet connected device for example routers will help you connect your device like a computer to the internet and then you can go on the worldwide web you can go on YouTube Etc a protocol refers to an agreed set of rules that specify the behavior of a system and the internet will use open protocols which allows users to easily add new devices that's why it's so easy
33:00 - 33:30 to connect more many devices to the internet regardless of how many you've connected and you should note that the internet when it was designed it was designed to be scalable that means you can keep accessing new devices and it'll keep growing to meet demands so information in the internet is passed through data streams the these data streams con contain chunks of data
33:30 - 34:00 encapsulated in packets and packets will contain the data and the metadata packets can sometimes arrive excuse me packet can arrive to the destination in order out of order or not at all this will depend on the Roo rooting system and how the path is protocols can rearrange the packets in
34:00 - 34:30 order so that it'll be received properly by the receiver here are some examples of protocols which are used IP TCP and UDP and furthermore you all should know that the worldwide web is a system of linked pages and programs the worldwide web uses the internet and it also uses the program HTTP which is why when you type
34:30 - 35:00 something let's say I'm Safari it'll say HTTP at the start fault tolerance so fault tolerance really just refers to a system that can support failures the internet has been designed to be for tolerant with abstractions from ruling and transmitting data redundancy essentially means more
35:00 - 35:30 components are connected to a system so if some Roots fail then the data will go through other routes and reach the destination that way that helps U mitigate failure in case the other parts fail and you can int redundancy by having many paths between two connected devices this ensures that even if one path path fails the data can still relas to end
35:30 - 36:00 through the other path so fall tolerance Systems Support failures non-fa to tolerance systems will not support failures and redundancy increases reliability of the internet and helps it to scale to more people and more devices in sequential Computing operations are performed one at a time this makes sense right you start at the top you keep going down to the bottom and let's and you're using one
36:00 - 36:30 computer and parallel Computing let's say you have two computers you'll start both the computers at the same time and uh they'll work Sim simultaneously and they're broken up into smaller sequential operations and it'll take as long as all the sequential steps plus the longest of the parallel steps and speed up refers to the time it takes to do tasks sequentially divided by the time it
36:30 - 37:00 takes to do tasks in parallel in distributed computing systems many devices are used to run a program an efficiency of a Computing system can be used to compare time used to complete the algorithm the same algorithm should be used to compare on different systems to accurately test how well the systems work as different algorithms might lead to different times
37:00 - 37:30 so parallel Computing consists of a parallel and a sequential ption portion as stated you'll run as many things you can as in parallel but at the end you'll probably have one thing left to do in sequential this is more efficient than normal sequential Computing as you do many of them at the same time distributed computing allows problems to be solved which cannot be by a single computer because of processing time or
37:30 - 38:00 storage you'll have many different computers readily available and you can use all of them together to solve the problem this will help especially if data sizes are large efficiency of the parallel Computing system is limited by the sequential portion therefore at some point parallel Computing would not benefit um efficiency anymore so there is going to be one sequential portion if you keep adding more parallel
38:00 - 38:30 systems at some point eventually it's not going to benefit efficiency much longer they'll only add until you keep increasing efficiency now we're going to go over the final big idea this topic would be the impact of computing as a whole so computing as most things in life do have both beneficial and harmful
38:30 - 39:00 effects so people can create Computing Innovations which may not be anticipated in event advents advances in Computing have increase creativity in other fields like medicine Communications and the Arts Computing helps benefit these other fields however programmers have to consider the effects of their Innovations benefits can be Beyond what the programmer could have initially intended especially if the program is
39:00 - 39:30 ran or shared with many users the digital divide the digital divide refers to internet access varying between socioeconomic Geographic and demographic characteristics between countries people in poor countries won't be able to access the internet easily and they might not be able to this is why we need to try in issues of access and try improving equality and equity for all people in being able to
39:30 - 40:00 access the internet the digital digital divide is affected by actions of organizations and governments in different areas so Computing Innovations can have bises built in or it could reflect the programmer's inherent bias the person who programs the code decides all the things right so if he has biases he doesn't think stuff will happen a certain way he can write that in the
40:00 - 40:30 code this is why it's important to have many people working on it to try and reduce bias and programmers themselves should also purposely try to reduce bias in the algorithms and biases can be embedded in all levels of software development it doesn't matter how advanced or how a minimized it is this is why including diverse perspectives is so important crowdsourcing refers to obtaining input from large numbers of
40:30 - 41:00 people by the internet and using the inputs of that people to change your program you get more points of views which can benefit an innovation especially through the internet it's easy you don't have to invite anyone over and they can just do it online from the comfort of their own house and give input on your invention crowdsourcing offers more models of collaboration such as collecting businesses connecting businesses or social causes with
41:00 - 41:30 funding citizen science refers the scientific research done by a group of regular individuals who may not be scientists essentially just think of it as normal citizens doing some research in the area they can contribute relevant data to research using their own Computing devices they don't need all the fancy equipment and even we can do our own
41:30 - 42:00 citizen science projects an example of this could be um maybe examining the different kids in different playgrounds seeing how old the kids are there are also many legal and ethical concerns on regard of computing Innovations the material on a computer is considered intellectual property of the Creator the easy access means
42:00 - 42:30 digitized information raises concerns on IP for example there's so many ways to pirate movies TV shows so many ways to get books online for free even though you should be paying for it right this is where the ethical and legal concerns come in IP should be safeguarded IP refers to intellectual property by the way using material created by someone else without permission or credit given is plagiarism and may have legal
42:30 - 43:00 consequences this is good as it will prevent people from un um using um inventions that they can't unfairly continuing on with the legal and ethical concerns the Creative Commons is a public copyright license that enables free distribution of an otherwise copyrighted work content creators give the permission to share and use and build on the work if they use a creative commment license other
43:00 - 43:30 people are allowed to use it for free open source means programs are made freely available available and they may be redistributed or modified in the process Open Access means online research output free of restrictions of access anyone can access the online research open source means anyone can adjust it to these abilities help improve digital access to information all three of them you should
43:30 - 44:00 know this is pretty important creative comments open source and Open Access and know the differences between them also note that the use of material cited I mean the use of materials computed by someone else should always be cited when using sear Computing Innovations can raise ethical concerns such as as I mentioned earlier pired ebooks online some people think it's ethical
44:00 - 44:30 some people do not but uh if it's if you're doing it illegally then you probably shouldn't be doing it and do note that as it might occur on the AP Z now I'm going to go to Safe Computing pii refers to personally identifiable information it's information about someone that will them and Define them age race social security
44:30 - 45:00 number all of these Define that technology allows the use and exploitation of info uh by and for individuals groups and and institutions as you all know um all these big ad companies like Instagram they use ads and other things to get their money so they look at your information to get ads or to give you ads search engines can use search history for targeted
45:00 - 45:30 marketing and personal information like cookies can create knowledge on an individual and unfortunately information placed online may be used in non intended ways so that's why it's difficult to delete the information you put online so it's important to be careful what you post and what you do safe Computing continued authentication helps protect devices from unauthorized access multiactor authentication is an
45:30 - 46:00 example so the user or one way is um you know how when you log into Gmail many people have two-step verification that's an example you need a verify from one other verified account that you're that you're logging on to this strong passwords are also an example it's easy to remember but difficult to guess something you would know but something someone else would not know that's why several websites emphasize having a strong password with uppercase
46:00 - 46:30 and lowercase letters and symbols and numbers another example is multiactor authentication where a user you will know the answer to some basic question but other people might not for example what's your mom's name or what's your um what's your first dog's name encryption refers to the process of encoding uncoding data to prevent unauthorized access and decryption is
46:30 - 47:00 the process of decoding data encryption essentially hi the data so people lurking won't be able to see what it is decryption is decoding the data the person who actually needs the information can see what it is symmetric key encryption essentially means one key is used for both encryption and decryption the same key is used but public key encryption means the pair of key are used one public one for public which is encryption and one for
47:00 - 47:30 private for decryption think of public key encryption like a mailbox the mail person he can open anyone's box I mean he cannot open anyone's box he can just put the envelope in only you have the key to open the box and decrypt it certificate authorities issue certificates which are dig digital and that value the ownership of
47:30 - 48:00 encryption Keys using communication models furthermore on your computer your computer should have virus and malware detection this helps protect a Computing system against an infection but what are viruses and malware viruses refer to malicious programs that gain access to computer in in an unauthorized way they run independently on a computer malware refers to software
48:00 - 48:30 intended to damage a Computing system both of these are pretty bad you wouldn't want it on your computer which is why it's important to be careful fishing refers to a technique where someone tries to trick a user by revealing personal info about themselves and then they use that to access sensitive information such as bank accounts you have to be careful who you're giving personal information to on the
48:30 - 49:00 internet he loging essentially uses the program to record every keystroke made on a computer with the goal of gaining access to passwords and other confidential information a key logger can install something on your computer where you get access to everything you type in and then um they'll use what you type in as something you typed in is probably a password they'll use that to guess
49:00 - 49:30 passwords to confidential information such as Bank passwords a rogue access point is something that intercepts data being sent over public networks which is why it's important to Be watchful of lurkers when you're sending important data over networks as Rogue access points may be present on many sites uh there are sort of malicious links they can be disguised on web pages or even email
49:30 - 50:00 messages so be careful what you click on as it might install malware downloads you can also download malware unintentionally from the internet so that was all for the topics and yeah that was also all for um every topic we did it's not too challenging there's just some stuff you need to memorize and know the algorithms well those topics I just listed they
50:00 - 50:30 will help you on the McQ portion of the exam but there's also create task essentially in class your teacher is going to give you some time to code something up and it has a huge list of requirements and on the exam there's going to be questions they'll ask you about your code that you will fill in after the mtqs some example for a create task can include a Jeopardy game maybe uh an adventure
50:30 - 51:00 story or even just a Tic Tac to game and you can use any programming language you want to create it so there are some important definitions you should know for the create task sequencing refers to the idea that your computer program will run from top to bottom in that order and note that sequen thing can be broken when you call a
51:00 - 51:30 procedure selection refers to Boolean statements which uh indicate which statements a program will execute for example if you have an if statement and it's true then your program will go through that otherwise it will not iteration refers to repeating code steps for a certain amount of time or until a condition of math as I mentioned earlier in the in the video there are two types you should know for loops and while Loops
51:30 - 52:00 for Loops will run a certain number of times while Loof will run into a conditioned n and yeah these three are pretty important you should know this for the create task and yeah thank you all for watching if you have any questions please let us know down in the comments and shout out to slides go for creating infographic which was free to use