This course focuses on the fundamentals of computer algorithms, emphasizing methods useful in practice. Upon successful completion of this course, the student will be able to: explain and identify the importance of algorithms in modern computing systems and their place as a technology in the computing industry; indentify algorithms as a pseudo-code to solve some common problems; describe asymptotic notations for bounding algorithm running times from above and below; explain methods for solving recurrences useful in describing running times of recursive algorithms; explain the use of Master Theorem in describing running times of recursive algorithms; describe the divide-and-conquer recursive technique for solving a class of problems; describe sorting algorithms and their runtime complexity analysis; describe the dynamic programming technique for solving a class of problems; describe greedy algorithms and their applications; describe concepts in graph theory, graph-based algorithms, and their analysis; describe tree-based algorithms and their analysis; explain the classification of difficult computer science problems as belonging to P, NP, and NP-hard classes. (Computer Science 303)
In this course, the student will learn the theoretical and practical aspects of algorithms and Data Structures. The student will also learn to implement Data Structures and algorithms in C/C++, analyze those algorithms, and consider both their worst-case complexity and practical efficiency. Upon successful completion of this course, students will be able to: Identify elementary Data Structures using C/C++ programming languages; Analyze the importance and use of Abstract Data Types (ADTs); Design and implement elementary Data Structures such as arrays, trees, Stacks, Queues, and Hash Tables; Explain best, average, and worst-cases of an algorithm using Big-O notation; Describe the differences between the use of sequential and binary search algorithms. (Computer Science 201)
This is a resource to use if you want to have a great time in class and have a wonderful student teacher dynamic. it will help you cultivate a great working relationship with your students.