Podcast
Questions and Answers
Which of the these is the most accurate description of Moore's Law?
Which of the these is the most accurate description of Moore's Law?
- Energy consumption of computers halves every year.
- The number of transistors on integrated circuits doubles approximately every two years. (correct)
- The cost of computing doubles every year.
- Integrated circuit speeds halve every two years.
What is a potential limitation to Moore's Law continuing indefinitely?
What is a potential limitation to Moore's Law continuing indefinitely?
- Lack of skilled engineers.
- Decreasing interest in technological advancements.
- The speed of light and Planck length. (correct)
- The increasing cost of silicon.
What does it mean for a set of questions to be 'decidable' in logic?
What does it mean for a set of questions to be 'decidable' in logic?
- There exists an algorithm that can correctly return 'true' or 'false' for all questions in the set. (correct)
- The questions are easy to understand by anyone.
- The questions can be answered with certainty without any calculations.
- The questions have been debated for a long time.
Which task is considered an 'undecidable' problem, meaning no algorithm can solve it?
Which task is considered an 'undecidable' problem, meaning no algorithm can solve it?
What are the defining characteristics of an algorithm?
What are the defining characteristics of an algorithm?
Which of these is the best description of 'pseudo code'?
Which of these is the best description of 'pseudo code'?
What are the three basic structures into which most algorithms can be broken down?
What are the three basic structures into which most algorithms can be broken down?
In the context of algorithms, what is a 'sequence'?
In the context of algorithms, what is a 'sequence'?
What role does 'selection' play in an algorithm?
What role does 'selection' play in an algorithm?
What is the purpose of a 'loop' in an algorithm?
What is the purpose of a 'loop' in an algorithm?
When evaluating algorithms, what signifies a 'good' algorithm?
When evaluating algorithms, what signifies a 'good' algorithm?
What is 'time complexity' when referring to an algorithm?
What is 'time complexity' when referring to an algorithm?
What does Big O notation, such as O(N) or O(log(N)), represent?
What does Big O notation, such as O(N) or O(log(N)), represent?
In time complexity, what does it mean if an algorithm is described as O(N)?
In time complexity, what does it mean if an algorithm is described as O(N)?
An algorithm has a time complexity of O(log(N)). What does this imply about its performance as the input (N) increases?
An algorithm has a time complexity of O(log(N)). What does this imply about its performance as the input (N) increases?
What's the relation between algorithms and programs?
What's the relation between algorithms and programs?
Which of the following is an example of a high-level programming language?
Which of the following is an example of a high-level programming language?
Which best describes the process of 'compiling' a program?
Which best describes the process of 'compiling' a program?
What happens when a program is 'interpreted'?
What happens when a program is 'interpreted'?
In the context of algorithm correctness, what is critical to ensure beyond just producing the correct result?
In the context of algorithm correctness, what is critical to ensure beyond just producing the correct result?
Which aspect defines 'analog' electronic computing?
Which aspect defines 'analog' electronic computing?
What characterizes 'digital' electronic computing?
What characterizes 'digital' electronic computing?
What defines 'electronic computation' in the context of computing methods?
What defines 'electronic computation' in the context of computing methods?
Which of the following is considered a form of 'human computation'?
Which of the following is considered a form of 'human computation'?
What does it mean for an algorithm to be 'unambiguous'?
What does it mean for an algorithm to be 'unambiguous'?
Which of the following is considered a 'soft' question within the limits of computation?
Which of the following is considered a 'soft' question within the limits of computation?
Which of the following regular expressions could be used to reformat phone numbers from the format 519-661-2111 x87897
to 519-661-2111 ext. 87897
?
Which of the following regular expressions could be used to reformat phone numbers from the format 519-661-2111 x87897
to 519-661-2111 ext. 87897
?
Which of the following regular expressions can be used to split a name column in notepad++
into a first and last name column?
Which of the following regular expressions can be used to split a name column in notepad++
into a first and last name column?
Which regular expression removes all titles, such as Mr. and Dr., from full names?
Which regular expression removes all titles, such as Mr. and Dr., from full names?
Consider an algorithm that searches for a name in a phone book. In the worst-case scenario, which of the following search methods has a time complexity of O(N), where N is the number of entries?
Consider an algorithm that searches for a name in a phone book. In the worst-case scenario, which of the following search methods has a time complexity of O(N), where N is the number of entries?
What is the primary advantage of using a binary search algorithm over a linear search algorithm to look up a person's phone number in a phone book?
What is the primary advantage of using a binary search algorithm over a linear search algorithm to look up a person's phone number in a phone book?
Which of the following is an example of machine instructions?
Which of the following is an example of machine instructions?
What does a complier do?
What does a complier do?
Which is not VBA (Visual Basic for Applications)?
Which is not VBA (Visual Basic for Applications)?
Flashcards
Analog electronic computing
Analog electronic computing
Electronic computation using circuits where voltage represents a value.
Digital electronic computing
Digital electronic computing
Electronic computation where voltage thresholds represent 0 or 1.
Moore's Law
Moore's Law
The number of transistors on microchips doubles about every two years.
Decidability
Decidability
Signup and view all the flashcards
Algorithm
Algorithm
Signup and view all the flashcards
Well-defined algorithm
Well-defined algorithm
Signup and view all the flashcards
Pseudo Code
Pseudo Code
Signup and view all the flashcards
Simple Structures
Simple Structures
Signup and view all the flashcards
Sequence
Sequence
Signup and view all the flashcards
Selection
Selection
Signup and view all the flashcards
Loops
Loops
Signup and view all the flashcards
Correctness
Correctness
Signup and view all the flashcards
Time complexity
Time complexity
Signup and view all the flashcards
Programming
Programming
Signup and view all the flashcards
Programming Languages
Programming Languages
Signup and view all the flashcards
Algorithm Definition
Algorithm Definition
Signup and view all the flashcards
Program Definition
Program Definition
Signup and view all the flashcards
Study Notes
- Assignment 2 due date is Feb. 24th by 11:59pm.
- The due date for Assignment 2 has been extended from what is given in the course syllabus.
- Assignment 2 covers regular expressions and cleaning data.
- Data will be used as an example next class (week 6).
- Survey participation is worth 100 participation points and must be done by Friday (Feb. 7th) at 11:59PM.
- Input values can be in any unit but do not list the units (numbers only).
Notepad++ Examples
- Substitutions are demonstrated in Notepad++.
Phone Number Reformatting Example
- Phone numbers can be reformatted to ###-###-#### ext. ##### form.
- Find:
(\d{3})[-](\d{3}-\d{4}) x(\d{5})
- Replace:
\1-\2 ext\. \3
Name Column Split Example
- Name column can be split into First and Last name columns.
- Find:
^([a-zA-Z\-\. ]+), ([a-zA-Z\-\. ]+)\t
- Replace:
\2\t\1\t
Title Removal Example
- Mr. and Dr. titles can be removed from first names.
^(Mr|Dr)\.
with a space at the end is used to find the titles.- The transformed data can be pasted into Excel.
Assigned Readings
- Readings for the week include:
- GCFGlobal: Algorithms Tutorial
- GCFGlobal: Hardware and software
- GCFGlobal: Programming Languages
- GCFGlobal: Sequences, selections, and loops
- VBA readings for the next few weeks can be found at Home & Learn.
What is Computation?
- Physical objects are used such as abacus, slide rules, etc.
- Human computation includes mental or pencil and paper arithmetic.
- Computers were people in the 1930s – 1940s.
- Natural computation uses ants, DNA, and molecules.
- Analog electronic computing circuits represent numerical values with voltage.
- Circuits provide voltages that represent computed functions like addition or integration.
- Digital electronic computing uses circuits where a voltage threshold is either met (1) or not (0).
- Voltages on many lines represent numbers.
Moore's Law
- Gordon E. Moore noticed in 1965 that integrated circuit speeds doubled about every two years
- Computer processor speed has since doubled about once every 18 months to two years from the 1950s.
- The law has become a self-fulfilling prophecy.
Limits of Computation
- Hard limits of computation theoretically exist due to the:
- Speed of light
- Planck length
- Sets of questions are "decidable" if an algorithm correctly returns true or false for all questions in the set.
- Undecidable problems exist where is no possible algorithm.
- Computers cannot solve undecidable problems.
- Examples of undecidable problems:
- Determining if an arbitrary program with finite input will finish running.
- Deciding whether a mathematical expression is zero.
- Determining if two grammars describe the same language.
- Determining if a particular kind of equation has a solution.
Algorithms
- The algorithm must be Unambiguous, Executable, and Terminating.
- An algorithm is a step-by-step process to solve a problem.
- Algorithms sequence of steps.
- Unambiguous algorithms require no "assumptions" to execute.
- Unambiguous algorithms use precise instructions
- Executable algorithms can be carried out in practice.
- Terminating algorithms eventually come to an end, stop, or halt.
- Pseudocode is an informal high-level and human-readable description, intended for humans, not machines.
- Most algorithms can use these simple structures: Sequences, Selections, and Loops
Sequences
- Sequences are series of actions completed in a specific order.
Selections
- Selections ask a question to figure out the next path, known as “if” statements.
Loops
- Loops repeat an action until a certain condition is met.
Evaluating Algorithms
- Evaluate if an algorithm is "good".
- Compare algorithms that have the same inputs and results.
- Check if results are the same or are they equivalent.
Phone Book Algorithm Example
- Use an algorithm to look up a person's phone number in a phone book.
- Linear Search is an example, where you start on the first page and check each page.
- Binary Search is another example, where you start halfway through and throw away half that does not contain the name and repeat.
Correctness
- Check If the algorithm can be executed without error for all cases.
- Check if the algorithm guaranteed to terminate for all inputs.
Time Complexity
- Normally measures worst-case scenario of time complexity.
- It measures many basic steps.
Programming
- Programming involves converting an algorithm into precise instructions computers can read.
- Programming is the process of creating an executable computer program.
- Programming is also is known as coding or implementation.
- Machine instructions use low-level commands.
- Assembly code is a human-readable form of machine instructions.
Programming Languages:
- Artificial languages give instructions people can understand.
- Examples include JAVA, VBA, Python, C, C++, C#, FORTRAN, COBOL, R, PHP.
- Programs are written in compiled languages.
- The programs are translated into machine code using a compiler.
- Java and C use compiled programming languages.
- In interpreted languages an interpreter is used, such as with Ruby and Python.
- Algorithms serve as the general procedure, while programs are the specific instructions.
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.