Resources

Useful places to learn, practice, and build.

This is a growing collection of courses, books, tutorials, tools, and datasets that I find useful or worth sharing. It includes friendly starting points for people new to computer science as well as deeper references for experienced learners.

Most of these resources are freely available online.

Good places to start

Learning to program

  • Codecademy — Short, interactive lessons across many programming languages; useful when you want to begin by writing code immediately.
  • DataCamp — Interactive courses focused on Python, R, SQL, data science, and machine learning.
  • The Python Tutorial — The official tour of Python, best for someone who understands basic programming and is new to the language.
  • Hacking with Swift — Project-based tutorials for Swift, SwiftUI, and Apple-platform development.
  • LeetCode — Algorithm and data-structure practice, especially useful after learning the fundamentals.

Tools and workflows

There is no universally best editor. If a course specifies one, begin there. Otherwise, choose the tool that fits the language and the amount of guidance you want.

  • Visual Studio Code — A flexible general-purpose editor with extensions for most languages.
  • Positron and RStudio — Strong choices for Python and R data-science work.
  • JetBrains IDEs — Full-featured, language-focused environments such as IntelliJ IDEA and PyCharm.
  • Xcode — The development environment for Swift, SwiftUI, and Apple platforms.
  • Visual Studio and Eclipse — Established environments for .NET, C++, Java, and other workflows.
  • Happy Git and GitHub for the useR — A friendly guide to installing Git, connecting it with GitHub, and using both effectively.
  • Quarto: Get Started — Official tutorials for reproducible documents, presentations, websites, and books.

Data science and artificial intelligence

Core books

Finding data

Mathematics and computer systems

A living collection. I will keep adding material as I find resources worth sharing. A link here is an invitation to explore, not necessarily an endorsement of every viewpoint or paid offering on the linked site.

Back to top