Introduction to Software Development and Applications (Coursera)

Introduction to Software Development and Applications (Coursera)

The primary objectives of this course are to introduce software engineering techniques and their application to real-world business problems. You will be equipped with practical design and programming techniques for the purpose of modeling significant business applications quickly.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

In a step-by-step manner, the instructor will take you through the process of systematically combining object-oriented programming techniques, business processes, and complex data models to assemble models that are user friendly and meet business requirements.
You will learn how to employ systems thinking, the object-oriented paradigm, the visual programming technique, as well as productivity tools to put together complicated, powerful designs. We will practice simple and smart ways of making software programming enjoyable.
This course is part of the Information Systems Foundations Specialization.

Syllabus

Introduction to the Software Development Cycle and Applications
In this first module of the course, we will begin with focusing on a general overview of the Software Development Life cycle. It is important as you explore and learn about development, that you understand how the skills learned in this course can translate into your current and future professional experiences. As developers, it is important to reflect on managing user expectations and understanding user needs - which may take several iterations of design and development to completely understand. This is why we focus on iterative development instead of a waterflow approach. We will learn more about these approaches and the key phases of the development lifecycle in this module. Then we will dive into exploring software applications and the need to anticipate risk, the potential for problems, and how to transform the software lifecycle into an actual application. We will learn more about the different components and algorithms in systems and review different real-world examples of the necessary connection between social and application systems. The most important thing to keep in mind is that there is always a social problem that must be solved and that is the key to developing effective application systems.

Application Design Principles
This module, we will begin exploring the design principles associated with designing application systems. the video delves into the challenges faced by modern hospitals due to the complexity of patient movements throughout the day. In this module we will explore how adopting a system view in software engineering can offer innovative solutions to enhance patient care and address these critical issues.

Object-Oriented Programming
This module, we will dive deeper into exploring how relationships are intertwined in application development, now focusing on an important component of application system design: the object-oriented paradigm, or OOP. We will learn about different component structures and the relationships between objects, structures, attributes, and behaviors. We will reflect on the complexities of the OOP and how it differs from simple algorithm creation.

Business Design Principles
This module, we will explore the connection between businesses and web application development, focusing on the importance of understanding successful enterprises. Exploring the fundamental principles of their operations, we will reflect on how business design plays a pivotal role in shaping software code and digital design. By examining the customer-centric approach of these companies and the emphasis on prioritizing customer experience, we explore key insights on how to create efficient and user-friendly applications with simple code. In this module you will also begin applying what you are learning about business design principles in a lab assignment that focuses on evaluating a campus build model.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Crash Course on Python (Coursera) Coursera
Google

Crash Course on Python (Coursera)

This course is designed to teach you the foundations in order to write simple programs in Python using the most common structures. No previous exposure to programming is needed. By the end of this course, you'll understand the benefits of programming in IT roles; be able to write simple programs using Python; figure out how the building blocks of programming fit together; and combine all of this knowledge to solve a complex programming problem.

Jun 23rd 2026
5-12 Weeks
Software Development Processes and Methodologies (Coursera) Coursera
University of Minnesota

Software Development Processes and Methodologies (Coursera)

Software is quickly becoming integral part of human life as we see more and more automation and technical advancements. Just like we expect car to work all the time and can't afford to break or reboot unexpectedly, software industry needs to continue to learn better way to build software if it were to become integral part of human life.

Jun 22nd 2026
4 Weeks
Software Design Methods and Tools (Coursera) Coursera
University of Colorado System

Software Design Methods and Tools (Coursera)

Since many software developers are compulsive coders, they have created software over the years to help them do their job. There are tools which make design and its associated tasks easier. The course introduces some basic tools and techniques to help you with design. Tools aren’t always tangible, however. The last two lessons of this course discuss questions of Ethics in software development. The purpose here is, as with tools, to equip you to better carry our your responsibilities as a designer. Students will be required to have a prior knowledge of writing and delivering software and some programming knowledge in java.

Jun 22nd 2026
5-12 Weeks
Agile Software Development (Coursera) Coursera
University of Minnesota

Agile Software Development (Coursera)

Software industry is going crazy on agile methods. It is rapidly becoming the choice for software development where requirements are unpredictable or is expected to change over time. This course will help you gain knowledge on what is agile? Why agile is better suited for these situations? We will also cover some of the most common agile frameworks like scrum and XP in depth.

Jun 22nd 2026
4 Weeks
Writing Java Application Code (Coursera) Coursera
LearnQuest

Writing Java Application Code (Coursera)

This is the third course in a Specialization titled Java as a Second Language. This course presents instruction to IT professionals for developing Java applications. The material targets professional that are familiar with application programming, but do not have strong Java skills. The type of Java applications focus on: Console based Java applications, Java windows applications, and Java web and mobile applications. This course presents material on developing real applications, and includes hands-on application development labs. Learners will gain strong Java application development skills.

Jun 22nd 2026
4 Weeks
Data Structures and Design Patterns for Game Developers (Coursera) Coursera
University of Colorado System

Data Structures and Design Patterns for Game Developers (Coursera)

This course is the fourth course in the specialization about learning how to develop video games using the C# programming language and the Unity game engine on Windows or Mac. Why use C# and Unity instead of some other language and game engine? Well, C# is a really good language for learning how to program and then programming professionally. Also, the Unity game engine is very popular with indie game developers; Unity games were downloaded 16,000,000,000 times in 2016! Finally, C# is one of the programming languages you can use in the Unity environment.

Jun 22nd 2026
4 Weeks
Building Scalable Java Microservices with Spring Boot and Spring Cloud (Coursera) Coursera
Google Cloud

Building Scalable Java Microservices with Spring Boot and Spring Cloud (Coursera)

"Microservices" describes a software design pattern in which an application is a collection of loosely coupled services. These services are fine-grained, and can be individually maintained and scaled. The microservices architecture is ideal for the public cloud, with its focus on elastic scaling with on-demand resources. In this course, you will learn how to build Java applications using Spring Boot and Spring Cloud on Google Cloud Platform.

Jun 23rd 2026
2 Weeks
Engineering Maintainable Android Apps (Coursera) Coursera
Vanderbilt University

Engineering Maintainable Android Apps (Coursera)

Engineering Maintainable Android Apps, which is a 4 week MOOC that shows by example various methods for engineering maintainable Android apps, including test-driven development methods and how to develop/run unit tests using JUnit and Robotium (or equivalent automated testing frameworks for Android), as well as how to successfully apply common Java/Android software patterns to improve the extensibility and clarity of Android apps.

Jun 22nd 2026
4 Weeks
Software Design as an Element of the Software Development Lifecycle (Coursera) Coursera
University of Colorado System

Software Design as an Element of the Software Development Lifecycle (Coursera)

This course talks about software development lifecycles a description/prescription for how we write software. Design is a step in this life cycle, and the course explores the implications of this. Design has a role in the life cycle; it is always there, regardless of the kind of life cycle we’re talking about. Why is that? Why was design considered as a step in this life cycle?

Jun 22nd 2026
5-12 Weeks
COBOL Programming with VSCode (Coursera) Coursera
IBM

COBOL Programming with VSCode (Coursera)

Professor Tak Auyeung of American River College, said it beautifully, “A programming language is not a fashion statement” it is used for a purpose. Whether it is to add new features, modify logic, create APIs to integrate it into other applications, or implement modern development practices, businesses around the world need application developers who know COBOL.

Jun 22nd 2026
3 Weeks
Intermediate Object-Oriented Programming for Unity Games (Coursera) Coursera
University of Colorado System

Intermediate Object-Oriented Programming for Unity Games (Coursera)

This course is the third course in the specialization about learning how to develop video games using the C# programming language and the Unity game engine on Windows or Mac. Why use C# and Unity instead of some other language and game engine? Well, C# is a really good language for learning how to program and then programming professionally. Also, the Unity game engine is very popular with indie game developers; Unity games were downloaded 16,000,000,000 times in 2016! Finally, C# is one of the programming languages you can use in the Unity environment.

Jun 22nd 2026
4 Weeks
Introduction to Java and Object-Oriented Programming (Coursera) Coursera
University of Pennsylvania

Introduction to Java and Object-Oriented Programming (Coursera)

This course provides an introduction to the Java language and object-oriented programming, including an overview of Java syntax and how it differs from a language like Python. Students will learn how to write custom Java classes and methods, and how to test their code using unit testing and test-driven development. Topics include basic data structures like Arrays and ArrayLists and overloading methods.

Jun 22nd 2026
3 Weeks