Learn to Code

In this section geared for beginners, you will find a list of helpful resources to explore in your journey in learning how to code. Develop a learning plan, focus on coding every day, and build small projects along the way. Have fun!

  • Grow with Google
  • Codecademy
  • freeCodeCamp
  • Coursera
  • The Odin Project
  • W3Schools
  • Code.org
  • Girls Who Code
  • Microsoft Learn
  • MIT OpenCourseWare
  • Code.gov

Grow with Google offers a collection of resources, training, and certificates that is well worth exploring. As part of your overall learning plan, a good place to start is Google Developers Training, which is an interesting set of coding courses created by Google engineers. These are excellent for new programmers, as well as experienced developers. Check it out.

MIT OpenCourseWare provides free online course materials (videos, lecture notes, programming assignments) for learning computer science, including introductory courses in Python, data structures, algorithms, mathematics for CS, as well as advanced topics like machine learning and artificial intelligence. Browse their YouTube channel over breakfast. It's a great way to start your day.

Learn about Artificial Intelligence

Here are some interesting resources to learn more about artificial intelligence. Stay curious, see where it leads you.

  • Google Research
  • Berkely Artificial Intelligence Research (BAIR)
  • MIT News - Artifical Intelligence
  • Deep Mind Blog
  • Machine Learning Mastery

Google Research provides the latest research from Google, including interesting ways that AI is being explored, from robotics to medicine and everything in between. These articles are great material for a discussion group.

BAIR Blog is a plaform for the research team at BAIR to share updates and research findings, written by students, post-docs, and faculty. Explore over lunchtime or coffee break.

Books to Explore

Browse my curated list of books that will enhance your skills and knowledge in software development. Some of these books are oriented to beginners, while others are more appropriate for intermediate level developers. Enjoy.

  • Code Complete: A Practical Handbook of Software Construction - by Steve McConnell
  • Python Crash Course - by Eric Matthes
  • Grokking Algorithms - by Aditya Bhargava
  • The Algorithm Design Manual - by Steven Skiena
  • Design Patterns: Elements of Reusable Object-Oriented Software - by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides
  • Fundamentals of Software Architecture - by Mark Richards and Neal Ford
  • The Art of Unit Testing - by Roy Osherove
  • Test-Driven Development - by Kent Beck
  • O’Reilly Linux in a Nutshell