Software Development From A To Z

This course is for you if you are interested in software development! All you need to know explained in layman's terms.
4.8 (13 ratings) Instead of using a simple lifetime average, Udemy calculates a
course's star rating by considering a number of different factors
such as the number of ratings, the age of ratings, and the
likelihood of fraudulent ratings.
201 students enrolled
5% off
Take This Course
  • Lectures 20
  • Length 1 hour
  • Skill Level All Levels
  • Languages English, captions
  • Includes Lifetime access
    30 day money back guarantee!
    Available on iOS and Android
    Certificate of Completion
Wishlisted Wishlist

How taking a course works


Find online courses made by experts from around the world.


Take your courses with you and learn anywhere, anytime.


Learn and practice real-world skills and achieve your goals.

About This Course

Published 10/2016 English Closed captions available

Course Description

Learn the fundamentals of how software applications are created and maintained. This easy to follow video course explores the principles and techniques of software development. You will acquire professional and technical skills together with an understanding of what. software development is all about.

Upon completing this course, you will be able to understand the principles and theory of software development.

What are the requirements?

  • Download StarUML2 from StarUML 2 is compatible with Windows, macOS and Linux.

What am I going to get from this course?

  • Learn the fundamentals of how software applications are created and maintained. This easy to follow video course explores the principles and techniques of software development. You will acquire professional and technical skills together with an understanding of analysis, design, software construction and testing.

What is the target audience?

  • This course is meant for anybody who wants to become a software developer, or any current software developer who wants to refresh his knowledge on modern software development principles.

What you get with this course?

Not for you? No problem.
30 day money back guarantee.

Forever yours.
Lifetime access.

Learn on the go.
Desktop, iOS and Android.

Get rewarded.
Certificate of completion.


Section 1: Introduction

Welcome to the course!

In brief introduction this clip, I am going to quickly introduce myself, and provide an overview of what's covered in this course about software development. 

If you are reading this, you are most likely considering a change in career; perhaps you just want to learn more about software development. Whichever the case may be, you are in the right place.

Section 2: Software Development Basics

In this clip, I am going to reveal some of the most widespread misconceptions around software development.

1 question

What are the activities involved in software development?


In this episode, I’d like to introduce the most frequent activities involved in the course of developing software.

1 question

Wha are the most common tasks related to software development?

Section 3: Software Development Methodologies

In this clip, I am going to talk about software development methodologies: what they are, and why are they so important.

1 question

Why do we need software development methodologies


The Waterfall model was first described by Winston Royce back in 1970. Let's see what this sequential model is all about.

1 question

Tests your Waterfall Model knowledge


Let's see what are the benefits and drawbacks of the Waterfall model.

1 question

Biggest drawback of the Waterfall Model


In this clip, I am going to introduce the Agile model. This methodology is praised for providing fast response to changes, continuous improvement and early delivery of working software.

1 question

Test your knowledge about Agile


The Agile development methodology has become very popular. Yet, it does not come without issues. In this episode, we are going to analyze both its pros and cons.

1 question

What can go wrong with Agile?

3 questions

Agile vs. Waterfall - which one is "better"?


In this clip, I am going to introduce Scrum, which is a way to organize team work around Agile principles.

3 questions

Test your knowledge about SCRUM


Scrum organizes work in short, sustainable bursts of activity called sprints.
In this episode, we are going to analyze how work is managed within a sprint.


A burndown chart is an essential tool for tracking the progress during a sprint. This clip explains how this can be done in an efficient, yet simple way.


In this clip, I am going to explain how the so-called task boards can be used to visualize the state of the various tasks the team should handle.


The Kanban system was first used by Toyota to improve the efficiency of mass-producing  cars. As it turned out, it can be applied also to creating software products - I'll explain how in this episode.

Section 4: Object Oriented Programming

In this episode, I am going to introduce the basics of Object-Oriented Programming. We are going to clarify OOP-concepts like classes, instances, inheritance, polymorphism, abstraction, data hiding and more.


This chapter explains the fundamentals of OOP: abstraction, encapsulation and data hiding.


In this clip, I am going to explain further OOP-concepts: Inheritance and polymorphism.

Section 5: The Unified Programming Language

The Unified Modeling Language is a graphical way to describe a software system. It provides the means to describe the structure and also the functionality of the system.


This clip introduces the Class Diagram, which is a popular UML structure diagram type. It describes the static relationships between the objects that are forming the software system.


In this episode, I am going to explain the UML relationships: generalization, association, aggregation, composition, realization and dependency.


Sequence Diagrams can describe the flow of logic within your system. In this episode, I am going to describe this powerful UML diagram type.

Students Who Viewed This Course Also Viewed

  • Loading
  • Loading
  • Loading

Instructor Biography

Karoly Nyisztor, IT Professional, iOS / Mac Developer, Teacher

I am a veteran mobile developer having built several successful iOS apps and games, most of which were featured by Apple.

I am the founder at Leakka, a software development and tech consulting company. I have worked with companies such as Siemens - Evosoft, SAP, Zen Studios, and many more.

I spend most of my days now as a professional software engineer and IT architect. As an instructor, my aim is to share my 20+ years of software development expertise, and change the lives of students throughout the world.

My passion is helping people reveal hidden talents and guide them into the world of startups and programming. I currently am teaching object-oriented software design, iOS, Swift, Objective-C and UML.

Ready to start learning?
Take This Course