Neil Rhodes

 

 


 

Neil Rhodes is an occasional lecturer in the Computer Science and Engineering department at UC San Diego and formerly a staff software engineer at Google. Most recently, he was one of the lecturers at UCSD Summer Program for Incoming Students (spis.ucsd.edu), as well as at the UCSD Summer Academy for transfer students (academy.eng.ucsd.edu). He’s taught Algorithms at the undergraduate and graduate level, as well as classes in Machine Learning, Operating Systems, Discrete Math, Automata and Computability Theory, and Software Engineering. As well as teaching at UC San Diego, he’s also taught at Harvey Mudd College. Mr. Rhodes holds a B.A. and M.S. in Computer Science from UCSD. He left the Ph.D. program at UC San Diego to found a company, Palomar Software, and spent fifteen years writing software, books on software development, and designed and taught programming courses for Apple and Palm.




Customize your search:

E.g., 2016-12-03
E.g., 2016-12-03
E.g., 2016-12-03
Dec 5th 2016

The course covers basic algorithmic techniques and ideas for computational problems arising frequently in practical applications: sorting and searching, divide and conquer, greedy algorithms, dynamic programming. We will learn a lot of theory: how to sort data and how it helps for searching; how to break a large problem into pieces and solve them recursively; when it makes sense to proceed greedily; how dynamic programming is used in genomic studies. You will practice solving computational problems, designing new algorithms, and implementing solutions efficiently (so that they run in less than a second).

Average: 7.4 (9 votes)
Dec 5th 2016

A good algorithm usually comes together with a set of good data structures that allow the algorithm to manipulate the data efficiently. In this course, we consider the common data structures that are used in various computational problems. You will learn how these data structures are implemented in different programming languages and will practice implementing them in our programming assignments.

Average: 9 (4 votes)