Best Computer Science Courses Online [2024] | Coursera (2024)

Specializations and courses in software development address the process of creating software, including development tools and methodologies (such as Agile development), programming languages (including Python, C, Java, and Scala), and software architecture and testing....

Mobile and Web Development
Algorithms
Computer Security and Networks
Design and Product

Earn Your Degree

University of Maryland Global CampusBachelor of Science in Cybersecurity TechnologyEarn a degreeDegree
Northeastern University Master of Science in Data Analytics EngineeringEarn a degreeDegree
Northeastern University Master of Science in Information SystemsEarn a degreeDegree
University of Colorado BoulderMaster of Science in Computer ScienceEarn a degreeDegree
University of LondonBachelor of Science in Computer ScienceEarn a degreeDegree
University of Maryland Global CampusBachelor of Science in Cybersecurity Management and PolicyEarn a degreeDegree
Clemson UniversityMaster of Science in Computer ScienceEarn a degreeDegree
Illinois TechMaster of Information TechnologyEarn a degreeDegree
Dartmouth CollegeMaster of Engineering in Computer EngineeringEarn a degreeDegree
West Virginia UniversityMaster of Science in Software EngineeringEarn a degreeDegree
University of UtahMaster of Science in Electrical and Computer EngineeringEarn a degreeDegree
University of OklahomaMaster of Science in Computer ScienceEarn a degreeDegree
University of UtahMaster of Science in Cybersecurity ManagementEarn a degreeDegree
University of LondonMaster of Science in Cyber SecurityEarn a degreeDegree
Ball State UniversityMaster of Science in Computer ScienceEarn a degreeDegree
University of Maryland Global CampusMaster of Science in Cybersecurity TechnologyEarn a degreeDegree
International Institute of Information Technology, HyderabadMaster of Science in Information TechnologyEarn a degreeDegree
Universidad de los AndesMaestría en Inteligencia ArtificialEarn a degreeDegree
Universidad de los AndesMaestría en Gerencia de la IngenieríaEarn a degreeDegree
Universidad de los AndesMaestría en Ingeniería de SoftwareEarn a degreeDegree
University of Maryland Global CampusMaster of Science in ITEarn a degreeDegree
University of Illinois at Urbana-ChampaignMaster of Computer ScienceEarn a degreeDegree

You are Currently on slide 1

Most Popular Courses

FreeDeep Teaching SolutionsLearning How to Learn: Powerful mental tools to help you master tough subjectsCourse
University of MichiganPython for EverybodySpecialization
University of MichiganProgramming for Everybody (Getting Started with Python)Course
IBMIBM DevOps and Software EngineeringProfessional Certificate
FreePrinceton UniversityAlgorithms, Part ICourse
IBMIBM Full Stack Software DeveloperProfessional Certificate
IBMIBM AI DeveloperProfessional Certificate
IBMApplied Data ScienceSpecialization
University of MichiganPython Data StructuresCourse
IBMApplied Software Engineering FundamentalsSpecialization
University of MichiganApplied Data Science with PythonSpecialization

You are Currently on slide 1

Popular Topics

Java

C++

C Programming

Software Engineering

Software Testing

Internet Of Things (IoT)

Embedded Systems

Programming

Kubernetes

Object Oriented Programming

Get a Head Start on Your Degree Today

University of Colorado BoulderMaster of Science in Computer ScienceEarn a degreeDegree
Illinois TechMaster of Information TechnologyEarn a degreeDegree
University of LondonBachelor of Science in Computer ScienceEarn a degreeDegree
University of Maryland Global CampusBachelor of Science in Cybersecurity TechnologyEarn a degreeDegree
University of Maryland Global CampusBachelor of Science in Cybersecurity Management and PolicyEarn a degreeDegree
Northeastern University Master of Science in Data Analytics EngineeringEarn a degreeDegree
Ball State UniversityMaster of Science in Computer ScienceEarn a degreeDegree
Northeastern University Master of Science in Information SystemsEarn a degreeDegree
International Institute of Information Technology, HyderabadMaster of Science in Information TechnologyEarn a degreeDegree
Universidad de los AndesMaestría en Inteligencia ArtificialEarn a degreeDegree
Universidad de los AndesMaestría en Ingeniería de SoftwareEarn a degreeDegree
Universidad de los AndesMaestría en Gerencia de la IngenieríaEarn a degreeDegree

You are Currently on slide 1

Programming for Robotics

FreeGeorgia Institute of TechnologyControl of Mobile RobotsCourse
FreeStanford UniversityMachine LearningCourse
University of PennsylvaniaRoboticsSpecialization
DeepLearning.AIDeep LearningSpecialization
FreeUniversity of MichiganSelf-Driving Cars Teach-OutCourse
University of TorontoSelf-Driving CarsSpecialization

You are Currently on slide 1

Develop Apps for iOS and Android

MetaMeta Front-End DeveloperProfessional Certificate
MetaMeta iOS DeveloperProfessional Certificate
MetaMeta Android DeveloperProfessional Certificate
GoogleGoogle UX DesignProfessional Certificate
GoogleBuild Wireframes and Low-Fidelity PrototypesCourse
University of MichiganUser Experience Research and DesignSpecialization
MetaMeta React NativeSpecialization
LearnQuestIntroduction to iOS App Development with Swift 5Course
Vanderbilt UniversityAndroid App DevelopmentSpecialization
University of AlbertaSoftware Design and ArchitectureSpecialization
Google CloudDeveloping Applications with Google CloudSpecialization
University of MichiganIntroduction to Structured Query Language (SQL)Course
University of MichiganWeb Applications for EverybodySpecialization
University of AlbertaIntroduction to Software Product ManagementCourse
University of AlbertaDesign PatternsCourse
Rice UniversityEngineering Project Management: Initiating and PlanningCourse
Vanderbilt UniversityJava for AndroidCourse
Vanderbilt UniversityEngineering Maintainable Android AppsCourse
LearnQuestSwift 5 iOS Application DeveloperSpecialization

You are Currently on slide 1

Programming Foundations in C and C++

Duke UniversityProgramming FundamentalsCourse
University of California, Santa CruzC for Everyone: Programming FundamentalsCourse
Dartmouth CollegeC Programming with LinuxSpecialization
University of Illinois at Urbana-ChampaignObject-Oriented Data Structures in C++Course
University of Colorado SystemIntroduction to C# Programming and UnityCourse
University of California, Santa CruzCoding for Everyone: C and C++Specialization
Duke UniversityIntroductory C ProgrammingSpecialization
Duke UniversityWriting, Running, and Fixing Code in CCourse
University of Colorado SystemComputational Thinking with Beginning C ProgrammingSpecialization
University of Colorado SystemC++ Programming for Unreal Game DevelopmentSpecialization
University of California, Santa CruzC for Everyone: Structured ProgrammingCourse
CodioC++ Basics: Selection and IterationCourse

You are Currently on slide 1

Algorithms to Take Your Programming to the Next Level

Stanford UniversityAlgorithmsSpecialization
DeepLearning.AIMathematics for Machine Learning and Data ScienceSpecialization
University of Colorado BoulderFoundations of Data Structures and AlgorithmsSpecialization
DeepLearning.AIMachine Learning Engineering for Production (MLOps)Specialization
DeepLearning.AINatural Language ProcessingSpecialization
Duke UniversityJava Programming and Software Engineering FundamentalsSpecialization
University of California, Santa CruzC for Everyone: Structured ProgrammingCourse
DeepLearning.AIGenerative Adversarial Networks (GANs)Specialization
University of Illinois at Urbana-ChampaignCloud Computing Concepts, Part 1Course
University of Colorado BoulderDynamic Programming, Greedy AlgorithmsCourse
FreeUniversity of LondonIntroduction to Applied CryptographyCourse
University of Colorado BoulderProbability Theory: Foundation for Data ScienceCourse
University of PennsylvaniaComputational Thinking for Problem SolvingCourse
FreePrinceton UniversityAlgorithms, Part ICourse
FreeStanford UniversityIntroduction to LogicCourse
Vanderbilt UniversityIntroduction to Data, Signal, and Image Analysis with MATLABCourse

You are Currently on slide 1

Top Rated Courses

FreeUniversity of WashingtonProgramming Languages, Part BCourse
Hebrew University of JerusalemBuild a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course)Course
FreeUniversity of WashingtonProgramming Languages, Part CCourse
FreePrinceton UniversityAlgorithms, Part IICourse
FreeUniversity of WashingtonProgramming Languages, Part ACourse
Rice UniversityAn Introduction to Interactive Programming in Python (Part 2)Course
Imperial College LondonGetting started with TensorFlow 2Course
Northwestern UniversityModern Robotics, Course 2: Robot KinematicsCourse
FreePrinceton UniversityAlgorithms, Part ICourse
University of MichiganPython Data StructuresCourse
DeepLearning.AICustom Models, Layers, and Loss Functions with TensorFlowCourse
DeepLearning.AIGenerative Deep Learning with TensorFlowCourse

You are Currently on slide 1

Frequently Asked Questions about Software Development

The best free software development courses to try are the Intro to Programming course and the IoT Devices course to get started!‎

If you're looking for a great software development course to begin your career, Coursera offers a wide selection. Some of our top picks are the IBM Full Stack Cloud Developer Professional Certificate, which provides the skills needed to become an application developer. Alternatively, you might also be interested in the DevOps and Software Engineering Professional Certificate or the Java Programming and Software Engineering Fundamentals Specialization for a more traditional approach to software engineering. Finally, if you're looking for a way of automating tasks, the Google IT Automation Professional Certificate is a great option.‎

For advanced software development courses, the Software Development Lifecycle Specialization by Coursera provides an all-in-one solution. It includes courses such as Agile Software Development and Cortex-M Architecture and Software Development Specialization which delves deep into ARM cortex microcontrollers. As well as Cortex-M Software Development Fundamentals for building firmware for these chips. Also, R Capstone to go through all the fundamentals and utilize the power of R language, which is a key aspect of software development.‎

Software is the set of instructions that tells a computer what to do. Software development encompasses all of the activities required for software design, deployment, maintenance, and support. Every video game, mobile app, and work-related computer program you’ve ever used goes through this process.

Software development starts by working with users and other stakeholders to determine what the software needs to do. Then, a software architecture is chosen to structure the program’s operation, as well as a software design to determine how it will solve for user requirements. Only then does the actual coding process begin, which also includes extensive team review and testing for quality assurance. Once the program is ready for deployment, software developers continue to be responsible for keeping the software updated, fixing bugs, and providing user support.‎

Software development careers usually start with coding experience in one or more programming languages. The best languages to learn depends on whether you’re working in front-end development, which often requires knowledge of JavaScript or HTML to provide a smooth user experience (UX), or back-end development, which might require languages like SQL or Node.js to run databases or APIs. You can get certifications to establish your qualifications in pretty much all of these programming languages through online courses.

The software development process isn’t just about programming, of course. You need to know your way around popular software development methodologies like DevOps or Agile which structure your software build process. You’ll also need discipline and documentation skills for a careful QA process that ensures your product ships bug-free. Finally, you need a problem solving mindset that balances curiosity with logical thinking, enabling you to imagine issues from your user’s perspective and come up with creative solutions.‎

Many popular tech jobs are in the field of software development, and the median salary for software development jobs is over $105,000 according to the Bureau of Labor Statistics. Traditional front-end developers and back-end developers are always in demand, and increasingly companies are seeking full stack developers that can work on both sides of the application. More specialized coding jobs are in demand too, including Java developers, JavaScript developers, and increasingly in-demand Python developers. And on a higher level, organizations need specialists in software development methodologies like DevOps engineers and Scrum masters.‎

Online courses and are a great way to build up your basic software development skills. You can pick up specific programming languages with courses in Python programming, JavaScript and object oriented programming in Java, C++, Ruby on Rails, Scala, and more. Once you have these foundations, you can learn how to put them to work in specific software development processes through courses in back-end, front-end, and full stack app development.

You can also take more theory-based courses if you have a specialized career paths in mind to help you understand how software development fits into the bigger picture. For example, if you want to work in database management, you can take courses in data structures and data science. For careers in artificial intelligence (AI), you can take courses in machine learning and algorithms. Whatever your goals are in software development, chances are you can find courses - or even entire degree programs - to meet your needs.

In addition to courses, Coursera offers short Guided Projects for you to hone your software development skills.‎

The skills and experience you might need to already have, before starting to learn software development include having a good understanding of computers and software programs, knowledge of programming languages like JavaScript, HTML/CSS, Python, and TypeScript, and how these languages are used in creating different types of software programs. Any potential employer will screen you for having this type of background and skills in any kind of software development role. You might also have an agreeable, team-oriented personality to work in common Agile environments.‎

The kind of people who are best suited for roles in software development are those with a mix of good technical skills and people skills. The technical skills side would definitely include a basic understanding of computer science, excellent coding skills, and a love for creating cool software. Notable skills for people best suited for roles in software development are self-organization, ability to focus and concentrate, ability to meet project deadlines, good oral and written communication skills, and an agreeable personality for optimal team workmanship.‎

Learning software development may be right for you if you are passionate about computers, technology, and software as a service. You might love the intricacies of playing video games, apps, and other software games. Learning software development may be right for you if you enjoy working on teams with other people and can work in a focused, deadline culture in your career.‎

A few of the topics to study that are related to software development are data analysis, operating systems, object-oriented programming, full-stack development, and learning about new tools that can make a software developer’s job more efficient. This might include tools to use less code to easily integrate tests and help developers avoid having to manually write tests. You might also look to study how software development is being used in artificial intelligence, machine learning, and Internet of Things applications.‎

Online Software Development courses offer a convenient and flexible way to enhance your knowledge or learn new Software Development skills. Choose from a wide range of Software Development courses offered by top universities and industry leaders tailored to various skill levels.‎

When looking to enhance your workforce's skills in Software Development, it's crucial to select a course that aligns with their current abilities and learning objectives. Our Skills Dashboard is an invaluable tool for identifying skill gaps and choosing the most appropriate course for effective upskilling. For a comprehensive understanding of how our courses can benefit your employees, explore the enterprise solutions we offer. Discover more about our tailored programs at Coursera for Business here.‎

This FAQ content has been made available for informational purposes only. Learners are advised to conduct additional research to ensure that courses and other credentials pursued meet their personal, professional, and financial goals.

Other topics to explore

Arts and Humanities338 courses
Business1095 courses
Data Science425 courses
Information Technology145 courses
Health471 courses
Math and Logic70 courses
Personal Development137 courses
Physical Science and Engineering413 courses
Social Sciences401 courses
Language Learning150 courses
Best Computer Science Courses Online [2024] | Coursera (2024)

References

Top Articles
Latest Posts
Article information

Author: Lidia Grady

Last Updated:

Views: 6686

Rating: 4.4 / 5 (65 voted)

Reviews: 80% of readers found this page helpful

Author information

Name: Lidia Grady

Birthday: 1992-01-22

Address: Suite 493 356 Dale Fall, New Wanda, RI 52485

Phone: +29914464387516

Job: Customer Engineer

Hobby: Cryptography, Writing, Dowsing, Stand-up comedy, Calligraphy, Web surfing, Ghost hunting

Introduction: My name is Lidia Grady, I am a thankful, fine, glamorous, lucky, lively, pleasant, shiny person who loves writing and wants to share my knowledge and understanding with you.