Software Development From A to Z - OOP, UML, Agile and more
4.4 (835 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
4,200 students enrolled

Software Development From A to Z - OOP, UML, Agile and more

Learn about software development, OOP, UML, Agile, SCRUM, Python. Get insights into the software development industry.
Bestseller
4.4 (835 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
4,200 students enrolled
Last updated 4/2020
English
English
Current price: $72.99 Original price: $104.99 Discount: 30% off
5 hours left at this price!
30-Day Money-Back Guarantee
This course includes
  • 5.5 hours on-demand video
  • 6 articles
  • 6 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Certificate of Completion
Training 5 or more people?

Get your team access to 4,000+ top Udemy courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Learn about software development from a leading expert
  • Get closer to your goal of becoming a software developer even if you have no experience
  • Get the companion eBook for FREE! (sells for $28.80 on Amazon)
  • Learn about Agile, Waterfall, Kanban and SCRUM
  • Learn to Code through hands-on Python Examples
  • Get the essential skills to become a successful software engineer
  • Get insights into the daily activities of a professional software developer
  • Read UML diagrams, create class and sequence diagrams to describe software systems
  • Learn about the various career paths in software development
Course content
Expand all 104 lectures 05:32:53
+ INTRODUCTION
2 lectures 02:13

Welcome to the course!

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.

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

Preview 01:53

Please join our official group to get even more feedback and support!

Join the Official Student Group
00:20
+ PART 1: SOFTWARE DEVELOPMENT: MYTHS VS. REALITY
3 lectures 13:09

Let's talk about some of the most widespread misconceptions about becoming/being a software developer.

The Biggest Misconceptions About Becoming a Developer
04:10

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

Preview 06:09

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

Activities Involved in Software Development
02:50

Time to test your knowledge.

Section Quizzes
2 questions
+ PART 2: SOFTWARE DEVELOPMENT METHODOLOGIES
5 lectures 18:20

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

Software Development Methodologies
01:31

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

Preview 04:35

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

The Waterfall Model - Pros and Cons
04:19

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.

Agile Software Development
04:39

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.

Agile Model Pros and Cons
03:16
Test your Knowledge about Software Development Methodologies
Section Quizzes - Software Development Methodologies
6 questions
+ Agile Frameworks: SCRUM & Kanban
7 lectures 19:58

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

Agile Frameworks - Scrum
06:55

Scrum organizes work in short, sustainable bursts of activity called sprints. In this episode, I am going to provide an overview of how work is managed within a sprint.

The Scrum Sprint Cycle - Overview
01:13

Each Scrum sprint starts with planning.

Sprint Planning
03:26

The "Daily Scrum" or standup is a daily ritual for scrum teams.

The Daily Scrum
00:55

In this video, I talk about the two closing Scrum ceremonies: the review and the retrospective. I'll give you a real-life example towards the end of this lecture.

The Sprint Review and the Retrospective Meeting
03:06

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

The Kanban Agile System
02:53

Kanban uses a big board to visualize pending work and the current capacity assigned to the given development phase. Let's have a look at the ways you can implement basic and more advanced Kanban boards.

Kanban Boards
01:30

Test your knowledge about Agile Frameworks

Section Quizzes: Agile Frameworks
5 questions
+ PART 3: PROGRAMMING FOUNDATIONS FOR ABSOLUTE BEGINNERS
3 lectures 06:48

A brief introduction of what you'll learn in the upcoming sections.

Preview 01:29

A funny and straightforward explanation of what coding is.

What's Coding?
02:57

What's a programming language? How does the computer understand the code we write? In this lecture, I clarify these and many other topics.

Programming Languages
02:22
+ Introducing Python
5 lectures 09:39

Here are the reasons I chose Python to introduce you to programming.

Preview 02:04

In this lecture, we check if you have the right Python version on your machine, and I show you how to install Python 3.x if necessary.

Setting Up Python on Your Computer
02:16

In this lecture, you learn how to use the interactive Python language shell, also known as REPL (Read-Evaluate-Print-Loop).

The Python Command Line
02:37

In this video, we talk about code editors and IDEs. I also show you how to install Visual Studio Code, the IDE we'll be using to implement all the Python projects in this course.

Install and Configure Visual Studio Code
02:32

Download the Python exercise files the instructor uses to teach the course.

Exercise Files
00:10
+ Basic Syntax
8 lectures 33:05

In this lecture, you’re going to write your first program in Python.

Preview 04:35

In this video, we create a program that waits for user input and produces the output based on what the user entered.

Asking for User Input
03:14

I talk about the importance of code comments and explains how to include inline explanations in our Python programs.

Using Comments in Code
02:36

In this video, we take a closer look at variables. I show you how to declare and use variables through coding examples. We'll also talk about the importance of adhering to naming rules.

Declaring Variables
05:32

Besides strings, numbers are the most common kind of values in computer programs. In this lecture, we discuss how to use numeric values in your Python programs.

Working with Numbers
03:23

In this lecture, we introduce the basic arithmetic operations: addition, subtraction, multiplication, and division.

Using Basic Arithmetic Operations
04:49

We’ve seen how to define string literals, now let’s see some more advanced examples of using and managing text in our programs.

Working with Strings
06:41

Although the Boolean type can only represent two values, True and False, it has a crucial role in programming. So, let's have a closer look at it.

The Boolean Data Type
02:15
+ Control Flow
6 lectures 18:38

In our programs, we need to have logic that only executes if specific conditions are true. The following lectures will introduce you to conditional code. I'll show you how to write effective and elegant programs using conditions, and comparison and logical operators.

Introducing Conditional Code
02:31

In this video, I introduce the concept of code blocks.

Code Blocks
02:00

Let's see what operators can we use in conditional statements.

Comparison Operators
05:04

As you write more complex programs, you’ll notice that a pair of if-else statements is rarely enough. In this video, we're going to use multiple conditions using the elif keyword. I'll also show you how to implement nested conditional code.

Going Deeper: else-if, Nested Conditionals
02:53

Let me show you how to check for another condition after a condition evaluates to true.

Nested Conditionals
01:01

We can use logical operators to evaluate multiple conditions. In this lecture, I show you how to replace nested if statements with a more succinct alternative.

Using Logical Operators
05:09
+ Functions
11 lectures 32:24

In this section, we dive into functions. Functions allow us to write code and reuse it anywhere in our programs. But why is reusability so important? I'm going to answer this and many other questions, too.

Why Do We Need Functions?
03:13

In this lecture, I show you how to create functions to wrap the code that we want to reuse.

Writing Functions
03:33

Now that you know how to write a function, it's time to learn how to use it.

Calling a Function
02:40

Starting with Python 3, we can inform the caller about the expected argument and return type of a function.

Defining Function Parameter and Return Type
02:57

In this lecture, we talk about the scope of variables. We address questions such as "Can I access a variable that's defined within a function?" and more.

Understanding the Scope of Variables
04:28

We're going to implement an application that calculates the area of various shapes.

Demo: Implementing an Area Calculator
02:05

Let's test the Area Calculator Demo we just built.

Testing our Application
05:06

In this lecture, we enhance the Area Calculator demo further by encapsulating the conditional logic into a dedicated function.

Enhancing the Area Calculator App
04:33

Section Challenge

As an exercise, enhance the app with the option to calculate the area of a rhombus.

Section Challenge: Calculate Rhombus Area
00:59

Hints for chapter challenge.

Challenge Hints
00:31

Solution for the chapter challenge.

Solution: Calculate Rhombus Area
02:19
+ Loops
6 lectures 23:38

In programming, you’ll encounter situations when you’ve got to repeat certain tasks. In this video, we start implementing a Python project that simulates the login functionality.

Preview 05:11

The while statement allows us to repeat execution until an expression evaluates to false. In this lecture, I'm going to show you how to implement the while loop in Python.

Introducing the "while" Statement
03:46

Let's have a look at infinite loops and how to avoid them.

Avoiding Infinite Loops
04:35

Often, we need to execute a block of code a number of times, then exit. The for loop provides this type of functionality.

Writing "for-in" Loops
03:09

You already know how to use the break statement. In this lecture, I introduce a second statement that can be used to control loops.

Deeper into Loop Control Statements
03:35

In this video, we refactor the Login program using the for-in loop.

Rewriting the Login App Using the for Loop
03:22
Requirements
  • No prerequisites (we will teach you everything you need to know)
  • A desire to learn new concepts
Description

** Bestseller Software Development course on Udemy (Updated April 2020) **
Get the essential skills to become a successful software engineer. Extra Bonus: Free e-book version included!

Explore the core concepts of software development using simple, easy-to-understand terms. Get insights into the life of professional coders and acquire technical skills. Get up to speed with programming in Python fast.

“Software Development from A to Z” is an easy to follow guide to the fundamentals of how software applications are created and maintained. You don’t need any prior knowledge or software development experience.

In this comprehensive course, author Károly Nyisztor explores the principles and techniques of software development. He explains each concept using easy-to-understand analogies. Besides, he shares personal insights and real stories from his own professional life.

Topics include:

- PART 1: SOFTWARE DEVELOPMENT: MYTHS VS. REALITY
    - Misconceptions around software development

- PART 2: SOFTWARE DEVELOPMENT METHODOLOGIES
   
- What’s a Software Development Methodology?
    - What’s the Difference between Agile and Waterfall?
    - How is Work Organized in Scrum?
    - Just-in-Time and Kanban. What has Toyota to Do with Software Development?

- PART 3: PROGRAMMING FOUNDATIONS FOR ABSOLUTE BEGINNERS
    - Learn to Code through hands-on Python Examples
    - Basic Syntax
    - Control Flow
    - Functions
    - Loops
    - Containers
    - Error Handling
    - File Input and Output
    - Introduction to Object-Oriented Programming
    - Introduction to Algorithms

- PART 4: THE UNIFIED MODELING LANGUAGE (UML)
    - UML Diagram Types
    - The Class Diagram
    - UML Relationships
    - The Sequence Diagram
    - The Statechart Diagram

- PART 5: CAREERS IN PROGRAMMING - WEB DEVELOPMENT
    - How Do Websites Work?
    - What's HTML?
    - Using CSS to Style Webpages
    - JavaScript Basics
    - Implementing a Color Theme Picker in JavaScript
    - JavaScript Functions and Event Handlers

- PART 6: ASK KAROLY - STUDENT Q&A VIDEOS


“Software Development from A to Z“ is the perfect course for you if you plan to switch careers or if you just wanted to find out more about software development.


STUDENT REVIEWS

"This course was surprisingly helpful. before entering the course, I had experienced many of the topics already, like Agile and programming concepts. This course taught a variety of topics at a pretty high level. Was a good refresher for me in some areas, and in others I learned just enough to spark my interest in diving deeper (javascript, OOP, etc). The examples he uses to teach the subject matter in the course really make it easy to understand (using Pokemon for Objects and classes really stood out to me more than how I previously was taught). Really fun course! I recommend it!" - Jeffrey

“This course was easy to understand and I feel like I know the basics and where to go next.” - Kyra Morris

“Abstract stuff distilled into bite-size relatable information.” - Brian McPherson

“Great to Go Course! Masterpiece in info for the Software Development industry.” - Prabhakar Kumar

“I really enjoyed the variety of topics and the concise style.” - Monique

MORE THAN AN ONLINE COURSE. WITH THIS CLASS, YOU ALSO RECEIVE:

  • Expert instructions
    Karoly's been working as a software engineer for more than two decades. He designed and developed professional systems, including core components of Siemens Healthcare's syngo image processing system.
    Karoly was one of the senior software architects behind the SAP Cloud Platform SDK for iOS, a framework built by Apple and SAP.

  • Premium support
    As a student of this course, you’ll get personalized attention and support.

  • The companion eBook for FREE!
    The paperback version sells for $28.80 on Amazon

  • Downloadable resources
    You get downloadable UML cheat sheets you can use as quick reference guides.

  • Continuous updates
    We keep enhancing this course to provide fresh and up-to-date content.


OUR 30-DAY MONEY-BACK GUARANTEE

If you aren't satisfied with your purchase, we'll refund you your money - no questions asked! We want to make sure you're completely satisfied with the course. That's why we're happy to offer you this money-back guarantee.

Go ahead and click the enroll button. See you in the first lesson!


ABOUT THE AUTHOR

Károly Nyisztor is a veteran mobile developer and instructor.
He has built several successful iOS apps and games—most of which were featured by Apple—and is the founder at LEAKKA, a software development, and tech consulting company. He's worked with companies such as Apple, Siemens, SAP, and Zen Studios.

Currently, he spends most of his days as a professional software engineer and IT architect. Besides, he teaches object-oriented software design, iOS, Swift, Objective-C, and UML. As an instructor, he aims to share his 20+ years of software development expertise and change the lives of students throughout the world. He's passionate about helping people reveal hidden talents and guide them into the world of startups and programming.

You can find his courses and books on all major platforms, including Amazon, Lynda, LinkedIn Learning, Pluralsight, Udemy, and iTunes.

Who this course is for:
  • This course is for you if you plan to start a career in software development
  • This course will refresh your knowledge about software development concepts
  • Take this course if you want to acquire technical skills required for job interviews
  • You'll get insights into the software development industry