MPP: Entry Level Software Development

Bringing the modern world to life.

Log in to Enroll

Code builds everything.

Nearly all tech that you engage with relies on software. The job outlook for software developers is growing year after year. Simply put, Software Developers are the people bringing the modern world to life.

Summary

Who takes this course

Students new to programming.

Difficulty

Advanced

Assessment

Students new to programming

Certification

The Microsoft Professional Program is completed by completing the Capstone project. There isn’t an exam to complete this track.

Completion time

209-308 hours

Curriculum

Logic and Computational Thinking

Build a solid foundation for programming by learning basic logic and exploring how logic forms the foundation of computer programs.

Summary

Length
4 weeks (2 to 3 hours per week)
Level
Introductory
Language
English

About this course

Understanding how a computer “thinks” is one of the first steps to becoming an excellent computer programmer. A foundation in logic is crucial in developing this understanding. Mastering logic is more than learning a set of rules. It involves learning how to break problems into smaller chunks, figuring out how repeatable processes can save time and improve quality, and understanding how to organize problems into the right size.

In this course, you’ll learn how to do all those things and use computers to make them easier. After all, logical tasks are what computers are best at doing!

This is not a programming course, but it will teach you how to approach critical thinking as both a lifestyle and an aide to better programming and testing.

What you’ll learn

  • Logical form and how to construct arguments
  • Deductive and inductive argument forms
  • The basics of critical thinking
  • How to break down problems into simpler tasks
  • Recognizing patterns and understanding why this is important
  • How to use an algorithm to solve problems
  • The relation of logic to fundamentals in computer science

Course Syllabus

Students who take this training should understand:

Module 0: Introduction to the course

  • What this course is about
    • Analytic logic and its relation to computer science
    • Critical thinking as both a lifestyle and aide to better programming and testing
    • Note: This is not a programming course
  • Let’s get started: critical thinking and logical reasoning
    • What does it mean to think critically?
    • An overview of definition, induction, and deduction
    • Computer programming and logical thinking

Module 1: Deduction and Induction

  • Deduction and deductive syllogisms
    • Validity and invalidity
    • Argument forms
    • Deductive arguments and computer code
    • Exercises
  • Induction and inductive syllogisms
    • Inductive arguments and critical thinking
    • Exercises
  • Assessment

Module 2: Deductive Reasoning and Categorical Logic

  • Focus on how to discipline thinking to write better programs
  • The categorical statement
  • The categorical syllogism
  • Venn diagrams
  • Application to computer code
  • Exercises
  • Assessment

Module 3: Inductive Reasoning and Software Testing: How to think critically

  • The logic of science
  • Looking for the cause (Mill’s Methods)
  • Critical thinking and modern science
  • Applying critical thinking skills to software testing
  • Assessment

5. Final Exam

Introduction to Python: Absolute Beginner

In this course that’s perfect for true beginners, learn Python basics and start coding right away.

Summary

Length
5 weeks (3 to 4 hours per week)
Level
Introductory
Language
English

About this course

Brand new to text-based programming? Check out this hands-on course for an in-depth look at the details of Python layers and concepts. Get ample practice drills and projects, using Jupyter Notebooks on Azure, which require only a browser and an Internet connection. Learn best practices and begin coding almost immediately.

After you explore data types and variables, take a look at strings, input, testing, and formatting. From there, learn about arguments and parameters, along with conditionals and nested conditionals. By the end of the course, you’ll be able to create programs that prompt users for input and use conditional (True/False) logic and Python methods to manipulate numbers and text to provide responses to the users, in addition to requesting further input. Plus, learn basic troubleshooting for your code. Sign up, and get started coding right away!

What you’ll learn

  • Using Python in Jupyter Notebooks
  • Gathering input and manipulating input/output
  • Building reusable Functions with parameters and return values
  • Decisions and repetition using conditional statements and loops
Introduction to Python: Fundamentals

Build on what you learned in the “Introduction to Python: Absolute Beginner” course, and dig into data structure basics.

Summary

Length
5 weeks (3 to 4 hours per week)
Level
Introductory
Language
English

About this course

Ready for more hands-on, step-by-step Python fundamentals? Add to the foundational experience you got in the Introduction to Python: Absolute Beginner, and explore data structures. Get lots of practice working with sample code in Jupyter Notebooks on Azure, which require only a browser and an Internet connection.

Focus on Python data structures, and work with string, list, and range sequences. Discover the power of list iteration, and learn about string and list methods. From there, get the details on file input and output—open files, read them, add to them, close them, and more. At the end of the course, you’ll be able to slice strings into substrings, create lists, iterate through them, import files, and use file append mode, along with a lot of other practical Python tasks, as you get started coding.

What you’ll learn

  • Python 3 fundamentals
  • Strings and List manipulation
  • Methods to Iterate through strings, lists and ranges
  • Creating, reading and writing to files

Prerequisites

Students who take this training should understand:

  • Course: Introduction to Python: Absolute Beginner

Course Syllabus

Students who take this training should understand:

  • Module 1 – Sequences: String Indexing
  • Module 2 – Sequences: List Manipulation
  • Module 3 – Sequences: Iteration
  • Module 4 – Files: Input and Output
Designing a Technical Solution

Turn your idea into a prototype as you learn the process of designing and prototyping web applications to solve real problems.

Summary

Length
5 weeks (3 to 4 hours per week)
Level
Introductory
Language
English

About this course

In this course you will learn the process of turning ideas into technical solutions. Early learners often need to learn context and the big ideas of a process before diving into the advanced details, and that’s exactly what you’ll get in this course. You’ll build upon your own idea for an app as you learn the process of conducting market research, user-centered design, and front-end web development. By the end of the course, you will have a user-centered design, wireframes and specification for a web app, along with a front-end user interface built with HTML and CSS.

Upon completion of this course, you will be able to:

  • Describe how software is used to solve problems
  • Define application requirements based on user research
  • Design effective products using Human Centered Design
  • Employ Visual Studio Code and web browser tools in the development of web pages
  • Learn the basics of how the Internet works
  • Explore various prototyping techniques following industry standard design principles
  • Develop basic HTML and CSS webpages
  • Once you complete this course, continue onto Building Interactive Prototypes using JavaScript to enhance your prototype as you learn how to use JavaScript to allow interaction on your webpages.

What you’ll learn

  • Solving problems with technology
  • Human-centered design
  • HTML basics
  • CSS basics

Prerequisites

Students who take this training should understand:

  • On premises TCP/IP networking
  • Familiar with mobile device management
  • General cloud principles

Course Syllabus

Students who take this training should understand:

  • Module 1 – Designing Technical Products
  • Module 2 – Intro to Web Development
  • Module 3 – Building Webpages with HTML
  • Module 4 – Styling Webpages with CSS
Building Interactive Prototypes using JavaScript

From programming basics to DOM manipulation, learn to use JavaScript, the programming language of the Web, to create interactive web pages.

Summary

Length
5 weeks (3 to 4 hours per week)
Level
Introductory
Language
English

About this course

In this course, you’ll learn how to turn a static web front-end into something that users can interact with. You’ll learn the fundamentals of JavaScript and how to apply JavaScript to enhance the interactivity of webpages. By the end of this course, you’ll have a web app prototype that allows basic interaction.

Upon completion of this course, you will be able to:

  • Read code and describe what it does
  • Utilize understanding of program execution to formulate algorithms to solve specific tasks
  • Write JavaScript code to manipulate DOM elements on a webpage

Once you complete this course, continue onto Building Functional Prototypes using Node.js to learn how to write JavaScript code to build the back-end of your app!

What you’ll learn

  • Programming fundamentals
  • JavaScript frontend web development basics
  • DOM manipulation with JavaScript

Course Syllabus

Students who take this training should understand:

  • Module 1 – What is JavaScript?
  • Module 2 – Programming Fundamentals in JavaScript
  • Module 3 – Working with the DOM
  • Module 4 – Putting it all Together
Building Functional Prototypes using Node.js

Learn the basics of back-end web development as you create a simple web application server using Node.js.

Summary

Length
5 weeks (3 to 4 hours per week)
Level
Introductory
Language
English

About this course

In this course, you’ll learn all about back-end web development so that you can turn a basic web app prototype into something that can store live data. We’ll cover the basics of Node.js so that you can write JavaScript code to build the back-end of your app, as well as the basics of SQL and SQLite to write queries to work with a database. By the end of this course, you’ll have a functional web app prototype that can be accessed on the Web.

Upon completion of this course, you will be able to:

  • Distinguish between front-end and back-end within the context of web app development
  • Create a back-end web server using Node.js
  • Understand the uses and types of databases and DBMSs
  • Construct SQL queries to perform CRUD operations on a database
  • Deploy a web app on Azure

What you’ll learn

  • Web server basics
  • HTTP and web routing
  • SQL basics
  • Database querying with SQLite
  • Azure deployment

Prerequisites

Students who take this training should understand:

  • Basic knowledge of HTML
  • Understanding of programming basics, preferably in JavaScript

Course Syllabus

Students who take this training should understand:

  • Module 1 – Intro to Back-End Web Development
  • Module 2 – Building a Web App Server using Node.js
  • Module 3 – Working with a Database
  • Module 4 – Deploying a Web App on Azure
Learn to Program in Java

Get started on the path to becoming a software engineer by learning core coding skills in Java—one of the most popular programming languages.

Summary

Length
4 weeks (6 to 10 hours per week)
Level
Introductory
Language
English

About this course

Ready to start your programming journey? Being a software engineer is much more than simply writing code—it requires a strong conceptual understanding of computer science. In this course, which was developed through a combination of academic and industry perspectives, learn not only how to code in Java but also how to break down problems and implement their solutions using some of the most fundamental computer science tools.

Get plenty of hands-on Java coding experience with methods, logic, loops, variables, parameters, returns, and recursion. And write your code using industry-standard tools and practices to help you build strong habits as you grow your development skill set.

Whether you are preparing for advanced university computer science courses, an entry-level software engineering position, or the Advanced Placement Computer Science A exam, get the tools you need to succeed in this practical, self-paced Java course.

What you’ll learn

  • Basic Java commands and APIs using industry tools
  • Foundational data organization and manipulation
  • Code control structures, such as loops and if/else statements
  • How to structure code using methods, parameters, and returns

Course Syllabus

Students who take this training should understand:

  • Module 1 – Java Basics
  • Module 2 – Control Structures
  • Module 3 – Data Flow
  • Module 4 – Capstone Project
Object Oriented Programming in Java

One of the most important skills in software development is designing how code is organized. In this Java course, learn how to apply industry-standard practices as you structure your software.

Summary

Length
4 weeks (6 to 10 hours per week)
Level
Introductory
Language
English

About this course

What do hiring managers look for in entry-level developers? According to a recent survey, one of the most requested job skills is “strong object oriented design”. Yet traditional computer science programs rarely focus on this area.

In this Java course, examine the role of objects in code, explore how to use them, and see how to design them for optimal code reuse and structure. Get tons of hands-on coding experience using popular Java objects, like Arrays and Lists, and then leverage those learnings to design your own object hierarchies. Plus, practice using inheritance, interfaces, abstract classes, and encapsulation techniques to help you manage large code bases.

Get comfortable employing industry standards in designing and managing complex relationships within a code base, as you add to your computer science skill set.

What you’ll learn

  • How to employ single and two-dimensional arrays to store complex data
  • Different implementations of the Java List interface
  • Design best practices when creating your own objects from scratch
  • When to properly leverage inheritance, interfaces, and abstract classes to relate objects to one another

Prerequisites

Students who take this training should understand:

  • Students should be familiar with the basics of Java programming such as methods, parameters, returns, scope and data types.

Course Syllabus

Students who take this training should understand:

  • Module 1 – Using Objects
  • Module 2 – Building your own Objects
  • Module 3 – Object Inheritance
  • Module 4 – Capstone Project
Algorithms and Data Structures

Learn how to write faster and more efficient code against the backdrop of famous algorithms.

Summary

Length
5 weeks (3 to 4 hours per week)
Level
Intermediate
Language
English

About this course

Want to build better programs? Learn how, in this professional-level course.

Bring your programming experience, and join us for a deep dive into fundamental concepts that you can use right away. Go underneath the hood of functional algorithms and data structures, and see how they work and how to compare them. Plus, get the details on when and how to use them.

In this real-world-tested curriculum, take a look at famous algorithms and equations, and see how yours stack up. See practical demos, compare “life scenarios” to their coding counterparts, and create an app for your final project.

Add to your developer toolkit with this in-depth exploration of algorithms and data structures.

What you’ll learn

  • Algorithmic Analysis
  • Sorting and Searching of Algorithms
  • Data Structures: Linked lists, Stacks, Queues.

Course Syllabus

Students who take this training should understand:

  • Module 0: Introduction to the course
  • Module 1:
    • Algorithms basics
    • Sorting and Searching
  • Module 2: Algorithmic analysis
  • Module 3:
    • Linked lists
    • Stacks and Queues
  • Final Assessment
Writing Professional Code

Writing professional code is a team sport. Learn how to elevate your game to the next level.

Summary

Length
4 weeks (3 to 4 hours per week)
Level
Intermediate
Language
English

About this course

“Professional” sounds boring, right? Wrong! Join expert Andrew Byrne, who has more than 25 years of software development experience, and see how fun it can be to apply your coding skills to actual problems. Create an online portfolio of code on GitHub, and receive feedback from your peers through code reviews and discussions.

Being a professional developer is about managing change, evolving a codebase, maintaining quality, and keeping your users and your business safe.

As a new coder, step up your game as you learn and practice key skills that developers use every day. Work with a collection of code in a version control system like Git, use open source (OSS) libraries, make updates to existing code, improve its readability, and even take a look at security. Don’t miss this opportunity to be part of the team, and get practical experience with real code in a real coding environment.

What you’ll learn

  • Work with code that’s maintained in a version control system, such as Git.
  • Improve code and make it easier to understand using refactoring, code comments, naming conventions and documentation.
  • Update an existing code base.
  • Code with confidence with the help of unit tests.
  • Give and receive meaningful feedback in a peer code review.
  • Contribute to Open-Source Software (OSS) projects on GitHub.
  • Learn how to keep your code secure and respect your user’s privacy.

Prerequisites

Students who take this training should understand:

  • Knowledge of C# is required
Introduction to Design Thinking

Design Thinking is a creative process that combines thoughtful user research with rapid iteration. Learn why it becomes an industry standard all over the world.

Summary

Length
5 weeks (3 to 4 hours per week)
Level
Introductory
Language
English

About this course

Want to take your design skills to the next level? Join a team of industry experts on this practical and informative journey from concept to conclusion.

This course will introduce you to the Design Thinking process and illustrate best practices for each step along the way. You’ll find this is an incredibly powerful tool for any field: from Engineering to Entrepreneurship and beyond.

You will utilize everything you learn in this course to create your very own project. In doing so, you will learn many practical and applicable skills such as user research and rapid prototyping, which will set you apart in your field.

What you’ll learn

  • How to conduct in-depth interviews & other surveys in order to understand the user
  • Ways to synthesize ideas into a cohesive and practical product
  • Use of simple prototyping tools to quickly iterate designs
  • How to design User Interfaces that are tailored to be easy & efficient

Prerequisites

Students who take this training should understand:

  • Basic programming & web development skills recommended, but not required.

Course Syllabus

Students who take this training should understand:

  • Module 1 – Discovery
  • Module 2 – Synthesis
  • Module 3 – Prototype
  • Module 4 – Iterate
Introduction to Developing International Software

Learn how to design and develop software for international use from experts who’ve helped create some of the world’s most successful software.

Summary

Length
12 weeks (3 to 5 hours per week)
Level
Introductory
Language
English

About this course

When you’re designing and developing new software, it’s easy to get laser-focused on getting it functional and into the market or deployed as soon as possible. Thus, many engineering teams develop software that supports their native language first, postponing support for other languages until “later,” when they think they will have the bandwidth. In other words, they don’t plan ahead. The problem with this approach, which experienced developers have found out the hard way, is that it sacrifices budget, time, and opportunity.

Redesigning and rebuilding a different edition of your software for each and every language or market can be a colossal effort. As this computer science course will demonstrate, planning ahead is far more efficient, and the marginal cost of supporting multiple languages from the get go is less than you may think. Harnessing international functionality in operating systems and programming languages makes writing code that works for multiple languages and markets much simpler than retrofitting existing code.

The instructors for this course include programmers who have worked on globalization and localization of some of the world’s most successful software. They’ve experienced the good, the bad, and the ugly of creating world-ready software, and they’re here to ensure your software’s user experience works consistently, regardless of where users are from or what languages they speak.

This course has three parts: the business case, world-ready design, and world-ready development. While students can complete parts one and two without programming knowledge, part three requires programming experience.

What you’ll learn

  • Foundational concepts for software design: globalization; localization; market needs; regional and language differences; marketing
  • UX Design: human-centric design, culturalization, designing scenarios, world-ready game design
  • Software Development: data input, manipulation and display; engineering & localization approach; development environment; globalization APIs and web services

Prerequisites

Students who take this training should understand:

  • This course is for anyone interested in Developing International Software.
  • Basic programming knowledge is required.
Microsoft Professional Capstone : Entry Level Software Development

The capstone project is offered directly by Microsoft and can only be done once per quarter: in January, April, July and October.

Enroll for the full MPP track here in the month prior to the one the capstone starts in, using the Microsoft account you used to register on Azure Academy so that your progress is synced.

To have your progress synced with Azure Academy and to be eligible for the capstone project you have to have a Certificate of Completion for each one of 12 required courses from Azure Academy.

Need help?

If you have questions about our courses, check our FAQs or get in touch with us here.