Prospective students, especially those from ECE, typically need to improve their programming skills before they can do useful work in my lab. Niema Moshiri has shared with me these suggestions for online material that students can use to brush up their coding and algorithmic skills.

  • Python: Codecademy Python Track
  • Data Structures and algorithms:
    • Niema has his own online textbook
    • There is an online course developed by several of our CSE faculty (including Sasha Kulikov and Pavel Pevzner). We especially recommend the first course of the series
    • The appendix B from this textbook from my former advisor, Tandy Warnow is also very useful (while its publically available)
    • Once at UCSD, students can take CSE 101 (undergrad algorithms) or CSE 202 (grad algorithms).
  • Bioinformatics: Pavel Pevezner has several useful MOOCs. The programming assignments might be a bit intense for new students (there’s a lot of them, and they’re fairly difficult).
    • You can simply watch the lecture videos to learn about the biological problems and the bioinformatics algorithmic solutions.
    • If you want to tackle the full-on course, you can take the full online course.
    • If you are at UCSD, instead of taking the course online, you can take the in-person course (CSE 282), which would count for ECE students as a technical elective.
  • R: DataCamp
  • Unix:
  • Git: GitHub tutorial and Codecademy Git Track