This education path is designed for those who want to acquire practical skills in the field of building professional mobile and web applications. This course is for you if:
This course was designed in a way to help you achieve satisfactory results, independently of your previous education. If you are an IT worker, obviously everything will be easier for you. But it is not a requirement! What really counts, is passion for technology, diligence and logical thinking skills.
After completing the course you will be familiar with the latest trends in coding and building web and mobile applications using Microsoft technologies. You will be able to:
- Create a functional project of mobile and web application
- Design UI according to the latest standards
- Choose a proper design pattern for an application
- Build an application in Microsoft Visual Studio environment, which means:
- programming logic and data layer with a usage of Entity Framework
- programming web services
- programming mobile application for iOS and Android system using Xamarin environment
- To maintain builds, versioning, teamwork and texts in TFS environment
- To create set of tests (automatic and manual)
- To prepare proper app documentation (utility and technical)
You will be able to develop your practical skills through building a professional mobile or web application. It includes a study of users’ expectations, a functional project, building an application, testing and preparing post-implementation documentation.
|Subject / Description||Numbers of hours|
|Introduction to programming|
You will learn about basic rules of programming (core programming) in procedural and object-oriented paradigms. We will tell you about the rules of implementation of elementary algorithms (searching, sorting…), as well as basic data structures (stack, queue, list, tree, dictionary).
The subject is in 50% a preparation for a MTA 98-361 exam: Software Development Fundamentals. Other issues will be addressed in: “Introduction to databases” and “Introduction to web technologies”.
|Introduction to databases|
You will learn databases structure, process of design and implementation approaches. You will master basics of SQL and you will encounter issues related to: security of databases, indexes and normalization.
The subject is a preparation for a Microsoft 98-364 exam: Database Fundamentals.
|Introduction to web technologies|
The subject is a preparation for a Microsoft 98-375 exam: HTML5 App Development Fundamentals exam.
|Object-oriented programming in C#|
You will learn advanced techniques of object programming (in C# language). We will show you how to maintain multithreading, exceptions, class hierarchy, how to force encapsulation etc. You will discover how to manipulate different data sources (database, XML, JSON) with a usage of LINQ.
The subject is a preparation for a Microsoft 70-483 exam: Programming in C# exam.
|Mobile devices programming|
You will learn how to create mobile applications with a usage of Microsoft Xamarin environment. You will master basic design patterns, templates and good practices in Xamarin environment. During lectures you will implement multiplatform practical projects for mobile devices.
|Programming in ASP.NET environment (C)|
You will learn key design patterns (MVC, Dependency Injection, Inversion of Control). On the basis of the ASP.NET Core project created from scratch, you will discover the best programming practises using ASP.NET frameworks.
The subject is a preparation for a Microsoft 70-486 exam: Developing ASP.NET MVC Web Applications exam.
You will discover core design patterns that are used during software implementation on particular examples. You will learn code refactorization with the usage of learned patterns.
|Tests and software quality control (C)|
You will know how to test an application and a code in practice (NUnit, CodedUI, MTM). You will learn how to work in a team of developers (TFS), maintain code and its changes and to do all these things in accordance to the modern methodology of software creation.
The subject is a preparation for a Microsoft 98-379 exam: Software Testing Fundamentals oraz 70-497 Software Testing with Visual Studio exams.
|Application Lifecycle Management (C)|
You will learn how to manage IT projects of different scales. You will learn core software development principles (Agile, Scrum), you will learn how to define ALM process (meetings, sprints, cooperation tools), to plan iterations of software and earned values, and you will understand the system responsible for code quality maintenance (unit tests, repositories, debugging tools). You will know how to skillfully move from an implementation to the maintenance phase of an application.
The subject is a preparation for a Microsoft 70-498 exam: Delivering Continuous Value with Visual Studio Application Lifecycle Management exam.
|Sprint 4 (Project)||90|
|Designing a professional mobile or web application (P1)|
The first part of a series, which purpose is to create a professional application that can constitute a commercial project as well as an Engineering Thesis. The first stage will be creating a specification of business needs, market research and an application project. The Project will be realised in a team of 2-3 people.
|Professional mobile or web application programming (P2)|
It is the second out of three subjects, an objective of which is to create (in a small team of 2-3 people) a professional application that can constitute a commercial project as well as an Engineering Thesis. The second stage is based on creation of an application according to project requirements, making tests and a product presentation. The whole undertaking involves teamwork tools, working with a repository and building schedule. The team work is based on a particular methodology.
|Professional mobile and web application documentation and servicing (P3)|
The last one out of the three subjects, an objective of which is to create (in a small team of 2-3 people) a professional application that can constitute both a commercial project and an Engineering Thesis. The third stage includes making technical documentation, an instruction for end users, implementation and maintaining selected aspects of an application (e.g. performance, security, availability)
(C) A subject preparing for a certification exam