These are the stages of the software system life cycle.
What is the process of planning, creating, testing, and deploying software?
(Note: It's cyclical because after deployment, software often requires updates and maintenance, restarting the cycle.)
This is a definition of the acronym "IDE", and its key functions in software development.
What is an "Integrated Development Environment", that provides tools for coding, debugging, and compiling software?
This is the difference between compiled and interpreted languages.
What are compiled languages, which are translated into machine code before execution? What are interpreted languages, which are executed line by line by an interpreter?
(Note: In programming, a compiler translates an entire program written in a high-level language into machine code that can be directly executed by the computer before runtime, while an interpreter executes the code line-by-line, translating it to machine code as it runs, meaning the source code is needed every time the program is executed; essentially, a compiler generates an executable file while an interpreter directly interprets the code on the fly.)
Key differences:
-- Execution timing: A compiler translates the code before execution, while an interpreter translates it during execution.
-- Speed: Compiled programs generally run faster because the translation process is done upfront, while interpreted programs can be slower due to the real-time translation.
Legal rights that protect creators' work, like copyright, Creative Commons, and open-source licenses. They control how others can use, distribute, and modify the work.
What are intellectual property rights?
A "Vehicle" class might have properties like "number of wheels" and "maximum speed." A "Car" class, inheriting from "Vehicle," could add properties like "number of doors" and "sunroof." This concept demonstrates how sub-classes can extend and specialize the functionality of their parent classes.
What is inheritance (or what are super-classes and sub-classes)?
This is an explanation and example of "refactoring" in software design.
What is the process of restructuring code, while not changing its original functionality? What is improving internal code by making many small changes without altering the code's external behavior.
What are some examples as listed here? https://www.techtarget.com/searchapparchitecture/definition/refactoring
This distinguishes low-level languages from high-level languages?
What are low-level languages (like assembly), which are closer to machine code? What are high-level languages (like Python, Java), which are more human-readable?
These are the strategies, which you'll be asked about during the test, that can be used to protect against hacking.
What are the following strategies: use strong passwords; keep software updated; use firewalls and antivirus software; and be cautious about clicking links or opening attachments?
These are the most common symbols you will find in flowchart design. This is also an explanation of the symbols' purposes.
What are answers like the below that are fact checked by the cohort?
https://www.smartdraw.com/flowchart/img/basic-symbols-table.jpg
These are the three main categories of error types you can encounter when debugging code.
(Bonus for 150 pts: This is one example for each error type of a tool or strategy you can use to debug the program)
What are syntax, logic, and runtime errors?
Bonus: What are 3 answers fact-checked by the cohort?
Note: Use error messages, reference materials, language documentation, and debugging tools to identify and fix syntax, runtime, and logic errors.
This is the difference between a data type and a data structure. (When answering, please also provide examples)
What is a data type, which defines the kind of data (e.g., integer, string, boolean, char)?
What is a data structure that organizes data (e.g., array, list, stacks, queues)?
This is the definition of computer piracy.
What is copying or distributing software without permission?
This is a description of the "black box" approach in program design and its benefits.
What is designing a component so that its internal workings are hidden? What is ensuring users only interact with its inputs and outputs, simplifying the program's use?
These are examples of at least 2 different software development methodologies, and how they compare to each other.
What are examples fact checked by the cohort?
https://www.geeksforgeeks.org/5-most-commonly-used-software-development-methodologies/
https://www.indeed.com/career-advice/career-development/software-development-methodologies
This is a definition of computational thinking and it's 4 core concepts.
What is a problem-solving approach involving decomposition, pattern recognition, abstraction, and algorithms?
Considering the uniform resource locator (URL) https://example.net/index.html, these are the answer choices representing what is contained in the URL?
A. Browser name
B. Email address
C. File name
D. Host name
E. MAC address
F. Protocol
What are options C, D, and F?
Options C, D, and F are correct. Option C is correct because the file name is indicated by index.html.
Option D is correct because the host name is indicated by example.net. Option F is correct because the protocol is indicated by https.
Options A, B, and E are incorrect because the URL does not contain information about browser name, email address, or MAC address.
This is an example of how to draw a class diagram using UML techniques.
[Note: Unified Modeling Language (UML) is a standardized visual modeling language that is a versatile, flexible, and user-friendly method for visualizing a system’s design. Software system artifacts can be specified, visualized, built, and documented with the use of UML.
Source: Geeks for Geeks
]
What is a demonstration that looks something like this?
https://media.geeksforgeeks.org/wp-content/uploads/20241010144554871458/Class-Diagram-example.webp
These are examples of how you would create truth tables for AND and OR boolean operators.
What are examples written on the whiteboard, as fact checked by the cohort?
This is the difference between "pass by value" and "pass by reference" when passing arguments to functions.
What are the following differences?
"Pass by reference" means when a variable is passed to a function, the function receives the memory address of the variable, allowing it to directly modify the original variable; while "pass by value" means a copy of the variable's value is passed, so changes made to the copy within the function do not affect the original variable in the calling code
https://blog.penjee.com/wp-content/uploads/2015/02/pass-by-reference-vs-pass-by-value-animation.gif
This is what WAN stands for.
(Bonus for 50 pts: This is how WAN is different from LAN)
What is a Wide Area Network?
What is the fact that WAN connects computers across a large geographical area, unlike a LAN (Local Area Network)?