Access our extensive collection of questions and interactive quizzes to enhance your learning experience
Explain the reasoning behind the time complexity of binary search and compare it to linear search.
Answer: The time complexity of binary search is O(log n). This is because with each comparison, the algorithm eliminates half of the remaining elements. In contrast, linear search has O(n) time complexity as it may need to examine every element in the worst case.
Compare and contrast Transmission Control Protocol (TCP) and User Datagram Protocol (UDP).
Answer: TCP is connection-oriented, reliable, and ensures ordered delivery of packets. It uses flow control and error checking. UDP is connectionless, unreliable, and doesn't guarantee ordered delivery. It's faster with less overhead but doesn't provide error checking or retransmission.
Explain the concept of normalization and why it's important in relational database design.
Answer: Normalization is the process of organizing data in a database to reduce redundancy and improve data integrity. It involves dividing large tables into smaller tables and defining relationships between them. The main purposes are to eliminate redundant data, ensure data dependencies make sense, and protect data integrity.
Define recursion and provide an example of where it might be used effectively.
Answer: Recursion is a programming technique where a function calls itself to solve a problem by breaking it down into smaller subproblems. A recursive function must have a base case (to stop recursion) and a recursive case (to call itself). Examples include traversing tree data structures, calculating factorials, or implementing algorithms like quicksort.
Describe the main principles of object-oriented programming and their significance.
Answer: Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects" which contain data and methods. The four main principles are: Encapsulation (bundling data with methods that operate on that data), Inheritance (allowing new objects to take on properties of existing objects), Polymorphism (ability to present the same interface for different underlying forms), and Abstraction (hiding complex implementation details).
Comprehensive final exam covering all algorithm topics taught in CSE 301. Includes problem solving and theoretical questions.
Midterm examination with questions on set theory, combinatorics, graph theory, and mathematical logic.
Quiz covering SQL queries, normalization, transaction management, and indexing techniques.
Final exam testing grammar, essay writing, comprehension, and vocabulary skills.
Comprehensive exam covering OSI model, TCP/IP, routing protocols, and network security.
Test your knowledge and get immediate feedback