Academic Bowl Computer Science Toss - Ups

Ace your homework & exams now with Quizwiz!

program optimization

Question: A classic example of this operation exploits the principle of locality of reference in a matrix multiplication algorithm. When performing this operation for C, one might first pass the -pg flag to gcc and then use a tool such as gprof. Loop unrolling is an example of this operation that would be automatically performed by a compiler. A way to perform this operation is to move disk reads to (*) cached in-memory reads. This operation is typically performed by a programmer after using a profiling tool which identifies the program's bottlenecks. For 10 points, name this practice of improving the speed of an algorithm or program.

finite-state machines

Question: A generic chart version of these constructs can be described using Harel notation. One can convert between the two main types of these constructs by using the subset construction. The delta functions for these constructs are a mapping from the cross product of capital sigma and S to S. Two popular models of designing these constructs are the Mealy and Moore models. They aren't languages, but these objects correspond to the smallest set in the standard Chomsky hierarchy. The diagrams used to depict these constructs and their more powerful relatives often use a double circle to indicate an accept state. For 10 points, identify these constructs that hold a limited amount of information and change states according to their transition function.

Programming Languages

Question: A popular one of these constructs was designed by Thomas Kurtz and John Kemeny at Dartmouth. One sub-class of these entities lack side effects and are exemplified by Miranda and Clean; those are the "purely functional" types. They're not context-free grammars, but the Backus-Naur Form is often used to define syntax in these entities. One of these constructs is named for (*) Haskell Curry. Type conversion is easy in examples of these constructs that have weak typing. These constructs are usually supplemented by a standard library. Low level examples of these constructs include Assembly, while higher-level examples include PHP and Python. For 10 points, name these constructs that include C, BASIC and Java, used to write programs.

Turing machines

Question: A two-dimensional variant of this model found in the game of life is known as Langton's ant. Savitch's theorem guarantees that adding non-determinism to these entities does not improve their ability to save space. For partial functions, Rice's theorem states that these items cannot find their non-trivial properties in a finite amount of time. Their namesake showed that the halting problem for them is undecidable. A thesis partially named for Alonzo (*) Church states that all reasonable models of computation can be simplified to this one. Consisting of a read-write head and a finite state machine, it is able to manipulate symbols on an infinite tape. For 10 points, name this model of computation developed by a namesake British computer scientist

Trees

Question: A type of this data structure used for storing two-dimensional data can come in a polygonal map variety. Data with multi-dimensional keys are sometimes stored using the k-d type of these objects. Another type of these data structures uses left-rotate and right-rotate to maintain balance following insertions and deletions and is named for the (*) two types of nodes allowed within it. These data structures are not arrays, but can be used to store heaps. Databases and file systems often use the "B" variety of these data structures. The top elements in these data structures are called roots, while the bottom elements are called leaves. For 10 points, name these data structures that come in a Binary Search variety.

memory

Question: An archaic form of this resource was implemented by Bell Labs using a piggyback twistor. A more recent form of this resource that was created using chalcogenide glass is named for the property of phase-changes. The access latency for this resource can be reduced by using a translation-lookaside buffer, as one can avoid looking up things in a page table entry. A redundant organization of this resource is performed by (*) RAID. The top of a "hierarchy" of this resource contains processor registers and cache. It can be divided into volatile and non-volatile, the latter of which includes hard drives. For 10 points, name this resource that is used for data storage, an example of which is RAM.

bits

Question: An infinite number of these objects comprise the Baum-Sweet sequence. A rudimentary form of error checking involves utilizing a parity one of these objects. Although it doesn't involve cin and cout, in languages with C syntax, operations named for these objects can be performed by using two less than or greater than signs, which are left and right shifts. The most significant one is often used to store (*) signedness, and they can be toggled using a namesake mask. One of these objects can be used to store a boolean value. In most systems, a collection of eight of them is known as a byte. For 10 points, name these most basic units of data in a computer, which can be 0 or 1.

relational databases

Question: Armstrong's axioms govern the inference rules for this kind of structure. They can be partitioned into horizontal units called shards. The logical consistency of these structures can be improved by converting them into Boyce-Codd form, one of the many normal forms for these entities. Atomicity, durability, consistency, and isolation comprise the ACID properties of these structures. Items organized in these structures can be stored in (*) column-oriented or row-oriented formats. They are typically accessed by using queries through a language like SQL. For 10 points, name these computer programs that store large collections of information.

CPU

Question: Asynchronous examples of these devices include AMULET and ILLIAC II, which are coordinated using pipeline controls and FIFO sequencers. They operate primarily based on fetch, decode, execute, and writeback, and the von Neumann bottleneck limiting their performance can be reduced by adding a (*) cache. They transmit information between the ALU, registers, and memory, and their clock rate is typically measured in gigahertz. Multiple cores can be found in ones manufactured by AMD and Intel. For ten points, identify this hardware component that handles instructions and computation for a computer.

binary heaps

Question: Because a Young Tableau consists of rows and columns of numbers that are sorted, functions that search and extract the minimum value from these data structures are easily extended to such. Implementing a priority queue using this data structure provides good performance for Dijkstra's algorithm, especially when its Fibonacci type is used. An in-place sorting algorithm named for these data structures has an average runtime of big O of n log n, combining the best properties of insertion and merge sort, respectively. The binary type of these data structures must be complete binary trees. For 10 points, name these data structures whose order property dictates that data stored in a node must be less than or equal to all the node's descendants, so the smallest value is the root node.

methods

Question: C++ allows the overriding of the "virtual" examples of these things. The term "signature" refers to the number and types of arguments to one of them; if two of these have the same name but different signatures, that phenomenon is called "overloading" these. Accessors and mutators are special types of these used to "get" and "set" fields. Special names may be required for the constructor and destructor examples of them, some of which in Java possessed by all classes are called hashCode and toString. Name these functions performed by objects.

sorting algorithm

Question: Compared to other types of this procedure, one type of it performs better the closer it is to completion, scaling from big O of N squared to big O of N . The shell type of this procedure improves on that previous insertion type. The last element of the partition is sometimes chosen as the (*) pivot position in a type of this procedure that uses a "divide-and-conquer" and recursive algorithm; that type is named for its speed. One of these procedures allows elements to "rise" to the top by comparing them and appropriately swapping them based on their values. There are bubble and quick types of, for 10 points, what computer science procedure in which a list is placed in order?

Graphical User Interface Programs

Question: Components of this type developed in Ruby often make use of the Shoes toolkit. XAML is used to create these parts of a program in WPF for .NET applications; WPF replaced the older WinForms paradigm for creating these parts of programs. This part of a program comprises the "V" portion of the MVP design pattern. Libraries to create these parts of applications in Java include (*) AWT and Swing. Most libraries for these entities include widgets like labels, radio buttons and text boxes. Command-line applications do not have these. For 10 points, name these parts of programs that use images rather than text to handle user interaction.

C++

Question: Critics often argue that this multi-paradigm language allows programmers to mix object-oriented programming with procedural functions, though its successor only follows the former paradigm. Its successor has automatic garbage collection, but this language requires explicit cleanup of memory. This language has notoriously finicky pointers, since it uses value semantics by default and has no safeguards in place as Java does. For 10 points, name this general-purpose programming language developed by Bell Labs, a successor to C with a similar name

quicksort

Question: Doug McIlroy described a way to find the worst inputs for this algorithm in "A Killer Adversary for" it. Switching from it to an in-place algorithm at a sufficiently deep level of recursion results in a logarithmic worst case runtime in an algorithm developed by David Musser. The complexity of this algorithm increases as its workload decreases, which is why running it on an ordered list has complexity O(n^2) ["big oh of en squared"] even though its average runtime is O(n log n) ["big oh of en log en"]. First developed by (*) C. A. R. Hoare, its second step partitions elements of a list which are greater and smaller than a pivot. For ten points, name this algorithm, the fastest sorting algorithm known

loops

Question: Duff's device is commonly used to remove these items from a piece of code. The removal of statements from these structures is called hoisting or scalar promotion. An empty type of this structure is used to implement a busy-wait scheme. During compilation, they are typically removed through a process called unrolling. In most languages, including Java and C, the continue keyword passes control to the "nearest" of these structures. When using a type of these structures, the (*) control variable is declared when it is initialized and only has local scope. These structures are evaluated at least once when both the keywords "do" and "while" are used. For 10 points, name these pieces of code that are usually executed several times until a condition is met.

exponential function

Question: Examples of the "double" type of this function include the asymptotic runtime of evaluating a statement in Presburger arithmetic, as well as that of generating a Gröbner basis via Buchberger's algorithm. The number of inputs to a multiplexer is proportional to this function of the number of select lines. If P is (*) not equal to NP, then the fastest algorithm for solving the traveling salesman problem will have a runtime described by this function, which is considered the fastest computationally intractable runtime. For 10 points, name this mathematical function that is the inverse of the logarithmic function, often represented with the letter e.

software testing

Question: Frameworks for assisting in this practice include Selenium and Lime. Thoroughly performing this action tends to result in high block coverage. Forms of this practice include the integration and regression types. The term dogfooding is used to describe internal forms of this practice. This process can be performed using tools such as xUnit. Tools that simulate a high number of concurrent connections are useful in performing the (*) "load" or "stress" type of this practice. Alternative layouts might be shown to different groups of users in a website practicing the A/B form of this technique. The public is often asked to participate in the "beta" form of this process. For 10 points, name this practice that tries to root out bugs in programs.

computer viruses

Question: Fred Cohen proved in 1984 that no algorithm exists to detect these entities. Veith Risak created an assembly language variant of this entity that was based on theories put for in a 1966 paper by John von Neumann. That paper introduced the theory of self-replicating automata. In the 1980s, a proof-of-concept version of this entity notably displayed the message "catch me if you can!" In addition to "Creeper", a more recent type of this entity has affected over one million computers and is called "Gozi". For 10 points, identify these computer programs that are targeted by Kaspersky Lab and McAfee, and which behave in a manner similar to their biological counterparts

Windows 8.1

Question: Gabe Newell called this platform's store a threat to Steam, and it was announced at Computex 2011. Gadgets were removed from this platform, and this product is the first of its kind to implement universal searching from anywhere within an application, true inter-program multitasking, and a built-in file system explorer. USB 3.0 is natively supported on this platform, as is 3D Printing. This platform allows its users to see a graph of file transfer speed, and clicking a monitor's corner in this operating system allows users to switch between apps and activate a "Charms" bar. For 10 points, name this operating system whose Start screen features live tiles, recently created by Microsoft.

NOT

Question: Gates representing this operation are symbolized with a triangle with a circle at its tip. According to modus tollens, this operation applied to Q implies this operation applied to P, if P implies Q. In Java, this operation is represented with a "bang" or exclamation point. This operation may be represented as a tilde before a proposition. DeMorgan's Laws give the result when this operation is applied to binary conjunction and disjunction. The inverse of a logical statement requires this operation to be applied to both statements. When applied to binary 0, it results in 1. For 10 points, name this binary operation that gives the logical opposite.

Turing Machines

Question: Hennie and Stearns proved more complex forms of these mathematical constructs were at most log T more efficient. The "o" variant of these constructs rely on an outside oracle. These constructs correspond to type 0 grammars, and they were put forth in a paper about the Entscheidungsproblem (ent-SHY-dungs-proh-blem). When they can have more than one rule at each stage, they are called (*) non-deterministic. The question of whether an arbitrary one of these objects ever stops in called the halting problem. These objects have a read-write head and an infinitely long tape, while universal ones can run any known algorithm. For 10 points, name these models of computation devised by a British computer scientist.

recursion

Question: If a call is the "tail" variety of this, a functional language will not add that call to the stack. Memoization provides a faster alternative to this concept, which is exponentially slow in the case of computing the Fibonacci numbers. This idea is the basis for divide-and-conquer algorithms, which break a problem down into smaller sub-problems until either a stack overflow occurs or a base-case problem is reached. This concept is also used by the relation that defines the Fibonacci sequence and by the factorial function. For 10 points, identify this concept in computing, wherein a function references itself.

array

Question: In low-level languages, these data structures are often described by dopes, which can be used to create new data structures of this type in a process called slicing. Examples of these objects that have low cache misses are named for Douglas Haskins' sister Judy. The stride of these data structures gives the distance in memory between successive entries. A map or dictionary is sometimes referred to as an (*) associative form of this data structure, as elements are indexed by keys rather than a zero-based integer. These objects have big-O of 1 lookup and storage time. Two-dimensional ones can be represented by a matrix. A for loop often iterates through them. For 10 points, name these simple data structures often declared using square brackets

Pointers

Question: In one recent programming language edition, these pieces of data can be weak, shared, or unique. PRAM parallel algorithms often simplify algorithms by using a jumping technique named for these entities. These entities are called (*) "wild" when they have not been properly initialized. Arithmetic on these entities can be used to access different indeces of an array. These objects are returned after successful calls to the malloc function. In C, these objects can be created by using the ampersand operator to get the address of another variable. When these entities refer to objects that have been deallocated, they're called dangling. For 10 points, name these entities, often deferenced with an asterisk, that stores references to objects in memory.

arrays

Question: In php, this kind of variable is the output of the explode function. This kind of data structure is being probed during quadratic probing and linear probing, which are used to resolve collisions when using hash functions. Doubling the capacity of these items during resizing can be used to show that insertion and deletion from them is performed in amortized constant time. The associative type of this data structure is actually a map of key and value pairs. C style (*) strings are basically these data structures filled with chars. Like pointers, they are allocated in many languages using the asterisk operator. For 10 points, name these linear data structures which are accessed using square brackets, and which can be thought of as one-dimensional matrices.

Insertion

Question: In some cases, performing this operation on a B-Tree requires elements to be partitioned according to a median and then split. In a Red-Black Tree, this operation is followed by at most two additional tree rotations. Geometric expansion is used to ensure that this operation has an amortized constant time in Java's ArrayList. A sorting algorithm named for this operation considers the element at position i in the loop and then sequentially swaps that element with any (*) already sorted entries in the array that it is less than. After performing this operation with a node X in a linked list, the head may now point to X. This operation is equivalent to a push in Java's Stack implementation. For 10 points, name this operation of adding an item to a data structure.

compiler

Question: In some circumstances, these programs perform modulo scheduling. These programs sometimes perform operations like re-materialization and loop unrolling. Forward declarations help these programs run in a single pass. The front end of these programs generates an intermediate representation and execute after type checking takes place. Java relies on the (*) just-in-time variety of these programs. These programs create bytecode and usually work in tandem with an interpreter or virtual machine. In C, these programs often rely on a makefile. These entities fail to complete their task when a program has syntax errors. For 10 points, identify these programs that transform source code into machine-readable code.

minimum-weight spanning trees

Question: In the process of crafting a deterministic linear-time algorithm to construct these objects, which has a runtime proportional to the inverse Ackermann function, Bernard Chazelle invented the soft heap. The verification step from Boruvka's algorithm for finding these objects is sometimes used in other algorithms for them. Because the set of forests of a graph forms a graphic matroid, greedy algorithms are very effective at constructing these objects. Constructing one of these objects often relies on finding a light edge that crosses a cut. Two algorithms used to find these objects, which run in big O of edges times log of vertices, are Kruskal's algorithm and Prim's algorithm. For 10 points, name these acyclic subgraphs that connect all the vertices of a graph, with smallest edge cost

stacks

Question: In the shunting-yard algorithm, function tokens are inserted into this type of data structure. A finite-state machine and this component comprise a push-down automaton. In contrast to heap-based allocation, this type of memory allocation is quicker and usually automatic, though misuse of it can lead to an overflow. A common way of debugging a program is to trace the callers of a subroutine stored in this structure. The disks in the (*) Towers of Hanoi problem are stored in this type of data structure. Elements of this container class can be inserted by pushing and subsequently removed by popping. For 10 points, name this last-in, first-out data structure that is often contrasted with a queue.

Trees

Question: Lamport signatures are stored in one variety of this data structure, and another variety of this structure is self-balancing and is called red-black. They come in hash and ordered varieties, and the number of nodes in a complete binary one is equal to one less than two raised to the quantity h plus 1, where h is the height of it. A complete one has all ends equidistant from the origin, and a free one lacks a first node. They have a root node which is the parent or ancestor of all subsequent nodes. For 10 points, identify this data structure consisting of branches that terminate at leaves.

stacks

Question: Languages that support continuation often employ the "spaghetti" form of these entities. Entities of this name can use canaries to check for unexpected values. Attacks on those entities employ smashing, and they can be both wound and unwound. Those entities of this name contain data like the (*) return address and a function's local variables. A data structure of this name was used to store data in calculators that used reverse Polish notation. Along with the heap, it's where data is stored. This is also the name of a data structure that supports push and pop operations. For 10 points, give this name for a data structure that, unlike a queue, operates on a "last in, first out" principle.

adder

Question: Ling slightly simplified one form of this circuit by factoring out a propagate term from the group generate signal despite it not being a common factor. That form of this circuit helps eliminate the gate delay of the ripple-carry type of this circuit. A basic implementation of it feeds the two main bits into an XOR gate and an AND gate, sends the output of that XOR gate, along with a C-sub-in bit, to another XOR gate/AND gate pair and ORs the output of the AND gates together. A naive implementation of this circuit eliminates all but the first XOR and AND gate from the aforementioned design; that is the "half" type, which does not support a carry-in bit. For 10 points, identify these basic blocks used in arithmetic logic units which sum binary inputs.

C++

Question: Linus Torvalds once criticized this language on the grounds that some of its features promoted bad practice. One extension he mentioned, Boost, adds capabilities in mathematics, image processing, and operating system interaction, and provides a way to do template metaprogramming. Name mangling is used by this language to implement polymorphism, and printing to StdOut in this language is done with "c-out" followed by two angle brackets. For 10 points, name this programming language designed by Bjarne Stroustrup, once known as C with Classes.

Boolean expression

Question: One algorithm that reduces the complexities of these functions begins by finding the essential prime implicants and ignores "don't care terms." The Quine-McCluskey algorithm minimizes these statements, which helps in producing smaller circuits. For these types of statements with less than four variables, it is typically easier to minimize them with Karnaugh Maps. These expressions may be written in (*) conjunctive normal form or disjunctive normal form and typically evaluate to either true or false. For 10 points, name these expressions that are named after a 19th century mathematician, which are used in a namesake field of logic.

Plaintext Passwords

Question: One common way of storing these entities begins with the string $2a$ [dollar sign two a dollar sign]. These entities are stored in shadow files. These entities comprise the values in rainbow tables. These entities are combined with (*) salts before storing them. Modern GPUs allow for easier brute force attacks on these entities using programs like John the Ripper. Before being stored, these entities are often passed through the SHA or MD5 algorithms. Some of these entities are vulnerable to dictionary attacks, even after a cryptographic hash has been applied. These entities can be "cracked", and short, lowercase ones are among the least secure. For 10 points, name these strings of characters required to log into an account.

search

Question: One method of doing this process introduced by Jack Kiefer takes into account non-uniform memory access time and is named for Fibonacci, while a probabilistic quantum algorithm for this is named after Lov Grover and takes big O of square root of n time. Poor implementations of one algorithm fail for large sets, as adding two interval endpoints then dividing by two can give an overflow error. For ordered lists it can be completed in big O of log n time, while the best general algorithm takes big O of n time as it requires looking at each element. For 10 points, identify this process that has "linear" and "binary" versions used to find an element in an array.

Relational databases

Question: Peter Pin-Shan Chen wrote an influential paper on the entity-relationship model of these constructs. Integrity, distribution independence, and the nonsubversion rule are part of a set of "12 Rules" for these constructs, created by Edgar F. Codd. One with no repeating elements or groups of elements satisfies their first normal form. A hash join is a popular algorithm used with these constructs. Links between subunits of these constructs can be created by using foreign keys. A popular language used with these constructs is SQL. Records are stored in rows in these constructs, which are found in tables. For 10 points, identify these constructs used to organize data

Linked Lists

Question: Problematic instances of these data structures are found with algorithms named for Floyd and Brent. Several of these data structures are combined in a probabilistic data structure comparable to balanced trees. These data structures can be indexed in big O of n time. CAR and CDR are used for these structures in LISP, and stacks and queues are most often implemented using them. Sentinel nodes are used in implementations of these structures to make the last element point to something other than null. For 10 points, name these data structures, a type of list where each node contains a pointer to the next one.

Java

Question: Project Lambda is an initiative to add closures to this programming language. Fragments were recently introduced in one use of this programming language in which Intents are used to interact with other apps. The graphical user interface for it is provided by the Swing library, and its just in time compiler compiles its bytecode. Used to write Android applications, this object oriented language uses ArrayLists, and programs in it often include the phrase "public static void main." Applets written in this language are often found on web pages. For 10 points, name this programming language named for an Indonesian island whose logo is a cup of coffee.

hard disk drives

Question: RAID arrays are combinations of these objects that often connect via IDE or Serial ATA. They are sometimes replaced by SSDs and can be structured using NTFS or FAT. These objects contain spinning platters that use magnetism to (*) store data, so the data is retained even when they are powered off. For 10 points, name these devices with capacities often in the terabytes, used to store computer data.

CPU

Question: RISC and ARM are architectures for these devices, which typically use the four-step procedure of fetching, decoding, executing, and performing writeback. They can become superscalar via parallelization, and context switching allows them to undergo multithreading. Recent ones often use x86 architecture or the L3 multilevel variety of a cache. These devices' clock rate is their rate of instruction execution, and the most advanced modern ones have rates of about three gigahertz. For 10 points, identify this computer component that carries out programs' instructions.

Relational databases

Question: Ralph Kimball is a proponent of using a star schema to define a type of these objects used for business intelligence known as a warehouse. HBase supports large types of these entities and interfaces with Hadoop. These entities are typically backed by an audit trail, and they can be traversed with cursors. Data types in these entities can be NVARCHARs. Durability, isolation, (*) consistency, and atomicity make up the four ACID rules that govern transactions in these entities. Linking different parts of these entities together is often done by joining on foreign keys. These entities are usually organized into tables and columns. For 10 points, name these constructs from computer science that hold information, often queried using SQL ["sequel"].

Java

Question: Since 2001, Windows has shipped without this programming language preinstalled as a result of Microsoft's alleged modified implementation of it. This language lacks pointers, and it does not support multiple inheritance for classes. A compressed folder containing files written in this language has the extension .jar ("dot-jar"), and Oracle released JDK to allow for development in this language. This language's namesake bytecode is executed by its virtual machine, and this language's namesake applets may be run within web browsers. For 10 points, name this object-oriented language developed by James Gosling at Sun Microsystems, whose logo is a coffee mug.

programming languages

Question: Some of these are statically typed, while others are duck typed or dynamically typed. Many of them must be used in conjunction with a compiler, such as one of them created in the 1970s by Dennis Ritchie, which is named for a letter of the alphabet and has a (*) "plus plus" variety. For 10 points, name these constructs such as Ruby, Python, Java, and C, that provide a way to give instructions to computers

halting problems

Question: Some proofs of this statement rely on the same contradiction inherent in the barber paradox. The first proof of this statement adapted Cantor's diagonalization proof. Chaitin's omega constant gives a probability for this statement. If this statement were true, then every recursively enumerable language would be recursive. This statement can be used to prove, by reduction, Rice's theorem. This statement is required to be true for busy beavers. Because this statement is usually cumbersome to work with, it is typically reduced to Post's correspondence problem instead. For 10 points, name this undecidable decision problem that asks if a given program will finish running.

loops

Question: The "enhanced" type of this construct in Java executes code for each element of a collection, while the "continue" keyword returns to the start of one of these structures. The complexity of an algorithm consisting of two nested ones is equal to the product of their complexities. An index variable can be incremented to count the number of (*) iterations in one of these structures, and they can be set off by "for" and "while" keywords. For ten points, name these programming control flow structures that execute a block of code until a condition is satisfied, whose infinite type can prevent a program from terminating.

pointer

Question: The C++ Boost library contains "smart" types of these objects that work properly with exceptions, as well as an "intrusive" example that includes an embedded reference count. A dispatch table contains an array of these objects. When two or more of these entities have the same value, aliasing occurs. During serialization of data for storage, these objects are (*) de-swizzled. Garbage collection is used to free up ones that are no longer used, since those examples can cause segmentation faults. Dynamic memory allocation uses these to store addresses. In Java, accessing nonexistent objects throws an exception named for the null type of these. For 10 points, name these data types used to refer to memory addresses.

quantum computers

Question: The Deutsch-Jozsa algorithm was the first one to use these devices to deterministically solve a problem faster than classical methods, and critical components of them are modeled by Bloch spheres. Using Grover's algorithm, these devices can search an unsorted database in sub-linear time, and they are difficult to make and maintain due to the phenomenon of (*) decoherence. Shor's Algorithm can be run on these devices to factor integers in polynomial time, ruining RSA encryption, and their namesake objects can be 0, 1, or a superposition of the two. For ten points, identify these not-yet-built devices, computing engines that make use of qubits.

compliers

Question: The Dragon Book is a classic tome describing the design of these programs. Yacc is a tool for converting Backus-Naur specifications into a component of these programs. Constant folding and loop unrolling are optimizations that these programs may perform. HipHop is one that is described as "source-to-source". Their front-end features include tokenization and syntax- and type-checking. Writing one of these in its own source language is called bootstrapping. javac ("java-see") is one of these that produces bytecode to run on a virtual machine. For 10 points, name these computer programs that convert a source language into a lower-level language to create executable code.

keyboards

Question: The IBM Model M is a particularly highly regarded example of this type of device. They sometimes use the Dvorak layout, but the most popular arrangement for them was designed by Christopher Sholes and is deliberately inefficient to avoid (*) jamming. For 10 points, name these devices that often use the QWERTY [KWUR-tee] layout, and are used to enter numbers and letters into a computer

strings

Question: The Kleene star is a superset of data of this type. In FORTRAN, Hollerith notation is used to identify this type of data. Regular expressions are used to match this type of data. Splitting these up based on a delimiter is called tokenizing. In C, these are classified as either "byte" or "wide." When these are placed directly into source code, they are called "literals". In Java, a plus sign is used to concatenate two of these together. Data of this type is often set off by quotation marks. This type of data can be represented as an array of char data. Parsing is used specifically on this kind of data, which may include prefixes and suffixes. For 10 points, name this type of data which represents text

RAM

Question: The Manchester Small Scale Experimental Machine utilized an early form of this entity known as the Williams Tube. If CPU performance improves faster than this entity can function, a disparity in speed known as a memory wall may arise. One type of this entity must be refreshed periodically and makes use of capacitors; in addition to that dynamic type, this has phase change and static varieties. Modern computers often possess a few gigabytes of storage of this entity, which mainly comes in volatile types that lose the information they contain when a system loses power. For 10 points, name this type of storage that permits a user to retrieve data in any order.

SQL

Question: The Transact extension to this language introduces try/catch blocks, local variables, and other concepts taken from procedural languages. Although this language does not natively support regular expressions, the percent sign can be used for wildcard matching in it. The concepts of this language can be used in .NET languages through LINQ. This language was developed from the relational algebra defined by Ted (*) Codd. Filtering in this language is achieved by using the WHERE clause. Different tables can be combined in this language using the JOIN keyword. This language is used against entities which support the ACID guarantees in their rows and columns. For 10 points, name this programming language used to query databases.

Turing machines

Question: The Wang encoding links these constructs to the class of recursive functions, which Godel had earlier proved to be equivalent to the lambda calculus. For a given number of states, the one that produces the most ones is known as a busy beaver. Their theorizer determined that it is not possible to know in advance whether one of these will run forever. They consist of an infinite tape, a read/write head, and a finite list of instructions. For 10 points, name these theoretical primitive computers, named for the cracker of the Enigma code, which can compute anything that is computable.

compilers

Question: The ability to re-target these systems is aided by the use of intermediate representation. A popular book on these programs is affectionately known as the Dragon Book. Backtracking during one phase of these programs can be mostly eliminated by eliminating left recursion and performing left factoring. The first step of these programs creates atoms of information called tokens. The result of their "cross-" type can be used on different architectures than the one used. These programs have five major phases: lexical analysis, parsing, semantic analysis, optimization and code generation. For 10 points, identify these programs that generate machine code from a source program and are contrasted with interpreters.

finite state machines

Question: The best known algorithm for minimizing these things uses partition refinement and is named for John Hopcroft. Two types of these things, which are differentiated on the basis of whether an output is a function of the input, are named for Mealy and Moore. Lexical analyzer generators work by converting a regular expression into one of these things. Using the powerset construction, one can convert them from a nondeterministic form to a deterministic form. Simple examples of these things can have their structure defined by transition diagrams or transition tables. The set of strings that allow these things to progress from a starting state to the accepting state is the language they accept. For 10 points, name these computational models without an infinite number of states.

programming languages

Question: The influential paper Fundamental Concepts in [these things] was written by Christopher Strachey. A division used in the definition of these things comes in three primary types: operational, axiomatic, and denotational. These things can have explicit or implicit and static or dynamic type systems. They can implement namespaces to encapsulate items. One category of these things can be viewed as syntactical variations of the lambda calculus. Another category of them typically implements subtype polymorphism and inheritance. Those categories are functional and object-oriented. Compilers work on source code written in one of these things. For 10 points, identify these things that include Java and are used to write programs.

prefixes

Question: The proof of the Crochemore-Perrin two-way algorithm relies on a lemma about "short" examples of these objects. In CIDR notation, the length of the network example of this entity is encoded after the slash. The second case of the "good rule" in the Boyer-Moore-Algorithm tries to match one of these components of the pattern to its counterpart in the target. The Huffman scheme creates a code that is said to be free of these. The prebuilt table in the KMP algorithm contains the length of the longest examples of these that obey certain requirements. In a different context, Polish notation is this type of notation because of the ordering of the operator relative to the operands. For 10 points, name these substrings of a string that start of the beginning of the string, unlike suffixes.

stack

Question: The shunting-yard algorithm evaluates operators using this structure, which helps reduce memory access by leaving operators at the end of operands, a format known as reverse Polish notation. The x87 floating point architecture organizes 8 registers into this structure that uses FXCH instructions to swap registers, although it may still encounter its namesake (*) "overflows" common to flat registers. One method to inspect but not modify these structures is the peek operation, although they fundamentally run by push and pop from the top. For ten points, identify these last-in-first-out data structures.

sorting algorithms

Question: The spread type of these algorithms was invented in 2002 by Steven Ross and is similar to both the bucket and radix type. One of these algorithm has best, average, and worst case run times of n log n; that one repeatedly removes the root of a heap. One of these methods divides an array in half recursively and utilizes a pivot value, while another compares two adjacent elements and switches them if needed. Those methods are, respectively, the quick and bubble types. For 10 points, name these algorithms, including the selection and insertion varieties, that arrange elements in a specific order.

recursion

Question: The"mu" type of this property contains all examples of the "primitive" subtype; one non-primitive entity which cannot be expressed without this property is the Ackermann function. In computer science, tail calls can create one form of it, and divide-and-conquer algorithms such as the quicksort use it on large problems. Relying on a base case, examples of it in math include solutions to the Tower of Hanoi problem, the factorial, and the adding of two Fibonacci numbers to get the next one in sequence. For 10 points, name this form of iteration, by which a function calls back prior values of itself to generate new ones.

quantum computers

Question: These devices use the Hadamard gate and other unitary matrix operators to manipulate their inputs. The set of problems practically solvable by these devices is BQP, which is thought to be a subclass of P. In 2001, one of these devices was used to show that "15 equals 3 times 5". To do so, a technique developed by Peter Shor was used, and that technique could one day allow these devices to break RSA. D-Wave has built one type of these devices, which performs annealing using 128 qubits ("Q-bits"). For 10 points, name these devices, first proposed by Richard Feynman, that use distinctly non-classical phenomena to execute algorithms.

Java

Question: This language does not support operator overloading or multiple inheritance for classes, which helps to prevent potential errors and anti-pattern design. Because this language does not support pointer arithmetic, its garbage collector is allowed to relocate referenced objects. Widget toolkits are typically used to implement applets in this language, and this programming language's motto is "write once, run anywhere." This language's namesake bytecodes can be executed by its namesake virtual machine. For 10 points, name this programming language developed by Sun Microsystems.

Copernicus

Question: This man declined an invitation to advise the Fifth Lateran Council on calendar reform, and his observation of an eclipse of Aldebaran helped him determine the diameter of the Moon. The seven assumptions of the model in this man's Little Commentary includes the belief in perfect, circular orbits, though the evidence gathered in his On the Revolutions of the Celestial Spheres was used by Galileo to promote a change in the way people viewed the solar system. Arguing against the Ptolemaic system of astronomy, name this Polish scientist who developed the heliocentric model of the universe.

Alan Turing

Question: This man developed a technique for factorizing a square matrix into a product of upper and lower triangular matrices, and this man proved the central limit theorem independently by using the Gaussian error function. This man proved that no algorithm could determine whether or not a program would run forever or stop, finding that the halting problem is undecidable. A hypothesis named for Church and this man states that no possible computing device can be more powerful than his namesake machine. For 10 points, name this British computer scientist whose namesake test determines whether or not computers can behave like humans.

colon

Question: Two of these characters test whether one object in Haskell has the type of another. In XML, it separates a namespace from an element name, while it acts as a separator between keys and their values in JSON ["Jason"]. In C-like languages, this character follows block labels as well as each case of a switch statement; it also separates the second and third arguments to the ternary operator used for compact if-then-else statements. In CSS, it separates property names from their values, such as font-size, then this character, then 12pt ["twelve P T"]. Name this character that, in URLs, often goes between the protocol and two slashes.

pseudorandomness

Question: Using a primitive polynomial, this type of output can be obtained from a linear feedback shift register. An algorithm that produces an output with this property has a period of 2 to the 19,937th power minus one. Running this kind of quicksort can bound the worst-case runtime against malicious inputs. This kind of output is produced by the Mersenne Twister, and it is often necessary to "seed" functions that produce this type of output when using said functions. These kinds of inputs are necessary to perform (*) Monte Carlo algorithms, and this kind of process can be modeled using a Markov chain. The N in NP describes this type of polynomial. For 10 points, name this synonym of nondeterministic that describes numbers with no predictable pattern.

HTML

Question: Versions of this language are set by prefacing files with a DOCTYPE declaration. Some programs read this language in "quirks mode" but the "standard mode" is more common. Objects in this language are managed by the Document Object Model, or DOM. Invented by Tim Berners-Lee and maintained by the (*) W3C, this language uses angled brackets called tags for defining elements such as headers and bodies. The appearance of constructs made using this language can be controlled using CSS, while interactive elements for use with this language can be made with Javascript. The 5th standard was recently released for, for 10 points, what markup language used to design web pages?

Sorting Algorithms

Question: A fixed gap "h" is used in one variation of this operation, which improves upon a simpler version in which "h" would always equal one. A variation of this operation that can compare least significant digits is called the radix type, and another type of this process randomly places elements and checks if they are correct. One type of this operation uses a pivot to flip elements larger or smaller than the pivot, and notable types of this operation include the "bubble" and "quick" varieties. For 10 points, name this operation which puts elements of a list in order.

software bugs

Question: 14. These entities are reduced or eliminated by increasing the size of the community according to Linus' Law. Hard-to-find examples of these entities are given a pun on Werner Heisenberg's name. It's not style, but one approach to reducing the frequency of these entities is to use static analysis tools. These entities are typically checked for after the implementation stage in the waterfall model. GDB is a type of program named for discovering these entities that supports operations like step-in and setting (*) breakpoints. These occurrences frequently arise from race conditions and being off-by-one. They're checked for through unit testing, and famous examples include the Y2K one. For 10 points, name these defects in a computer program.

tree

Question: A Tamari lattice is a poset of a type of this structure ordered with rotations, and the isometry of the AA variety of these structures is the 2-3 type. Lookup takes O (log n) ("Big O of log n") time in the AVL type, which is similar to a variety in which each vertex is painted one of two colors. If h is the height, at most two to the h + 1th power minus 1 nodes are contained in the binary type of this structure, and in the red-black variety, black is the default color of the root node. For 10 points, name this hierarchical data structure whose childless nodes are known as leaf nodes, as opposed to branch nodes.

tornadoes

Question: During one of these phenomena, low-level shear aligned by updrafts is penetrated by cold air from the downdraft, creating "hook echo" patterns on Doppler radar. In fair weather, one of these phenomena occurring over a body of water is called a (*) waterspout. The Enhanced Fujita scale rates the damage of, for 10 points, what rotating columns of air formed when funnel clouds reach the ground?

Alan Turing

Question: This man's paper on Hilbert's Entscheidungsproblem proved that no algorithm exists which can decide whether or not a mathematical assertion has a proof, a conclusion he arrived at independently of Alonzo Church. This man proved the impossibility of a general solution to the halting problem, and he proposed criteria for artificial intelligence in his namesake "test". The theorizer of a device which operates with symbols on a strip of paper, For 10 points, name this British computer scientist known for his namesake "machines".


Related study sets

Anthropology 1050 Exam 3 Study Guide Chapter 10

View Set

SAT English and Reading Prep & Practice

View Set

Microeconomics Chapter 1 Midterm

View Set

ACCT 315 Test 4, Unit 7: Agency, Test 4, BLaw, BLAW Test 4 Practice

View Set

MED SURG Ear, Eye SAUNDERS QUESTIONS

View Set

Human Resource Final Exam True and False

View Set

DECA Business Finance Series - Financial Analysis Performance Indicators (Tiers 1, 2, and 3)

View Set