Are you interested in pursuing a career in software engineering but not sure where to start? Look no further than this free software engineering course guide. Whether you're a beginner or an experienced programmer, these courses will help you build a solid foundation in computer science and programming.
The courses listed here cover a wide range of topics, from introductory programming courses that teach the basics of coding to advanced courses in algorithms and data structures. Additionally, there are courses that focus specifically on web development, which is a popular area of software engineering.
These courses are best used as a supplement to a university degree in computer science. They can help you build on the knowledge and skills you learn in a formal education setting and provide additional practical experience. If you are looking for a program that will simulate a full 4-year university program, and cover all the topics related to Computer Science, then you can check out: ossu/computer-science: Path to a free self-taught education in Computer Science!
This course, offered by Harvard University, teaches the basics of computer science and programming using C and Python. It covers topics like data structures, algorithms, and web development.
CS50: Introduction to Computer Science
For this I'm going to list two courses that are both very good at teaching the basics of programming in Java, including topics like object-oriented programming, data structures, and algorithms.
- Code gym: If you want a more gamified version
- University of Helsinki MOOC Object-Oriented programming with Java: If you want a more traditional university style course
University of Helsinki MOOC Object-Oriented programming with Java
This course, by Frontend Masters, teaches the basics of algorithms and data structures, including sorting algorithms and graph algorithms. I have also added a book, Introduction To Algorithms, considered to be the holy grail of algorithm books. This book is widely used as textbook for algorithms courses in many universities around the world.
Algorithms & Data Structures | Learn Algorithms with TypeScript for Interviews | Frontend Masters
Databases are an essential part of modern technology, allowing organizations to efficiently store, manage, and retrieve large amounts of data. Here I have added a course from freeCodeCamp for PostgreSQL, which is a relational database.
Learn PostgreSQL Tutorial - Full Course for Beginners - YouTube
The Odin Project is a free, open-source curriculum for learning web development. It offers a structured, self-paced learning path that includes coding challenges and projects. The curriculum covers everything from basic HTML and CSS to more advanced topics like databases and server-side programming.
These are just a few of the many free online courses available to help you become a software engineer. By completing these courses, you'll have a strong foundation in computer science and programming, and you'll be well on your way to a successful career in software engineering.