IIIT Bangalore &UpGrad

PG Diploma in Software Engineering

Online11 monthsRs. 2,25,000 (Incl. Taxes)

PG Diploma from IIIT-Bangalore

Upon successful completion of the program, you will be awarded a Post Graduate Diploma certificate from IIIT-B.

Apply Now

Learn. Experience. Master

Learn from the best

Learn software engineering principles from leading IIIT-B professors and industry applications from seasoned developers and industry leaders



Career Support & Learning Experience

Access to career coaching services like 1-on-1 counselling sessions & personalized interview and CV preparation


Master concepts through industry projects

Work on industry relevant projects and build an impressive project portfolio for yourself. You also get a chance to work on a capstone project creating a functional software product from scratch


Instructors

This program has been designed and shall be taught by some of the leading professors from IIIT-B

Prof. Srikanth, Professor, iiit-b

Dr. T K Srikanth

Professor

Prof. Dinesha, Professor, iiit-b

Prof. K V Dinesha

Professor

Prof. Tricha, Associate Professor, iiit-b

Prof. Tricha Anjali

Associate Professor

Prof Muralidhara, Associate Professor, iiit-b

Prof. V N Muralidhara

Associate Professor

Prof. Meenakshi, Associate Professor, iiit-b

Prof. M D'Souza

Associate Professor

Prof. Meenakshi, Associate Professor, iiit-b

Prof. S K Chakrabarti

Assistant Professor



Program Vitals

Course Duration

Dec'17 - Nov'18

Time Commitment

8-10 hoursper week

Program Fee

Rs. 2,25,000 (Incl. taxes) Flexible EMI Options available

Program Syllabus

Duration : 3 weeks

Worried that your lack of programming experience will make it difficult for you to succeed in this program? Then fear not! The pre-requisite course is here to help introduce learners with no/little programming background to fundamental programming concepts. The course will help provide you a solid base for the upcoming rigors of the course

Topics Covered:

  • Fundamentals of computational thinking
  • Introduction to variables
  • Basics of programming in Java (Loops and Control statements)
  • Introduction to functions

To learn about why you should be going through the pre-requisite course, click here

Duration : 3 weeks

Object oriented programming (OOPs) is one of the most popular programming techniques across IT and tech industry. Many of the most widely used programming languages (such as C++, Java, and Python) use this paradigm, hence a strong foundation in this technique will go a long way for you. The course will help you understand the concepts of OOPs with a mix of programming exercises and interactive lectures

Topics Covered:

  • Object oriented programming
  • Fundamentals of using classes and objects
  • Learning inheritance and polymorphism
  • Applications of abstraction and encapsulation

Tools & Languages Used:

  • Java
  • IntelliJ

Course Outcomes:

You will be able to plan, build and write maintainable computer programs using object oriented programming concepts such as classes, objects. You will also learn about -- inheritance, abstraction, and encapsulation -- the 3 tenets of object oriented programming to design robust, reusable computer programs.

Duration : 4 weeks

The importance of an algorithm can be seen from the fact that Google’s "Page rank" algorithm changed the way internet will impact our lives forever! The choice of algorithm decides the speed and efficiency of any computer programs. Hence, its important to master this concept for becoming a great programmer.

This course will help you learn and apply various algorithmic techniques in your programs. This shall help you design and optimise proper logic for the functioning of your programs

Topics Covered:

  • Recursion
  • Algorithm analysis using Big-O
  • Divide and Conquer Algorithms
  • Greedy Algorithms
  • Dynamic Programming

Tools & Languages Used:

  • Java
  • Intelli-J

Course Outcomes:

You’ll learn to decompose, analyze, and formally define the performance of computer programs like a professional software engineer. In addition, you’ll learn to apply the appropriate computer algorithm to efficiently solve complex computer problems.

Duration : 5 weeks

Data structures along with algorithms are the 2 most important levers you have to design your program. Data structures are critical for arranging your data in a desired way to ensure efficiency in space and running time for the programs.

This course will help you understand and implement the various data structures. This will also help you know which data structures should be used for different scenarios to improve the performance of your program

Topics Covered:

  • Arrays and Linked Lists
  • Stacks and Queues
  • Trees and Binary Search Trees
  • Heaps
  • Hash Tables
  • Graph and Graph Algorithms

Tools & Languages Used:

  • Java
  • Intelli-J

Course Outcomes:

You will understand the proper application of data structures and understand how to speed up the performance of your program by using the right data structures in the right scenarios.

Duration : 5 weeks

A full-stack developer should be able to think about end-to- end software development right from planning stages to the deployment of the software, in order to better contribute to the project. Top companies like Google and Facebook look for engineers who can take charge of the entire software development cycle.

Keeping this in mind, we have designed this course help you learn about the software development lifecycle and engineering skills that will help you contribute to existing software projects and work with teams of engineers.

The course will also introduce you to the fundamental concepts of server side applications, and help you build your own server side application

Topics Covered:

  • Version control with Git
  • Software engineering principle essentials
  • Agile software development
  • Test driven development
  • MVC Web Application using Spring Framework
  • Databases and ORMs using PostgreSQL and Hibernate

Tools & Languages Used:

  • Git, Spring Framework, Hibernate, PostgreSQL

Course Outcomes:

You’ll learn industry standard software engineering practices that will help you become an immediate contributor to any software engineering team. In addition, you’ll also be able to build a server side application from scratch using Spring Framework, Hibernate, and PostgreSQL

Duration : 5 weeks

What set Amazon, Google and Facebook apart from their competition? It was their ability to scale their product to accommodate millions of users across the globe that made them a global leader!

The course will teach you how to build robust software applications and how to work with other software engineers. In addition, the course will also give you hands on practice on building RESTFul APIs, as well as practical advices on how to build a high performing server side application

Topics Covered:

  • UML and UML diagrams
  • Canonical Software Design Patterns
  • Code reviews and bug tracking best practices
  • RESTful API using Spring Framework
  • Distributed computing fundamentals
  • Industry standard practices to building high performance server side application

Tools & Languages Used:

  • Java, Spring Framework, Hibernate, PostgreSQL

Course Outcomes:

You’ll learn to reason about the interaction of components within complex computer programs, build software using best software design practices created by experienced developers, and learn how to collaborate with other members in software engineering teams.  You’ll also learn about distributed systems and practical industry standard techniques to optimize the speed and performance of server side applications and APIs.

Duration : 6 weeks

Front-end skills are one of the most critical skills for a full-stack developer, as the look and the feel of the software are judged by this. A good looking front-end goes a long way in the success of a software product. This course will help you acquire the skills needed to create engaging front-end for your software

Effort and resource planning play an important role in creation and launch of a new software product and as a full-stack developer you should be aware of these factors to deliver better quality of software. This course will help you with better management of your project, right from collating requirements to selection of software architecture.

Topics Covered:

  • Project management and planning
  • Gathering software requirements
  • Validate requirements with use cases and scenarios
  • Software architecture essentials
  • User experience design
  • Frontend development with HTML, CSS ,and Javascript

Tools & Languages Used:

  • HTML, CSS, Javascript, PostgreSQL

Course Outcomes:

You will be able to manage the end-to- end process of starting and developing a new software project - from gathering the requirements to choosing the appropriate architecture to model the software. In addition, you’ll learn to build rich, interactive user interfaces using HTML, CSS, and Javascript.

Duration : 5 weeks

Think of any popular website or app that you use regularly? Try and think again the reason you use it repeatedly? The answer would be its easy-to- use user interface! User interface and experience are the biggest differentiator for quality digital products and hence of utmost importance for any software developer.

This course will cover javascript topics, industry standard frontend tools and ReactJS – the most popular javascript UI framework, to help you build modern web apps with engaging user interfaces. Additionally, you will learn about DevOps and learn how to automate software testing and deployment correctly.

Topics Covered:

  • Advanced Javascript
  • Modern Javascript tools such as NPM, WebPack, and Babel
  • Javascript ES6
  • Core React JS concepts such as jsx, props, state, and components
  • Advanced testing techniques like functional and integration testing
  • Continuous integration using Jenkins

Tools & Languages Used:

  • Javascript, Javascript ES6, ReactJS, Web Pack, Babel, Jenkins

Course Outcomes:

You will build upon the knowledge of frontend development and learn to use industry standard Javascript tools, Javascript ES6 ,and React JS to build modern web apps. Using DevOps, you will now be able to automate the deployment and testing of their software projects

Duration : 5 weeks

With 450 million mobile internet users in India alone, almost all software products are moving towards mobile. Whether it is an industry like banking, retail, hospitality,etc. or the thousands of software companies, all have focussed efforts on mobile app development. This has created thousands of new mobile app developer roles in the tech industry, with little skilled workforce to fill them up.

This course will help you build hybrid mobile apps that run on both iOS and Android devices, using React Native library. Hands on experience on the latest tools and engaging programming assignments will help you learn one of the most in-demand skills in the tech industry currently.

Topics Covered:

  • React Native library
  • Mobile animations
  • Data management using Redux and LocalStorage
  • Interacting with external APIs using Fetch
  • Mobile navigation and multi-page routing

Tools & Languages Used:

  • Javascript, React Native, Redux

Course Outcomes:

You will build a fully working, mobile application using React Native and popular React Native libraries. Also, you’ll learn how to create a high performance mobile app that can run at 60 frames per second!

Duration : 6 weeks

After months of lectures and hands-on practice on latest tools, it is time to create a fully functional software product on your own! You will work on an industry relevant project creating a ready-to-use software product with a robust backend and an engaging user interface. The projects have been decided to ensure that you get to apply all the lessons you have covered during the 50-week program.

View more

Note: IIIT-B and UpGrad reserve the right to edit/alter the curriculum at a later date based on academic requirement and industry feedback

You will receive the download link in your email.