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.
"Easy to follow and logical, perfectly suitable for absolute beginners to grasp the very basics of software development."
"Thank you for creating this course, seriously. There are so many pointers that you have highlighted within the dev world that i was simply unaware of. A+ for bringing them to light."
"Great to Go Course! Masterpiece in info for the Software Development industry."
"This course gives me the very quick introduction to software development. It is neccessary to know before the job interview."
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.
Let's discuss some of the most widespread misconceptions about becoming/being a software developer.
In this clip, I am going to reveal some of the most widespread misconceptions around software development.
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.
Wha are the most common tasks related to software development?
In this clip, I am going to talk about software development methodologies: what they are, and why are they so important.
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.
Tests your Waterfall Model knowledge
Let's see what are the benefits and drawbacks of the Waterfall model.
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.
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.
What can go wrong with Agile?
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.
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.
Test your knowledge about the SCRUM sprint cycle
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.
What are SCRUM burn-down charts for?
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.
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.
Test your knowledge about classes and objects
This chapter explains the fundamentals of OOP: abstraction, encapsulation and data hiding.
Test your knowledge about abstraction, encapsulation and data hiding
In this clip, I am going to explain further OOP-concepts: Inheritance and polymorphism.
Test your knowledge about inheritance and polymorphism.
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.
Test your UML knowledge.
So, you want to make a career switch to software development? You might be wondering, what’s next? Well, in this section I am going to provide some additional guidance and useful hints that will help you in accomplishing your goal.
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 Apple, Siemens, 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.