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
Acceptance Testing in Eclipse Using FIT at North Carolina State University
Notes, exercises and resources are included in this software engineering tutorial. Within the tutorial, students examine FIT tools, FitRunner, ColumnFixture and running tests. The tutorial includes sample code and example images.
Design and Analysis of Algorithms at Stanford University
This course offers video lectures covering algorithms, analysis, counting inversions, graphs and undirected connectivity. The course breaks lectures into 12 sections.
Computer Language Engineering at Massachusetts Institute of Technology (MIT)
The focus of this course is on how students generate high-level programming languages, 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 at MIT
This course 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.
Topics cover 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.
In this class, students examine 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.
This class 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.
This course 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.
Software Metrics for Eclipse at the North Carolina University
This tutorial offered through the Department of Computer Science OpenSeminar 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.