Know More about our Programs

Share your details with us and our team will help you choose the program that suits you best

Download Brochure

Check out the program and fee details in our brochure

Oops!! Something went wrong, Please try again.
Name
Email
Mobile Number

By submitting the form, you agree to our Terms and Conditions and our Privacy Policy.

Phone Icon

We are allocating a suitable domain expert to help you out with your queries. Expect to receive a call in the next 4 hours.

Software Engineering Syllabus

  • Deep dive into Python and Java, focusing on their usage in developing efficient software and creating robust solutions
  • Explore the fundamental concepts of OOP, learning how to design, write, test, and debug programs using this paradigm
  • Develop the ability to design, implement, and analyze data structures for efficient problem-solving
  • Acquire a thorough understanding of software design and architecture to develop high-quality software
  • Get hands-on experience with HTML, CSS, JavaScript, and other crucial technologies to build modern web applications
  • Step into the future of technology by learning cloud computing and data science that are driving digital transformation

Learning Outcomes

  • Understand the fundamental concepts of software engineering, including software development lifecycle models (SDLC)
  • Achieve competency in commonly used programming languages, data structures, algorithms, and OOAD principles
  • Develop proficiency in software testing and debugging techniques to guarantee the quality of software products
  • Boost system analysis, design, and project management skills, enhancing effective teamwork
  • Gain hands-on experience through real-world projects, enhancing problem-solving capabilities for industry challenges
  • Develop innovative software applications using the latest trends in software engineering, such as AI, ML, and DevOps

Software Development Course Syllabus - Great Learning

Here is detailed information on the software engineering syllabus for each course, carefully curated to aid aspiring software enthusiasts in paving their successful career paths:

 

  1. Full-Stack Developer Course With Certificate - Electronics & ICT Academy IIT Roorkee (EICT Academy IITR)

 

  • Module-1: Pre-work

This introductory module immerses students in the key concepts and practices that form the backbone of full-stack software development, setting a sturdy foundation for in-depth exploration. By diving into various aspects, learners will understand software development comprehensively and acquire the crucial skills required to thrive in this dynamic field.

 

  1. Introduction to Programming - Acquire a solid understanding of fundamental programming concepts, such as loops, functions, arrays, etc., which serve as the bedrock of software development.

  2. Introduction to Version Control, Git - Familiarize yourself with the essential version control system, Git, to efficiently manage and track changes to your codebase.

  3. Basic HTML, CSS - Venture into web development by grasping the basics of HTML and CSS, the foundational languages for creating and styling web pages, respectively.

 

  • Module-2: Back-end Software Development

This module deepens students' understanding of essential components that power the inner workings of software applications. These principles form the backbone of robust, scalable, and efficient software systems, equipping learners with the essential skills needed to excel in this domain.

 

  1. Object-oriented Programming - Delve into object-oriented programming (OOP), a paradigm that uses 'objects' containing data and methods to design applications and programs. This concept is crucial in writing reusable and efficient code.

  2. Data Structures - Acquire an in-depth understanding of data structures that are critical for efficient data storage, retrieval, and manipulation.

  3. Algorithms - Understand the design, construction, and analysis of algorithms, which are step-by-step procedures used for calculations and problem-solving in software development.

  4. Database Design & Systems - Learn the principles of database design and the intricacies of various database systems for managing large quantities of structured and unstructured data efficiently.

  5. Server-side Development & Frameworks - Familiarize yourself with server-side development and various frameworks to build the back end of applications, ensuring efficient handling of user requests and database interactions.

 

  • Module-3: Front-end Software Development

This module gives learners a deep understanding of the technologies that make up the user-facing part of websites and applications. It equips them with the skills to create interactive, responsive, and visually engaging interfaces.

 

  1. HTML & CSS - Master the art of structuring and beautifying web pages using HTML and CSS to ensure excellent user experiences.

  2. JavaScript - Gain a solid understanding of JavaScript, a powerful programming language that makes web pages dynamic and interactive. 

  3. JavaScript Frameworks – React - Learn how to leverage React to build single-page applications with reusable components, significantly enhancing your front-end development skills.

 

Specializations

 

  • Specialization-1: Cloud Computing

This module offers learners an in-depth understanding of cloud infrastructure, a fundamental technology in today's software landscape. It provides you with essential skills to architect, deploy, and manage applications on cloud platforms, with a focus on AWS.

 

  1. Linux Essentials - Begin your journey with the Linux operating system, a cornerstone of many cloud systems. You'll learn its essential commands, file system, and administration, giving you the knowledge to navigate Linux environments confidently.

  2. Cloud Foundations - Dive into the basics of cloud computing, understanding its architecture, benefits, and service models. This knowledge forms the bedrock for advanced cloud concepts and technologies.

  3. Containers - Learn about containers, a lightweight, portable solution for bundling and running applications. They're essential in building, deploying, and scaling applications efficiently in the cloud.

  4. AWS Core - Get to grips with AWS, one of the leading cloud service providers. You'll learn about its core services, including computing power, storage, and databases, which form the backbone of the AWS cloud infrastructure.

  5. AWS Advanced - Dive deeper into the advanced services and best practices of AWS. You'll learn how to design, deploy, and manage applications at scale, leveraging the full potential of AWS services.

  6. DevOps on AWS - Learn about the DevOps model and how to implement it using AWS services. You'll understand how to automate, monitor, and manage your applications efficiently, ensuring rapid and reliable product delivery.

 

  • Specialization-2: Python for Data Science

This module empowers students to leverage the power of Python, one of the most widely used programming languages in the data science field. It provides a comprehensive understanding of data analysis, data visualization, and machine learning algorithms.

 

  1. Python for Data Science - Learn to manipulate numerical data with NumPy, clean and analyze data with Pandas, and visualize data using Matplotlib.

  2. SQL Programming - Learn how to retrieve, insert, update, and delete data, making it an essential skill for data manipulation and analysis.

  3. Exploratory Data Analysis - Learn how to use statistical measures, data distributions, and visual techniques to explore, analyze, and understand the nature of your data to derive insights.

  4. Supervised Learning - Grasp the fundamentals of supervised machine learning, where models learn from labeled data. You'll understand how to build and evaluate models that can make accurate predictions.

  5. Unsupervised Learning - Delve into unsupervised machine learning, where models learn from unlabeled data. This knowledge is crucial for tasks like clustering and dimensionality reduction, which can uncover hidden patterns in data.

 

  1. PG Diploma in Artificial Intelligence - Indraprastha Institute of Information Technology, Delhi (IIIT Delhi)

 

  • Pre-Work: Math for AI and Statistics Refresher

Before delving into the course's core material, this introductory module reviews vital mathematical concepts and statistical methods. These basic skills are crucial for comprehending and efficiently implementing AI algorithms.

 

  • Course 1: Programming with Python

In this module, learners will immerse themselves in Python, a robust language extensively employed in AI and data science domains. They will gain critical Python programming skills, from understanding data structures to visualizing and preprocessing data.

 

  • Course 2: Data Structures and Algorithms

This module delves into the core of computer science, exploring essential data structures and algorithms. Grasping these concepts is critical for adept problem-solving and creating efficient AI applications.

 

  1. Arrays, Search, and Sorting Techniques - Linear Search, Binary Search, Bubble Sort, Insertion Sort, Quick Sort, and Merge Sort

  2. Linked Lists - Understand the structure and types of linked lists, and learn operations like adding, removing, searching, and sorting elements

  3. Stacks - Explore the principles of stacks, and learn to declare, initialize, push, pop, and peek elements

  4. Queues - Learn about queues and understand their operations, such as enqueuing and dequeuing elements and accessing front and rear elements

  5. Trees and Graphs - Discover linear and non-linear data structures, understand trees, B-Trees, and graph theory, including nodes, edges, cycles, and subgraphs

  6. Binary Trees - Gain familiarity with Binary Tree and Binary Search Tree, their properties, implementation, and operations for efficient data storage and retrieval

 

  • Course 3: Design and Analysis of Algorithms

This module explores algorithm design and analysis principles, equipping learners with a profound understanding of algorithmic strategies and their use in solving problems.

 

  1. Time & space complexity

  2. Divide & conquer algorithm

  3. Greedy search algorithm

  4. Dynamic programming strategy

  5. Breadth-first search & Depth-first search

  6. Shortest path algorithm & Minimum Spanning Trees

  7. Traveling Salesman Problem

 

  • Course 4: Databases - SQL and NoSQL

This module provides a comprehensive overview of databases, from traditional SQL to modern NoSQL systems. Grasping these techniques is pivotal for data storage, retrieval, and manipulation in AI applications.

 

  • Course 5: Machine Learning

It introduces Machine Learning (ML), a crucial AI technology. It encompasses a variety of concepts and methodologies, from regression models and probability theory to unsupervised learning and dimensionality reduction.

 

It explores advanced machine learning concepts, covering various methods from decision trees and ensemble techniques to feature engineering and measuring model performance.
 

  • Course 7: Deep Learning for AI

This module delves into the complexities of Deep Learning, a subset of ML. It covers various topics, from the fundamentals of neural networks to convolutional neural networks (CNNs) and their respective applications.

 

  1. Math Basics for Deep Learning

  2. Neural Networks 

  3. Data pre-processing

  4. CNNs

  5. CV & NLP


 

  1. Software Development Certificate Online - Great Learning Career Academy

 

  • Module-1: Core Java

It aims to solidify your knowledge base in the fundamental Java programming language, creating a solid foundation for your software development journey.

 

  1. Basic Programming Constructs - Learn about the basic building blocks of Java programming, such as variables, data types, operators, and control structures.

  2. OOPs Concepts - Understand Object-Oriented Programming (OOP), a design paradigm that helps manage complexity in software systems. It involves fundamental principles like encapsulation, inheritance, polymorphism, and abstraction.

  3. Loops, Conditional and Flow Statements - Master the control flow in Java programming through loops, conditionals, and flow statements. These concepts are critical for directing the execution flow of a program based on specific conditions.

 

  • Module-2: Intro to Data Structures & Algorithms

It aims to familiarize students with essential data structures and algorithms, which are the backbone of efficient problem-solving in software development.

 

  1. Recursion - Understand the concept of recursion, a method where a problem is solved by breaking it down into smaller instances of the same problem.

  2. Algorithms and their Analysis (Time and Space Complexity) - Learn about the design, implementation, and analysis of algorithms. Understand the concepts of time and space complexity, which help evaluate an algorithm's efficiency.

  3. Arrays - Study arrays, a fundamental data structure that stores elements of the same type in a contiguous memory block.

  4. Linked List - Dive into the concept of linked lists, a linear data structure where each element points to the next, providing a flexible approach to managing data.

  5. Strings - Learn about strings, a sequence of characters, and explore the various operations and manipulations associated with them.

  6. Hash Maps - Understand the workings of hash maps, a data structure that implements an associative array abstract data type, allowing quick access to data.

  7. Sorting and Searching Algorithms - Grasp the principles of essential sorting and searching algorithms, which are vital in organizing and retrieving data efficiently in software applications.

 

  • Module-3: Advanced Java

It builds upon the Core Java foundation, diving into more complex areas. It equips learners with the skills to handle advanced programming scenarios, enhancing their problem-solving capabilities.

 

  1. Collections Frameworks - Learn about Java's Collections Framework, a set of classes and interfaces that implement commonly reusable collection data structures.

  2. Exception Handling - Understand the concept of exception handling, a mechanism to manage runtime errors, ensuring the smooth execution of Java programs.

  3. File Handling - Delve into file handling in Java, an essential aspect for reading from and writing to files.

  4. Java 8 Features - Lambda Expressions & Streams - Get acquainted with Java 8's features like Lambda Expressions and Streams, which offer more efficient ways to handle data and improve code readability.

 

  • Module-4: Database Management System

It introduces students to the essential principles and practices of managing databases. It covers the usage of SQL, schema design, and database transactions, providing the necessary skills for efficient data handling.

 

  1. Database Principles and Data Handling - Understand the core principles of databases and how to handle data efficiently, including data integrity, data models, and data relationships.

  2. Introduction to MySQL - Get an overview of MySQL, one of the most popular relational database management systems. Learn about its structure, functions, and how to use it for managing databases.

  3. SQL (DDL and DML statements) - Understand Data Definition Language (DDL) for defining database structures and Data Manipulation Language (DML) for querying and modifying data.

  4. Joins - Understand SQL joins, a way of combining rows from two or more tables based on a related column.

  5. Schema Design and Normalization - Dive into the principles of schema design and normalization, a process that minimizes data redundancy and improves data integrity.

  6. Indexes - Learn about indexes, a database feature that improves data retrieval speed.

  7. Database Transactions with ACID Properties - Understand the concept of database transactions and their ACID properties (Atomicity, Consistency, Isolation, Durability).

  8. JDBC - Learn about JDBC (Java Database Connectivity), an API that enables Java programs to execute SQL statements.

 

  • Module-5: J2EE using JSP and Servlets

It dives into enterprise-level development using Java 2 Enterprise Edition (J2EE). It introduces learners to web development principles and server-side programming, a vital skill for building scalable and robust applications.

 

  1. Client Server Architecture - Understand the client-server model, a distributed application structure segregating tasks or workloads between servers and clients.

  2. Intro to J2EE - Get an overview of J2EE, a platform for building enterprise-level applications. It provides an API and runtime environment for scripting and running enterprise software.

  3. Intro to HTML and CSS - Refresh your knowledge of HTML and CSS, the building blocks of web development.

  4. TOMCAT Server - Learn about the Tomcat Server, a widely used open-source Java Servlet Container developed by the Apache Software Foundation.

  5. JDBC in TOMCAT - Discover how to use JDBC within the Tomcat Server, which includes setting up data sources and performing CRUD operations.

 

  • Module-6: Spring Boot and Web-Services

It ventures into advanced Java development with the Spring Boot framework. It also covers creating and using RESTful web services, enabling learners to develop scalable, loosely coupled applications.

 

  1. MVC Framework - Understand the Model-View-Controller (MVC) architectural pattern, which separates an application into three interconnected components.

  2. Spring Boot MVC - Delve into Spring Boot MVC, a module of the Spring framework for rapid and convention-over-configuration-driven web application development.

  3. ORM Framework - Learn about Object-Relational Mapping (ORM), a technique that lets you interact with your database in an object-oriented manner.

  4. Spring JDBC - Explore Spring JDBC, a module of the Spring Framework that provides a more efficient way of handling database operations.

  5. Dependency Injection Framework - Grasp the concept of Dependency Injection (DI), a design pattern used to create loosely coupled code.

  6. Spring Dependency Injection/IOC - Study the Spring Framework's implementation of Dependency Injection, known as Inversion of Control (IoC). It's an essential concept for managing dependencies within a Spring application.

  7. Aspect-Oriented Framework and Spring AOP - Understand Aspect-Oriented Programming (AOP) and its implementation in the Spring Framework. It helps in modularizing cross-cutting concerns in software applications.

  8. REST Web Services - Learn about RESTful web services, a typical architectural style for creating networked applications.

 

  • Module-7: Advanced Data Structures & Algorithms

It explores more complex structures and algorithmic strategies. This knowledge enhances problem-solving capabilities and performance efficiency in software development.

 

  1. Stacks and Queues - Dive into stacks and queues, fundamental data structures that organize data in specific ways.

  2. Trees - Explore trees, a non-linear data structure with a hierarchical nature. Grasping tree structures is essential for solving complex data management problems and building efficient algorithms.

  3. Dynamic Programming - Learn about dynamic programming, an algorithmic technique for solving an optimization problem by breaking it down into simpler subproblems and storing the results of these subproblems to avoid solving the same problem again.

  4. Greedy Algorithms - Understand the concept of greedy algorithms, an approach for solving optimization problems by making the locally optimal choice at each stage.

 

  • Module-8: Dynamic Front-End Applications

It dives into the foundational technologies of web development: HTML, CSS, and JavaScript. These languages are vital for building interactive, user-friendly web applications.

 

  1. HTML - This topic includes understanding the use of different tags, elements, and attributes to structure web content.

  2. CSS - Delve into concepts like selectors, properties, and responsive design techniques to create visually engaging web pages.

  3. JavaScript - It's essential for client-side scripting, handling user interactions, and creating dynamic content on web pages.

 

  • Module-9: Hibernate (Optional)

It introduces learners to Hibernate, a high-performance Object/Relational persistence and query service for Java. This optional module is designed for those interested in advancing their knowledge of database interaction techniques.

 

  • Module-10: REACT (Optional)

It introduces React, a popular JavaScript library for building user interfaces. This module is optional and designed for learners who wish to specialize in modern front-end development practices.


 

  1. Software Engineering for Data Science - International Institute of Information Technology, Hyderabad (IIIT Hyderabad)

 

  • Module-1: Pre-work

This module serves as a gentle introduction to programming in Python, laying the groundwork for the more advanced topics that follow.

 

  1. Introduction to Programming in Python - This topic introduces learners to Python, one of the most widely used programming languages in data science, due to its simplicity and robust library support. Participants will learn the basics of Python syntax, control flow, functions, packages, etc., creating a solid foundation for future modules.

 

  • Module-2: Software Development Fundamentals

This module offers a comprehensive look into software development principles, forming the basis for building robust, scalable applications and providing the groundwork for future modules that delve deeper into each concept.

 

  1. Object-Oriented Programming - Learn about Object-Oriented Programming (OOP), a paradigm that uses "objects"—instances of classes—to design applications and computer programs. Grasp the principles of encapsulation, inheritance, and polymorphism to create reusable and modular code.

  2. Data Structures & Algorithms - Understand critical data structures and algorithms essential for efficient problem-solving in software development. They include arrays, linked lists, stacks, queues, and understanding algorithmic complexities.

  3. Database Management Systems - Gain a foundational understanding of database management systems (DBMS), focusing on how data is structured, stored, and retrieved using SQL.

  4. Web Development Framework - Explore the basics of web development frameworks that simplify the web application building process.

  5. Front-End Engineering - Learn about front-end engineering, the practice of producing HTML and CSS for a website or web application to create an interface that users can interact with.

 

  • Module-3: Pre-requisites

This module provides students with essential knowledge of data science, AI, and ML. 

 

  1. Python for Data Science - This topic expands on initial Python exposure, focusing on libraries and techniques essential in data science, including NumPy, Pandas, and Matplotlib.

  2. Introduction to AI-ML - Understand the fundamental concepts, principles, and applications of AI and ML and their impact on software engineering.

  3. Hackathon - Participate in a hackathon, a collaborative coding event that tests your problem-solving skills and ability to work in a team.

 

  • Module-4: Software Engineering for Data Science

This module delves into the intersection of software engineering and data science, highlighting the skills required to effectively design, implement, and maintain intelligent systems.

 

  1. Software Engineering and Data Science - Explore the synergistic relationship between software engineering and data science, understanding how to implement data science solutions within robust software frameworks effectively.

  2. Data Engineering - Gain insights into data engineering, the aspect of data science that focuses on practical applications and deployment of data collection and analysis.

  3. Engineering for Cloud - Understand how to engineer applications for the cloud, including cloud service providers, configuring cloud environments, and deploying data science applications on the cloud.

  4. Hackathon - Participate in a hackathon, a collaborative coding event that tests your problem-solving skills and ability to work in a team.

  5. Designing Intelligent Systems - Learn about designing intelligent systems, which involves creating software systems capable of tasks that generally require human intelligence.

  6. Qualities in Intelligent Systems - Understand the characteristics defining an ideal intelligent system, including scalability, maintainability, and other essential attributes of robust, efficient, and effective intelligent systems.


 

  1. Software Engineering for Data Science (Accelerated) - International Institute of Information Technology, Hyderabad (IIIT Hyderabad)

 

  • Module-1: Pre-requisites

This module provides students with essential knowledge of data science, AI, and ML. 

 

  1. Python for Data Science - This topic expands on initial Python exposure, focusing on libraries and techniques essential in data science, including NumPy, Pandas, and Matplotlib.

  2. Introduction to AI-ML - Understand the fundamental concepts, principles, and applications of AI and ML and their impact on software engineering.

  3. Hackathon - Participate in a hackathon, a collaborative coding event that tests your problem-solving skills and ability to work in a team.

 

  • Module-2: Software Engineering for Data Science

This module delves into the intersection of software engineering and data science, highlighting the skills required to effectively design, implement, and maintain intelligent systems.

 

  1. Software Engineering and Data Science - Explore the synergistic relationship between software engineering and data science, understanding how to implement data science solutions within robust software frameworks effectively.

  2. Data Engineering - Gain insights into data engineering, the aspect of data science that focuses on practical applications and deployment of data collection and analysis.

  3. Engineering for Cloud - Understand how to engineer applications for the cloud, including cloud service providers, configuring cloud environments, and deploying data science applications on the cloud.

  4. Hackathon - Participate in a hackathon, a collaborative coding event that tests your problem-solving skills and ability to work in a team.

  5. Designing Intelligent Systems - Learn about designing intelligent systems, which involves creating software systems capable of tasks that generally require human intelligence.

  6. Qualities in Intelligent Systems - Understand the characteristics defining an ideal intelligent system, including scalability, maintainability, and other essential attributes of robust, efficient, and effective intelligent systems.