List of Free Online Software Engineering Courses
See our list of the top free online software engineering courses. Learn about what courses are available and what topics they cover to find the course that's right for you.
Online Software Engineering Course Information
Many of the courses are offered at the undergraduate level and teach students the basics of building and maintaining software. Advanced classes focus on the challenges of the software industry and ways to develop high-level programming. These courses are not offered for college credit, and students are able to work independently.
Free Online Software Engineering Classes
Massachusetts Institute of Technology (MIT)
- Computer Language Engineering focuses on how students generate high-level programming language, as well as the tools used to build software. Students can access lecture notes, video lectures and audio lectures in addition to three practice quizzes.
- Computer System Engineering teaches students strategies and methods for the development of computer and hardware systems. Along with assignments and quizzes, students can download video lectures about computer security, authentication and isolation.
- Elements of Software Construction covers topics such as subclassing and interfaces, testing and coverage, debugging, usability, event-based programming and data structures. In addition to lecture notes, students have access to assignments, labs and projects.
- Foundations of Software Engineering examines object-oriented design, operator overloading, Java programming, physical simulation and source code management. In addition to lecture notes, seven problem sets are available online, along with three quizzes.
- Laboratory in Software Engineering focuses on how to produce and implement large software systems through lectures in object semantics, testing, object model notations and design patterns. The online class is broken into 11 sections, and students can download lecture notes.
- Performance Engineering of Software Systems is a project-based class that gives students an idea of how to build scalable and high-level software systems through discussion of bit hacks, performance engineering, memory systems and compilers. All 23 of the lectures can be downloaded as videos, and students can access six software design projects to help with their studies.
- Software Engineering for Web Applications is a senior-level course designed for students who have a background in software development and are interested in understanding the issues and challenges with Internet applications. Students can access parts of the recommended textbooks online, which may be helpful for the 14 problem sets that are also available through the online class.
North Carolina State University
- Software Metrics for Eclipse examines concepts in software metrics that provide feedback to programmers. The tutorial provides students information on viewing and interpreting metrics. A link to Eclipse software for download is available.
- Acceptance Testing in Eclipse Using FIT includes notes, exercises and resources. Within the tutorial, students examine FIT tools, FitRunner, ColumnFixture and running tests. The tutorial includes sample code and example images.