Birla Institute of Technology & Science, Pilani

Software Development Practices

Birla Institute of Technology & Science, Pilani

Software Development Practices

Shreyas Suresh Rao
Prof. Akanksha Bharadwaj
Punit Galav

位教师:Shreyas Suresh Rao

访问权限由 Coursera Learning Team 提供

深入了解一个主题并学习基础知识。
初级 等级

推荐体验

7 周 完成
在 10 小时 一周
灵活的计划
自行安排学习进度
深入了解一个主题并学习基础知识。
初级 等级

推荐体验

7 周 完成
在 10 小时 一周
灵活的计划
自行安排学习进度

您将学到什么

  • 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.

要了解的详细信息

作业

137 项作业

授课语言:英语(English)

了解顶级公司的员工如何掌握热门技能

Petrobras, TATA, Danone, Capgemini, P&G 和 L'Oreal 的徽标

该课程共有12个模块

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.

涵盖的内容

3个视频1篇阅读材料1个讨论话题

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.

涵盖的内容

15个视频4篇阅读材料14个作业1个讨论话题

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.

涵盖的内容

16个视频3篇阅读材料16个作业1个讨论话题

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.

涵盖的内容

16个视频3篇阅读材料15个作业1个讨论话题

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.

涵盖的内容

18个视频4篇阅读材料19个作业1个讨论话题

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.

涵盖的内容

12个视频3篇阅读材料11个作业1个讨论话题

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.

涵盖的内容

16个视频5篇阅读材料13个作业1个讨论话题

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.

涵盖的内容

13个视频4篇阅读材料10个作业1个讨论话题

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.

涵盖的内容

16个视频4篇阅读材料14个作业1个讨论话题

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.

涵盖的内容

15个视频4篇阅读材料12个作业1个讨论话题

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.

涵盖的内容

15个视频3篇阅读材料12个作业1个讨论话题

涵盖的内容

1个作业

位教师

Shreyas Suresh Rao
Birla Institute of Technology & Science, Pilani
2 门课程2,362 名学生
Prof. Akanksha Bharadwaj
Birla Institute of Technology & Science, Pilani
1 门课程663 名学生
Punit Galav
Birla Institute of Technology & Science, Pilani
1 门课程663 名学生

提供方

人们为什么选择 Coursera 来帮助自己实现职业发展

Felipe M.

自 2018开始学习的学生
''能够按照自己的速度和节奏学习课程是一次很棒的经历。只要符合自己的时间表和心情,我就可以学习。'

Jennifer J.

自 2020开始学习的学生
''我直接将从课程中学到的概念和技能应用到一个令人兴奋的新工作项目中。'

Larry W.

自 2021开始学习的学生
''如果我的大学不提供我需要的主题课程,Coursera 便是最好的去处之一。'

Chaitanya A.

''学习不仅仅是在工作中做的更好:它远不止于此。Coursera 让我无限制地学习。'

从 Computer Science 浏览更多内容