Podcast
Questions and Answers
What notation methods are introduced in this course for analyzing algorithms?
What notation methods are introduced in this course for analyzing algorithms?
- Alpha notation and Beta notation
- Big-Oh and Small-O
- Only Big-Oh notation
- Big-Oh, Big-Omega, Big-Theta, Little-Oh, Little-Omega (correct)
Which of the following is NOT mentioned as a topic in this course's agenda?
Which of the following is NOT mentioned as a topic in this course's agenda?
- Experimental analysis
- Asymptotic analysis
- Machine learning basics (correct)
- Pseudocode
When are Dr. Olena Syrotkina's office hours on Monday?
When are Dr. Olena Syrotkina's office hours on Monday?
- 2:45 p.m. – 4:15 p.m. (correct)
- 3:30 p.m. – 5:00 p.m.
- 1:00 p.m. – 2:00 p.m.
- 10:00 a.m. – 12:00 p.m.
What programming language and development environment are mentioned for this course?
What programming language and development environment are mentioned for this course?
Where did Dr. Olena Syrotkina start her teaching career?
Where did Dr. Olena Syrotkina start her teaching career?
What is the expected duration of the course COMP 8547?
What is the expected duration of the course COMP 8547?
Which of the following is an appropriate method of communication with Dr. Syrotkina?
Which of the following is an appropriate method of communication with Dr. Syrotkina?
How many hours of office time does Dr. Syrotkina offer on Wednesday?
How many hours of office time does Dr. Syrotkina offer on Wednesday?
What is not considered a reliable measure for comparing algorithms?
What is not considered a reliable measure for comparing algorithms?
What does the ideal solution used for comparing algorithms express?
What does the ideal solution used for comparing algorithms express?
Which course focuses on principles and applications of algorithm design?
Which course focuses on principles and applications of algorithm design?
Which of the following is a limitation of experimental analysis?
Which of the following is a limitation of experimental analysis?
Which of the following is an essential step in experimental analysis?
Which of the following is an essential step in experimental analysis?
Which programming language is specifically mentioned in the course offerings?
Which programming language is specifically mentioned in the course offerings?
What is one of the main topics covered in the course outline?
What is one of the main topics covered in the course outline?
Why is execution time considered a poor measure for comparing algorithms?
Why is execution time considered a poor measure for comparing algorithms?
Which characteristic is primarily needed for the theoretical analysis of algorithms?
Which characteristic is primarily needed for the theoretical analysis of algorithms?
What is the office hour of Ali Nakhaeisharif, one of the graduate assistants?
What is the office hour of Ali Nakhaeisharif, one of the graduate assistants?
Which course is offered in Summer 2024?
Which course is offered in Summer 2024?
What can be inferred about the number of bits in the binary representation from the data presented?
What can be inferred about the number of bits in the binary representation from the data presented?
Which course deals with computing intractability?
Which course deals with computing intractability?
Which of the following best describes the relationship between vertices and edges in a graph according to the information given?
Which of the following best describes the relationship between vertices and edges in a graph according to the information given?
Which of the following concepts is not included in the course outline?
Which of the following concepts is not included in the course outline?
How many times is COMP 8547 Advanced Database Topics offered in the provided schedule?
How many times is COMP 8547 Advanced Database Topics offered in the provided schedule?
What is the consequence for not submitting the milestone report for the final project?
What is the consequence for not submitting the milestone report for the final project?
What are Random Lecture Quizzes (RLQ) designed to assess?
What are Random Lecture Quizzes (RLQ) designed to assess?
Which of the following represents the primary function of computing?
Which of the following represents the primary function of computing?
How are attendance records kept for events?
How are attendance records kept for events?
What subject is covered in the textbook 'Introduction to Algorithms'?
What subject is covered in the textbook 'Introduction to Algorithms'?
What is the main focus of advanced computing concepts?
What is the main focus of advanced computing concepts?
What type of quizzes can occur randomly and are based on lecture material?
What type of quizzes can occur randomly and are based on lecture material?
Which of the following is NOT a typical activity of computing?
Which of the following is NOT a typical activity of computing?
What is an example of a primitive operation related to assigning a value to a variable?
What is an example of a primitive operation related to assigning a value to a variable?
How many total operations does the pseudocode for arrayMax perform?
How many total operations does the pseudocode for arrayMax perform?
Which operation is not considered a primitive operation?
Which operation is not considered a primitive operation?
What is the characteristic of primitive operations in terms of execution time?
What is the characteristic of primitive operations in terms of execution time?
Which case is identified as the one which takes the largest amount of time among all possible inputs?
Which case is identified as the one which takes the largest amount of time among all possible inputs?
In the algorithm arrayMax, what happens during the loop?
In the algorithm arrayMax, what happens during the loop?
What does the method return in the arrayMax algorithm?
What does the method return in the arrayMax algorithm?
Which of the following is true about counting primitive operations?
Which of the following is true about counting primitive operations?
Flashcards are hidden until you start studying
Study Notes
Course Team
- Instructor: Dr. Olena Syrotkina, Email: [email protected]
- Office Hours: Monday 2:45 PM - 4:15 PM, Wednesday 2:30 PM - 4:00 PM, Thursday 2:30 AM - 3:30 PM
- Office Location: 300 Ouellette Ave., Office 4004
- Preferred Communication: Teams
- Graduate Assistants: Ali Nakhaeisharif, Darpan Khanna, Sudharshan Sundararajan, Gurpartap Singh Ahluwalia and Abhishek Mahajan
Course Outline
- Covers advanced topics in algorithm design and analysis, programming techniques, advanced data structures, languages, compilers and translators, regular expressions, grammars, computing and intractability
- Participation in events is saved by registering on the attendance list or scanning a QR code
Assessments
- Random Lecture Quizzes (RLQ): Quizzes on lecture topics, multiple-choice questions, conducted randomly before or after class
- Final Project: Milestone report with a penalty for non-submission, presentation and Q&A during class
Textbooks
- Required: Introduction to Algorithms, fourth edition by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein, The MIT Press, 2022.
- Required: Algorithm Design and Applications by M. Goodrich and R. Tamassia, Wiley, 2015.
- Required: Data Structures and Algorithms in Java, 6th Edition, by M. Goodrich and R. Charles E. Tamassia, Wiley, 2014.
- Optional: Data Structures and Algorithms Made Easy: Data Structures and Algorithmic Puzzles, 5th Edition, by Narasimha Karumanchi, CareerMonk Publications, 2017.
- Optional: An Open Guide to Data Structures and Algorithms by Paul W. Bible and Lucas Moser, PALNI Press, 2023.
Introduction to Computing
- Refers to use of computers and electronic systems to process, store, retrieve, and manage data
- Includes calculations, problem-solving, and information processing
- Involves execution of instructions by a computer to perform tasks
- Algorithms are foundation of computational processes, and advanced computing concepts rely on their efficiency and effectiveness
- Examples of input sizes: size of an array, polynomial degree, number of elements in a matrix, number of bits in a binary representation of the input, vertices and edges in a graph
Comparing Algorithms
- Execution times: Not a good measure because it is specific to a particular computer
- Number of statements executed: Not a good measure because the number of statements varies with programming language and style of the programmer
- Ideal solution: Running time of an algorithm can be expressed as a function of the input size (i.e., f(n)) and these functions can be compared
Experimental vs Theoretical Analysis
- Experimental Analysis: Implementing the algorithm, running the program with varying inputs, keeping track of CPU time used, and plotting the results
- Limitations of Experimental Analysis: Dependent on hardware and programming language, requires implementation and debugging
- Theoretical Analysis: Focuses on analyzing function that expresses running time (f(n)) of an algorithm
Primitive Operations
- Basic computations performed by an algorithm
- Examples: evaluating an expression, assigning a value to a variable, indexing into an array, calling a method, returning from a method
- Take a constant amount of time in the RAM model (one unit of time or constant time)
- Independent of programming language
Case analysis
- Worst Case: The input that takes the longest amount of time to process
Studying That Suits You
Use AI to generate personalized quizzes and flashcards to suit your learning preferences.