Birla Institute of Technology & Science, Pilani

Software Development Practices

Grow your skills with Coursera Plus for $239/year (usually $399). Save now.

Birla Institute of Technology & Science, Pilani

Software Development Practices

Shreyas Suresh Rao
Prof. Akanksha Bharadwaj
Punit Galav

Instructors: Shreyas Suresh Rao

Gain insight into a topic and learn the fundamentals.
Beginner level

Recommended experience

7 weeks to complete
at 10 hours a week
Flexible schedule
Learn at your own pace
Gain insight into a topic and learn the fundamentals.
Beginner level

Recommended experience

7 weeks to complete
at 10 hours a week
Flexible schedule
Learn at your own pace

What you'll learn

  • Analyze and apply techniques for gathering and documenting software requirements, including creating use cases and user stories.

  • Design software systems using visual modeling techniques, including UML diagrams and Data Flow Diagrams (DFDs).

  • Write high-quality code, utilize libraries and APIs, and manage code with version control systems like Git and GitHub.

  • Implement debugging, testing, Docker deployment, and CI/CD pipelines for efficient and reliable software development.

Details to know

Assessments

137 assignments

Taught in English

See how employees at top companies are mastering in-demand skills

 logos of Petrobras, TATA, Danone, Capgemini, P&G and L'Oreal

There are 12 modules in this course

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.

What's included

3 videos1 reading1 discussion prompt

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.

What's included

15 videos4 readings14 assignments1 discussion prompt

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.

What's included

16 videos3 readings16 assignments1 discussion prompt

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.

What's included

16 videos3 readings15 assignments1 discussion prompt

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.

What's included

18 videos4 readings19 assignments1 discussion prompt

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.

What's included

12 videos3 readings11 assignments1 discussion prompt

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.

What's included

16 videos5 readings13 assignments1 discussion prompt

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.

What's included

13 videos4 readings10 assignments1 discussion prompt

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.

What's included

16 videos4 readings14 assignments1 discussion prompt

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.

What's included

15 videos4 readings12 assignments1 discussion prompt

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.

What's included

15 videos3 readings12 assignments1 discussion prompt

What's included

1 assignment

Instructors

Shreyas Suresh Rao
Birla Institute of Technology & Science, Pilani
2 Courses 2,362 learners
Prof. Akanksha Bharadwaj
Birla Institute of Technology & Science, Pilani
1 Course 663 learners
Punit Galav
Birla Institute of Technology & Science, Pilani
1 Course 663 learners

Offered by

Why people choose Coursera for their career

Felipe M.

Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."

Jennifer J.

Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."

Larry W.

Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."

Chaitanya A.

"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."
Coursera Plus

Open new doors with Coursera Plus

Unlimited access to 10,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription

Advance your career with an online degree

Earn a degree from world-class universities - 100% online

Join over 3,400 global companies that choose Coursera for Business

Upskill your employees to excel in the digital economy

Frequently asked questions