Welcome to the Software Development Practices course! In this course, you will explore techniques for eliciting and documenting software requirements, including the creation of use cases and user stories. You will learn to design software systems using visual modeling methods such as UML diagrams and Data Flow Diagrams (DFDs). Throughout this learning journey, you will acquire the skills to produce high-quality code, leverage libraries and APIs, and efficiently manage code with version control tools like Git and GitHub. You will also delve into contemporary deployment and DevOps strategies, encompassing debugging, testing, Docker implementation, and CI/CD pipelines, to ensure robust and reliable software development. With a blend of practical hands-on experience and theoretical insights, this course equips you with the expertise needed to thrive in software development. Get ready to embark on an exciting learning journey that will enhance your proficiency in Software Development Practices.
This module provides a comprehensive overview of software development, including essential methodologies and practices. Students will explore the Software Development Life Cycle (SDLC) and compare key methodologies such as Waterfall, Agile, and DevOps. The importance of iteration and feedback in the development process will be emphasized to highlight continuous improvement and adaptation. This module introduces students to practical applications of software development concepts through case studies. By examining web applications developed in Java and Python, students will gain insights into real-world scenarios. Additionally, an overview of the course structure will show how each module is interconnected and relates to the case studies, providing a roadmap for the learning journey.
涵盖的内容
17个视频5篇阅读材料14个作业
显示有关单元内容的信息
17个视频•总计81分钟
Meet Your Instructor - Prof. Shreyas Suresh Rao•1分钟
Meet Your Instructor - Prof. Akanksha Bharadwaj•1分钟
Software Development Practices - Course Introductory Video•1分钟
Overview of SDLC•6分钟
Comparison of Waterfall, Agile and DevOps Methodologies•8分钟
Iteration in Software Development•6分钟
Feedback in Software Development•5分钟
Roles in a Software Project•6分钟
Team Collaboration and Communication Strategies•7分钟
Agile Team Structure•2分钟
Development-Related Terminologies•7分钟
Testing-Related Terminologies•6分钟
Process-Related Terminologies•5分钟
Code Quality•6分钟
Test-Driven Development (TDD)•4分钟
Continuous Integration and Continuous Deployment (CI/CD) Practice•5分钟
Version Control•4分钟
5篇阅读材料•总计90分钟
Course Overview•10分钟
Introduction to Software Development•20分钟
Roles and Team Collaboration in Software Development•20分钟
Terminologies in Software Development•20分钟
Key Software Development Practices•20分钟
14个作业•总计84分钟
Quiz: Overview of SDLC•6分钟
Quiz: Comparison of Waterfall, Agile and DevOps Methodologies•6分钟
Quiz: Iteration in Software Development•6分钟
Quiz: Feedback in Software Development•6分钟
Quiz: Roles in a Software Project•6分钟
Quiz: Team Collaboration and Communication Strategies•6分钟
Quiz: Agile Team Structure•6分钟
Quiz: Development-Related Terminologies•6分钟
Quiz: Testing-Related Terminologies•6分钟
Quiz: Process-Related Terminologies•6分钟
Quiz: Code Quality•6分钟
Quiz: Test-Driven Development (TDD)•6分钟
Quiz: Continuous Integration and Continuous Deployment (CI/CD) Practice•6分钟
Quiz: Version Control•6分钟
Software Requirements and Agile Practices
第 2 单元•小时 后完成
单元详情
The "Software Requirements" module provides a comprehensive introduction to the techniques and practices essential for gathering, documenting, and managing software requirements. Learners will explore best practices for requirements gathering, and the creation of effective use cases and user stories. Additionally, the module offers an overview of the Scrum framework, covering roles, artifacts, and events to enhance agile project management skills. Through a practical case study on a Bank ATM system, participants will apply their knowledge to develop real-world requirements and organize them into sprints, ensuring they can effectively manage software projects from inception to completion.
涵盖的内容
15个视频3篇阅读材料16个作业
显示有关单元内容的信息
15个视频•总计139分钟
Software Requirements Basics•10分钟
Best Practices for Gathering Software Requirements•8分钟
Understanding Use Cases•7分钟
Best Practices for Writing Effective Use Cases•9分钟
Understanding User Stories•10分钟
Best Practices for Writing Effective User Stories•10分钟
Basics of Agile Methodology•16分钟
Agile Teams and Roles•9分钟
Scrum Basics•10分钟
Planning Your Project - Part 1•9分钟
Planning Your Project - Part 2•12分钟
Overview of the Case Study•8分钟
Creating Use Cases for the Case Study•5分钟
Creating User Stories for the Case Study•4分钟
Sprint Planning•11分钟
3篇阅读材料•总计60分钟
Understanding Requirements•20分钟
Overview of Scrum•20分钟
Reading: Case Study Details•20分钟
16个作业•总计150分钟
Graded Quiz for Week 1 and 2•60分钟
Quiz: Software Requirements Basics•6分钟
Quiz : Best practices for gathering Software Requirements•6分钟
Quiz : Understanding Use Cases•6分钟
Quiz: Best practices for Writing Effective Use Cases•6分钟
Quiz: Understanding User Stories•6分钟
Practice Quiz : Best Practices for Writing Effective User Stories•6分钟
Quiz: Basics of Agile Methodology•6分钟
Quiz: Agile Teams and Roles•6分钟
Quiz: Scrum Basics•6分钟
Quiz: Planning Your Project Part 1•6分钟
Planning Your Project Part 2•6分钟
Quiz: Overview of the Case Study•6分钟
Quiz: Creating Use Cases for the Case Study•6分钟
Practice Quiz: Creating User Stories for the Case Study•6分钟
Quiz: Sprint Planning•6分钟
Software Design
第 3 单元•小时 后完成
单元详情
The "Software Design" module equips learners with the skills to effectively design software systems through practical project management and the use of visual modeling techniques. This module covers the creation of use cases, user stories, and sprint plans to kickstart a project. It also delves into Unified Modeling Language (UML) diagrams, teaching learners how to construct and interpret use case, class, component, sequence, and activity diagrams. Additionally, the module focuses on designing data flow with context diagrams and Data Flow Diagrams (DFDs). By the end of this module, learners will be able to design robust software systems and visually represent their architecture and data processes accurately.
涵盖的内容
15个视频3篇阅读材料15个作业
显示有关单元内容的信息
15个视频•总计122分钟
Introduction to Software Design•7分钟
Importance of Software Design in the Development Lifecycle•9分钟
Basics of UML - Part 1•7分钟
Basics of UML - Part 2•6分钟
Role of UML in Software Design•5分钟
Use Case Diagram•12分钟
Class Diagrams•12分钟
Component Diagram•8分钟
Sequence Diagram•8分钟
Activity Diagrams •10分钟
State Machine Diagrams•7分钟
Deployment Diagrams•7分钟
Context Diagram•6分钟
Level 1 DFD•9分钟
Level 2 DFD•9分钟
3篇阅读材料•总计60分钟
Introduction and Foundations of Software Design•20分钟
UML Diagrams•20分钟
Designing Data Flow•20分钟
15个作业•总计90分钟
Quiz: Introduction to Software Design•6分钟
Quiz: Importance of Software Design in the Development Lifecycle•6分钟
Quiz: Basics of UML•6分钟
Quiz: Basics of UML - Part 2•6分钟
Quiz: Role of UML in Software Design•6分钟
Quiz: Use Case Diagram•6分钟
Quiz: Class Diagrams•6分钟
Quiz: Component Diagram•6分钟
Quiz: Sequence Diagram•6分钟
Quiz: Activity Diagrams •6分钟
Quiz: State Machine Diagrams•6分钟
Quiz: Deployment Diagrams•6分钟
Quiz: Context Diagram•6分钟
Quiz: Level 1 DFD•6分钟
Level 2 DFD•6分钟
Effective Code Development Tools, Practices and, Reviews
第 4 单元•小时 后完成
单元详情
This module focuses on the essential aspects of writing high-quality code, effectively utilizing libraries and APIs, and conducting thorough code reviews. Learners will explore the importance of clean code, understand coding standards and best practices, and learn how to apply these principles in their work. Additionally, the module covers the integration and advanced use of libraries and APIs, along with tools for generating documentation. Finally, learners will gain insights into conducting productive code walkthroughs and reviews, using common tools to provide constructive feedback.
涵盖的内容
17个视频4篇阅读材料18个作业
显示有关单元内容的信息
17个视频•总计131分钟
Importance of Writing Good Quality Code•6分钟
Principles of Clean Code•6分钟
Coding Standards and Conventions•12分钟
Best Practices for Writing Quality Code•9分钟
Introduction to Libraries and Frameworks•8分钟
Understanding APIs - Part 1•6分钟
Understanding APIs - Part 2•8分钟
Advanced API Integration•11分钟
Tools for generating documentation•7分钟
Introduction to Code Walkthroughs•6分钟
Conducting effective walkthroughs•6分钟
Conducting constructive code reviews•6分钟
Common Code Review Tools•7分钟
Overview of Integrated Development Environments (IDEs)•8分钟
Understanding and Choosing the Right IDE•9分钟
Setting up and Configuring IDE•9分钟
Extensions and Plugins•6分钟
4篇阅读材料•总计80分钟
Reading: Introduction to Good Quality Code•20分钟
Reading: Utilizing Libraries and APIs•20分钟
Reading: Code Walkthrough and Review•20分钟
Reading: Introduction to IDEs•20分钟
18个作业•总计162分钟
Graded Quiz for Week 3 and 4•60分钟
Quiz: Importance of Writing Good Quality Code•6分钟
Quiz: Principles of Clean Code•6分钟
Quiz: Coding Standards and Conventions•6分钟
Quiz: Best Practices for Writing Quality Code•6分钟
Quiz: Introduction to Libraries and Frameworks•6分钟
Quiz: Understanding APIs - Part 1•6分钟
Quiz: Uderstanding APIs - Part 2•6分钟
Quiz: Advanced API Integration•6分钟
Quiz: Tools for Generating Documentation•6分钟
Quiz: Introduction to Code Walkthroughs•6分钟
Quiz: Conducting Effective Walkthroughs•6分钟
Quiz: Conducting Constructive Code Reviews•6分钟
Quiz: Common Code Review Tools•6分钟
Quiz: Overview of Integrated Development Environments (IDEs)•6分钟
Quiz: Understanding and Choosing the Right IDE•6分钟
Quiz: Setting up an IDE for the project•6分钟
Quiz: Useful Plugins for Productivity•6分钟
Software Development Projects
第 5 单元•小时 后完成
单元详情
This module provides a comprehensive introduction to Integrated Development Environments (IDEs) and demonstrates their application in a practical project. Learners will explore the fundamental features of popular IDEs, understand how to set up and configure an IDE for their projects, and discover productivity-enhancing plugins. The module also includes a hands-on project demonstration, guiding learners through the process of understanding project requirements, implementation, and execution on a local machine.
涵盖的内容
11个视频3篇阅读材料11个作业
显示有关单元内容的信息
11个视频•总计71分钟
Project Introduction•9分钟
Project Use Cases•6分钟
Project User Stories•5分钟
Project Planning•10分钟
UML Diagrams Part 1•8分钟
UML Diagrams Part 2•6分钟
Data Flow Diagrams•4分钟
IDE settings•4分钟
Code Walkthrough•6分钟
Best Practices Followed in this Code•7分钟
Code Demo•6分钟
3篇阅读材料•总计60分钟
Project Requirements and Planning•20分钟
Project Design•20分钟
Project Implementation•20分钟
11个作业•总计66分钟
Quiz: Project Introduction•6分钟
Quiz: Project Use Cases•6分钟
Quiz: Project User Stories•6分钟
Quiz: Project Planning•6分钟
Quiz: UML Diagrams Part 1•6分钟
Quiz: UML Diagrams Part 2•6分钟
Quiz: Data Flow Diagrams•6分钟
Quiz: IDE settings•6分钟
Quiz: Code Walkthrough•6分钟
Quiz: Best Practices Followed in this Code•6分钟
Quiz: Code Demo•6分钟
Code Building and Versioning
第 6 单元•小时 后完成
单元详情
This module provides a thorough understanding of the essential processes and tools for building, managing, and controlling source code in software development. It covers the entire lifecycle of code from compilation to version control and practical application of Git and GitHub. Through a series of lessons and practical demonstrations, learners will develop the skills needed to efficiently manage code and collaborate on software projects.
涵盖的内容
15个视频4篇阅读材料13个作业
显示有关单元内容的信息
15个视频•总计79分钟
Code Build Process•4分钟
Code Compiler and Interpreter•7分钟
Build Tools•4分钟
Overview of Source Code Management•3分钟
Version Control System (VCS)•4分钟
Types of Version Control Systems•7分钟
Benefits of Version Control Systems•4分钟
Git Workflow•7分钟
Git Commands - Part I•5分钟
Git Commands - Part II•5分钟
Git Branching and Merging•5分钟
GitHub•6分钟
Demo of Git Commands - Part I•7分钟
Demo of Git Commands - Part II•6分钟
Demo on Git-GitHub Integration•5分钟
4篇阅读材料•总计80分钟
Reading: Code Build•20分钟
Reading: Source Code Management•20分钟
Reading: Git•20分钟
Reading: Git in Practice•20分钟
13个作业•总计132分钟
Graded Quiz for Week 5 and 6•60分钟
Quiz: Code Build Process•6分钟
Quiz: Code Compiler and Interpreter•6分钟
Quiz: Build Tools•6分钟
Quiz: Overview of Source Code Management•6分钟
Quiz: Version Control System (VCS)•6分钟
Quiz: Types of Version Control Systems•6分钟
Quiz: Benefits of Version Control Systems•6分钟
Quiz: Git Workflow•6分钟
Quiz: Git Commands - Part I•6分钟
Quiz: Git Commands - Part II•6分钟
Quiz: Git Branching and Merging•6分钟
Quiz: GitHub•6分钟
Debugging and Testing
第 7 单元•小时 后完成
单元详情
The "Debugging and Testing" module provides learners with a comprehensive understanding of essential concepts and practices in software quality assurance. Through three focused lessons, participants will explore introductory testing concepts, practical debugging techniques, and industry-standard testing approaches. By combining theoretical knowledge with hands-on exercises, this module equips learners with the skills needed to ensure the quality and reliability of software products in real-world development environments.
涵盖的内容
12个视频3篇阅读材料10个作业
显示有关单元内容的信息
12个视频•总计93分钟
Defects, Errors, and Exceptions Explained•8分钟
Overview of Software Testing•8分钟
Methods of Software Testing•7分钟
Creating Effective Test Cases•8分钟
Executing Test Cases•6分钟
Using Assertions in Testing•7分钟
Identifying and Isolating Bugs•9分钟
Testing vs. Debugging•7分钟
Debugging Tools and Techniques•9分钟
Test Planning and Strategy•9分钟
Best Practices for Effective Testing•9分钟
Leveraging Automated Testing Tools•7分钟
3篇阅读材料•总计60分钟
Reading: Introduction to Testing•20分钟
Reading: Debugging•20分钟
Reading: Industry Approach to Testing•20分钟
10个作业•总计60分钟
Quiz: Defects, Errors, and Exceptions Explained•6分钟
Quiz: Overview of Software Testing•6分钟
Quiz: Methods of Software Testing•6分钟
Quiz: Creating Effective Test Cases•6分钟
Quiz: Identifying and Isolating Bugs•6分钟
Quiz: Testing vs. Debugging•6分钟
Quiz: Debugging Tools and Techniques•6分钟
Quiz: Test Planning and Strategy•6分钟
Quiz: Best Practices for Effective Testing•6分钟
Quiz: Leveraging Automated Testing Tools•6分钟
Software Deployment Practices
第 8 单元•小时 后完成
单元详情
This module provides a comprehensive overview of modern software deployment practices, focusing on the evolution from physical servers to virtual machines and containers, with an emphasis on Docker technology. Through a series of lessons, learners will gain foundational knowledge of Docker, learn how to create and use Dockerfiles, and acquire practical skills in deploying Docker images and utilizing DockerHub.
涵盖的内容
15个视频3篇阅读材料13个作业
显示有关单元内容的信息
15个视频•总计78分钟
Software Deployment and Evolution•5分钟
Virtual Machines•7分钟
Containers•5分钟
Configuration Management•4分钟
Docker•6分钟
Docker Terminologies•6分钟
Docker Architecture•3分钟
Docker Desktop and Docker Hub•3分钟
Basic Docker commands•4分钟
Dockerfile Keywords•5分钟
System Docker Image•6分钟
Custom Docker Image•5分钟
Demo of System Docker Image•8分钟
Demo of Custom Docker Image•6分钟
Demo of Publishing Custom Image on DockerHub•5分钟
3篇阅读材料•总计60分钟
Reading: Software Deployment•20分钟
Reading: Docker Fundamentals•20分钟
Reading: Docker Image•20分钟
13个作业•总计132分钟
Graded Quiz for Week 7 and 8•60分钟
Quiz: Software Deployment and Evolution•6分钟
Quiz: Virtual Machines•6分钟
Quiz: Containers•6分钟
Quiz: Configuration Management•6分钟
Quiz: Docker•6分钟
Quiz: Docker Terminologies•6分钟
Quiz: Docker Architecture•6分钟
Quiz: Docker Desktop and Docker Hub•6分钟
Quiz: Basic Docker commands•6分钟
Quiz: Dockerfile Keywords•6分钟
Quiz: System Docker Image•6分钟
Quiz: Custom Docker Image•6分钟
DevOps
第 9 单元•小时 后完成
单元详情
This module provides a comprehensive introduction to DevOps, covering its need, definition, and core dimensions. It delves into essential DevOps practices like Continuous Integration and Continuous Delivery/Deployment, detailing their implementation within CI/CD pipelines. Additionally, it offers practical demonstrations to solidify theoretical concepts through hands-on application. By the end, learners will be equipped to understand, explain, and implement DevOps practices effectively.
涵盖的内容
14个视频3篇阅读材料12个作业
显示有关单元内容的信息
14个视频•总计82分钟
Need for DevOps•5分钟
DevOps Definition•5分钟
DevOps Dimensions•8分钟
Overview of DevOps practices•4分钟
Continuous Integration•7分钟
Continuous Delivery or Deployment•4分钟
CI-CD Pipeline•4分钟
Continuous Monitoring•6分钟
Effective Dependency Management•7分钟
Continuous Testing•5分钟
Infrastructure as Code (IaC)•6分钟
GitHub Actions•5分钟
Demo on Setting Up Build and Test Code•7分钟
Demo on GitHub Actions Workflow and Continuous Integration•8分钟
3篇阅读材料•总计60分钟
Reading: Introduction to DevOps•20分钟
Reading: DevOps Practices•20分钟
Reading: Advanced CI/CD Practices•20分钟
12个作业•总计72分钟
Quiz: Need for DevOps•6分钟
Quiz: DevOps Definition•6分钟
Quiz: DevOps Dimensions•6分钟
Quiz: Overview of DevOps Practices•6分钟
Quiz: Continuous Integration•6分钟
Quiz: Continuous Delivery or Deployment•6分钟
Quiz: CI-CD Pipeline•6分钟
Quiz: Continuous Monitoring•6分钟
Quiz: Effective Dependency Management•6分钟
Quiz: Continuous Testing•6分钟
Quiz: Infrastructure as Code (IaC)•6分钟
Quiz: GitHub Actions•6分钟
Current Trends in Software Development Practices
第 10 单元•小时 后完成
单元详情
The module introduces learners to the transformative role of artificial intelligence in modern software development. This module first covers the implementation of the case study discussed throughout the course; and then covers the integration of AI in various stages of the software development lifecycle, including development, testing, and deployment. Participants will explore current trends, tools, and techniques that leverage AI to enhance productivity, accuracy, and efficiency. Through the lessons on AI-driven practices, real-world use cases, and future trends, learners will gain the knowledge and skills necessary to effectively incorporate AI technologies into their software development processes.
涵盖的内容
14个视频4篇阅读材料12个作业
显示有关单元内容的信息
14个视频•总计83分钟
Demo of Git implementation and GitHub integration•7分钟
Demo of Docker implementation and deployment•5分钟
Demo of Continuous Integration and Delivery •9分钟
Microservices - Part I•6分钟
Microservices - Part II•4分钟
Serverless Computing•6分钟
Low-Code / No-Code Development•6分钟
AI in Code Generation and Optimization•7分钟
AI in Predictive Analytics•6分钟
AI in Code Review and Refactoring•6分钟
AI in Test Case Generation•5分钟
AI for Bug Detection and Fixing•5分钟
Continuous Testing with AI•5分钟
AI for Continuous Deployment•5分钟
4篇阅读材料•总计70分钟
Reading: Trends in Software Technology•20分钟
Reading: Trends in Software Development•20分钟
Reading: Trends in Software Testing and Deployment•20分钟
Course Summary•10分钟
12个作业•总计123分钟
Graded Quiz for Week 9 and 10•60分钟
Quiz: Microservices - Part I•6分钟
Quiz: Microservices - Part II•3分钟
Quiz: Serverless Computing•6分钟
Quiz: Low-code / No-code Development•6分钟
Quiz: AI in Code Generation and Optimization•6分钟
Quiz: AI in Predictive Analytics•6分钟
Quiz: AI in Code Review and Refactoring•6分钟
Quiz: AI in Test Case Generation•6分钟
Quiz: AI for Bug Detection and Fixing•6分钟
Quiz: Continuous Testing with AI•6分钟
Quiz: AI for Continuous Deployment•6分钟
攻读学位
课程 是 Birla Institute of Technology & Science, Pilani提供的以下学位课程的一部分。如果您被录取并注册,您已完成的课程可计入您的学位学习,您的学习进度也可随之转移。
查看符合条件的学位
攻读学位
课程 是 Birla Institute of Technology & Science, Pilani提供的以下学位课程的一部分。如果您被录取并注册,您已完成的课程可计入您的学位学习,您的学习进度也可随之转移。
Birla Institute of Technology & Science, Pilani (BITS Pilani) is one of only ten private universities in India to be recognised as an Institute of Eminence by the Ministry of Human Resource Development, Government of India. It has been consistently ranked high by both governmental and private ranking agencies for its innovative processes and capabilities that have enabled it to impart quality education and emerge as the best private science and engineering institute in India.
BITS Pilani has four international campuses in Pilani, Goa, Hyderabad, and Dubai, and has been offering bachelor's, master’s, and certificate programmes for over 58 years, helping to launch the careers for over 1,00,000 professionals.
When will I have access to the lectures and assignments?
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I purchase the Certificate?
When you purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Is financial aid available?
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.