PLTW CSE final
access and store data within a server and communicate to server
API usage
website
After your group completes the project, you need to present a summary of the research, development, and collaboration processes used during the project; demonstrate the recommended product solutions via an embedded link or movie clip; and allow long-term access to multiple professors and potential employers. Which tool best meets these requirements? website document spreadsheet desktop publishing
True/False
Boolean expressions
define the problem, set development milestones, prepare, investigate, plan, design and test, evaluate and reflect, present solution
Computer Science Design Process
global
Data that needs to be accessed by all parts of the program needs to be stored in what type of variable
local variable
Data that only needs to be used for a certain function is stored in an
A class is like a blueprint for a house. An object is like a house that is built from those blueprints
Describe a metaphor that highlights the relationship between the concepts of classes and objects.
a count that gets incremented by a set amount per iteration is a subtype of accumulator. Accumulators can be increased or decreased by fixed or varying amounts; they don't necessarily need to accumulate through a loop, though that's the most common case
Describe the difference between incrementing a count and an accumulator.
an object is an instance of a class. Objects have fields or attributes that are defined within the class, but contain different values for those attributes, which makes each object unique
Describe what it's like to program with objects.
performs a division operation and returns the remainder
Describe what modulo is doing.
a function returns a value, but a procedure does not have to, a function accepts input values and returns one or more values, a procedure is a small component of a computer program that may contain one or several specific algorithms to accomplish a certain task
Differentiate between functions, procedure, and methods
shows data, HTP, connects to server
Get command
algorithms use conditionals and logical operators to direct procedure and execution flow. Arithmetic operators perform calculations to produce the final result of a mathematical formula
How are arithmetic and logical operators intergrated into algoirthms?
functions allow a programmer to set aside an entire section of code and tell the program to execute that section from top to bottom whenever a given set of syntax known as a function call is encountered. Once the set aside section of code is fully executed, flow of control returns to the point of the function call
How do functions change the flow of control in a python program?
a template for creating objects. A class is a grouping of functions and associated data into a cohesive unit. A class specifies the methods and attributes(also called properties) that are related to an object. When an object is created from a class, the resulting object is called "an instance of the class"
How do you define "Classes" and "Objects" in Object Oriented Programming?
a sequential and prioritized list of what needs to be done to create the app the user wants. The list can be technical requirements or user centric in the form of user stories
How do you define backlog?
a storage space on a device that is used to store information from an app
How do you define database
manage version control, routinely gather feedback, regulary communicate with the client
How do you make an app user centered?
ask the user about needs and concerns
How do you plan effective communication?
it removes some of the details like syntax of coding to focus on the end product, and not on the details of the coding language
How does block based programming make life easier when coding? Why do they have more abstraction like text-based programming like Python?
cycle through and revise when needed
How would you iterate a process?
creativity and updated problem-solving strategies, teamwork and collaboration
In a follow-up meeting with the client, you discuss innovation. The client informs you that the main reason they chose your company to make this version of the app was because of your innovative style and methods. Which elements does your company most likely value in order to be a leader in technology innovation?: creativity and updated problem-solving strategies speed and repitition standardized templates teamwork and collaboration individually completed projects
False
It would be ethical for me to attempt to hacking my friend's account using API methods if they said I could.
modify the data at the end point
POST/<user>/reset?password=<password>
adds text to a user's list
POST/<username>?text=<string>
add data, HTP, connects to server
Post command
it allows a programmer to focus on specific algorithms while coding or debugging, it allows a programmer to write the algorithm once but use it anywhere they would like, it reduces the complexity of the program and makes it easier to modify for future iterations
Procedural abstraction is useful for programmers because ...
ensures the scrum process is followed, protects the team from distractions and removes obstacles
Scrum role: Scrum master
A self-organizing and cross-functional work group, decides how backlog items are divided into tasks
Scrum role: The team
keep track of the product requirements, maintains the product backlog items, advocate for the users
Scrum role: product owner
create user story, prioritize backlog items, assign tasks, gather feedback, revise backlog, determine if all backlog items were completed
Steps in scrum development
False
T/F: Lists can be used to store both string and integers in the same index (element) of a list.
True
T/F: Lists may be used to store both strings and integers at different index locations of the same list.
False
T/F: When two lists are added together, one of the original list is lost.
requires attention to detail. Leaving out a ' or } can cause an error, gives programmer more control
Text based languages:
access and store data within a server, and communicate with the server
The API allows the mobile app to ______________ and ________________
specifies how software interacts, connects many different devices
What are APIs used for?
a range of color values that are considered by a vision system to belong to the same color
What are color signatures?
if-then or if-else-then
What are conditional statements?
lighting can have a big impact on how objects are recognized, as pigment and light interact in a multitude of ways to impact perceived color. Using images can help improve the navigation ability of an SDV over a program that uses pure dead reckoning or even simple sensors
What are some advantages and challenges to using images and machine vision to make decisions in a program?
high levels of abstraction, like the use of functions, allow you to create programs more effectively, but may limit the amount of control you have over details in the code.Using low levels of abstraction allows you more control over procedures within the code but can also take more time to develop
What are some advantages and disadvantages of working at high and low levels of abstraction?
arithmetic= +, -,/,*, relational are less than, greater than, and logical are if things are equal or !=
What are some arithmetic, relational, and logical operators?
access, modify, insert, iterate through elements, or delete
What are some essential operations yo do with lists?
loops make it unnecessary to repeat a process in an algorithm. Instead variables can help control the number of times something occurs, making the program more dynamic based on user input
What are the advantages and benefits of using loops in an algorithm?
it is helpful to have more than one person working to solve a task, but it can be difficult to agree on what to do to accomplish that task
What are the advantages and challenges of pair programming?
Find an idea to pursue, set your development milestones, prepare, investigate, and plane, design, create, and test, evaluate and reflect, present
What are the steps for development cycle for an application?
designer view-where you can create the user interface and add common features you want in the app.This is where you let the program know what components you will later want to code blocks view-program the features that you added in the designer view
What are the two views in MIT app inventor and how are they different?
"Hack" means to access something you were not given specific permission to access
What does it mean to "hack"?
a command processor that typically runs in a text window. Bash is a text-based way to manipulate a computer's file structure and execute commands. Bash can also read commands from a file, called a script. In cloud9, it is also called the python interactive interpreter
What is a bash command?
List components store questions in a set order, with each question having its own identifying number called an index, mit app inventor starts at 1, python starts at 0
What is a list and how does it use index?
a program that contains many missing pieces to be filled in. Often skeleton code contains comments to inform the programmer what kind of code needs to go where, so others can take the tracer round of the program and modify it for their needs
What is a skeleton code?
A technique or process that manages complexity in a program or computer system. Abstraction "hides" details or removes duplication, allowing the programmer to focus on high-level considerations and functions rather than the rules of a programming language
What is abstraction? Explain with an example.
"agile software development" refers to a group of software development strategies that are based on iterative development, where requirements and solutions evolve through collaboration between self-organizing, cross functional teams. Scrum is an iterative and incremental development process used by a team of developers to create a product that benefits from input from multiple stakeholders
What is agile and scrum software development?
An algorithm is a set of processes to get the same conclusion each time. It outlines the steps necessary for a particular outcome
What is an algorithm?
cloud computing is happening any time your data is stored by a company and instantly accessible to you
What is cloud computing?
argument-the values that a program provides to the function or subroutine, parameter-a variable defined in the function to receive specific information
What is parameter and argument?
for loops are arranged for ease of readability when the steps within the loop need to be executed a specific number of times, while loops are used most commonly when waiting until a program state changes to stop preforming an operation, for loops are better for literating over lists, wheras while loops are typically better at dealing with user input
What is the difference between a while and a for loop?
event handlers-look for inputs or events to know when to perform a specific action and provide specific outputs, procedure-a set of actions or instructions to follow in solving a problem or accomplishing a task, also called subprogram, a procedure is a group of statements that may be used at one or more points in a computer program
What is the difference between event handlers and procedures in MIT app inventor?
sensors, like encoders, color sensors, range sensors, vision sensors, or even a camera
What strategies could you apply to increase the chance of your self-driving vehicle navigating an environment without hitting anything?
high level of general abstraction
What type of abstraction is used in complex programs?
tablet and cell phone
Which device or devices will best demonstrate running this version of the app?
create functions
Which of the following allows a programmer to create new abstraction?
connects many different types of devices that access the internet, specifies the protocol of communication between device and server
Which statements describe an API interface?
APIs allow computers to connect with server to get or post information
Why are APIs such an essential tool in computer science today?
lists allow for a set way to collect, store, and change connected data
Why are lists considered essential in computer science?
procedures may be defined and called by multiple places in the code, instead of redefining the whole procedure in multiple places. When you call the procedure, you are not worried about the individual parts of the procedural code anymore, but instead what the procedure accomplishes as a whole. The details of the procedure are abstracted as you call code in other places
Why are procedures considered an abstraction?
if the user doesn't like the look or functions of the app, they will not use it. Identifying and building toward a target audience help with the app being used, supported, and possibly funded
Why are user stories and user-centered design so important when creating an app?
The procedure might take input from multiple places(based on where it is called), modify variables for an output, or otherwise need to be reset back to set amounts each time the procedure is executed
Why do you need to initialize or set the values at the beginning of a procedure before using those values in a procedure?
arrays are able to store vast amount of data elements that can be manipulated and used throughout a program. Programs can also store data in arrays for organizational purposes and later use in the program's execution
Why do you think arrays are an essential concept in programs?
scrum master, sprint task list(backlog items)
You are preparing for a meeting with your Agile development team to discuss the client's app project. Which items will be essential to assign at the first meeting? Select all that apply. scrum master debugger properties of user interface sprint task list (backlog items)
rountinely gather feedback, regularly communicate with the client during the entire design process
Your group needs to explore ways to incorporate user-centered research and design techniques into software solutions. Which actions should your group use?
array
a type of data structure that can store a fixed number of elements, as long as they are all the same data type
text-based languages are not as restricted, as there are many more ways to program than just how the blocks will or will not fit together
what are some advantages to programming in a text-based language compared to a block-based programming language?
Integrated Development Environment contains tools that help developers create software. These include text editing, syntax highlighting, compiling or interpreting, file management, and many more features
what is an IDE?