We may earn an affiliate commission when you visit our partners.
Udacity logo

Software Engineering

Josh Bernhard , Mike Yi, Judit Lantos, David Drummond, Andrew Paster, Juno Lee, and Luis Serrano
Software engineering skills are increasingly important for data scientists. In this course, you'll learn best practices for writing software. Then you'll work on your software skills by coding a Python package and a web data dashboard.

What's inside

Syllabus

Welcome to Software Engineering for Data Scientists! Learn about the course and meet your instructors.
Learn software engineering practices and how they apply in data science. Part one covers clean and modular code, code efficiency, refactoring, documentation, and version control.
Read more
Learn software engineering practices and how they apply in data science. Part two covers testing code, logging, and conducting code reviews.
Learn the basics of object-oriented programming so that you can build your own Python package.
Create your own Python package and upload your package to PyPi.
Develop a data dashboard using Flask, Bootstrap, Plotly and Pandas.
Customize the data dashboard from the previous lesson to make it your own. Upload the dashboard to the web.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Develops software engineering practices that are in high demand for data scientists
Provides hands-on experience in developing a Python package and a web data dashboard
Taught by industry experts with proven experience in software engineering for data science
Covers essential topics such as code efficiency, testing, and version control, which are crucial for delivering robust software solutions
Requires a solid foundation in Python and data science concepts, making it suitable for intermediate learners
Does not provide comprehensive coverage of advanced software engineering concepts and design patterns

Save this course

Save Software Engineering to your list so you can find it easily later:
Save

Activities

Coming soon We're preparing activities for Software Engineering. These are activities you can do either before, during, or after a course.

Career center

Learners who complete Software Engineering will develop knowledge and skills that may be useful to these careers:
Data Analyst
Data Analysts collect, clean, and analyze data to identify trends and patterns. This course may be useful for building a foundation in software engineering practices for data analysis. This course can introduce you to clean and modular code, code efficiency, refactoring, documentation, version control, testing code, logging, and conducting code reviews.
Web Developer
Web Developers design and develop websites. This course may be useful for building a foundation in software engineering practices for web development. This course can introduce you to clean and modular code, code efficiency, refactoring, documentation, version control, testing code, logging, and conducting code reviews.
Machine Learning Engineer
Machine Learning Engineers design and develop machine learning models. This course may be useful for building a foundation in software engineering practices for machine learning. This course can introduce you to clean and modular code, code efficiency, refactoring, documentation, version control, testing code, logging, and conducting code reviews.
Data Scientist
Data Scientists use scientific methods, processes, algorithms, and systems to extract knowledge and insights from data. This course may be useful for building a foundation in software engineering practices for data science. This course can introduce you to clean and modular code, code efficiency, refactoring, documentation, version control, testing code, logging, and conducting code reviews.
Software Engineer
Software Engineers design, develop, deploy, and test software applications. This course may be useful for building a foundation in software engineering practices. This course can introduce you to clean and modular code, code efficiency, refactoring, documentation, version control, testing code, logging, and conducting code reviews.
Project Manager
Project Managers plan and execute projects. This course may be useful for building a foundation in software engineering practices for project management. This course can introduce you to clean and modular code, code efficiency, refactoring, documentation, version control, testing code, logging, and conducting code reviews.
Business Analyst
Business Analysts analyze business needs and develop solutions to improve efficiency and effectiveness. This course may be useful for building a foundation in software engineering practices for business analysis. This course can introduce you to clean and modular code, code efficiency, refactoring, documentation, version control, testing code, logging, and conducting code reviews.
Product Manager
Product Managers manage the development and launch of new products. This course may be useful for building a foundation in software engineering practices for product management. This course can introduce you to clean and modular code, code efficiency, refactoring, documentation, version control, testing code, logging, and conducting code reviews.
Technical Writer
Technical Writers create and maintain technical documentation. This course may be useful for building a foundation in software engineering practices for technical writing. This course can introduce you to clean and modular code, code efficiency, refactoring, documentation, version control, testing code, logging, and conducting code reviews.
Systems Analyst
Systems Analysts design and develop computer systems. This course may be useful for building a foundation in software engineering practices for systems analysis. This course can introduce you to clean and modular code, code efficiency, refactoring, documentation, version control, testing code, logging, and conducting code reviews.
Computer Scientist
Computer Scientists conduct research in the field of computer science. This course may be useful for building a foundation in software engineering practices for computer science research. This course can introduce you to clean and modular code, code efficiency, refactoring, documentation, version control, testing code, logging, and conducting code reviews.
Software Architect
Software Architects design and develop software systems. This course may be useful for building a foundation in software engineering practices for software architecture. This course can introduce you to clean and modular code, code efficiency, refactoring, documentation, version control, testing code, logging, and conducting code reviews.
Information Technology Manager
Information Technology Managers plan and manage the implementation of information technology systems. This course may be useful for building a foundation in software engineering practices for information technology management. This course can introduce you to clean and modular code, code efficiency, refactoring, documentation, version control, testing code, logging, and conducting code reviews.
Database Administrator
Database Administrators manage and maintain databases. This course may be useful for building a foundation in software engineering practices for database administration. This course can introduce you to clean and modular code, code efficiency, refactoring, documentation, version control, testing code, logging, and conducting code reviews.
Network Administrator
Network Administrators manage and maintain computer networks. This course may be useful for building a foundation in software engineering practices for network administration. This course can introduce you to clean and modular code, code efficiency, refactoring, documentation, version control, testing code, logging, and conducting code reviews.

Reading list

We've selected ten books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Software Engineering.
Provides a practical guide to writing clean and maintainable code. It valuable resource for software engineers of all levels.
Provides a practical guide to developing Python packages. It valuable resource for software engineers who want to learn how to create and distribute their own Python packages.
Provides a comprehensive guide to developing web applications with Flask and Bootstrap. It valuable resource for software engineers who want to learn how to create and deploy web applications.
Provides a comprehensive overview of software engineering best practices. It valuable resource for software engineers who want to learn about the latest best practices in software development.
Provides a comprehensive guide to object-oriented analysis and design. It valuable resource for software engineers who want to learn about the latest techniques in object-oriented development.
Provides a comprehensive overview of design patterns. It valuable resource for software engineers who want to learn about the latest techniques in software design.
Provides a comprehensive overview of agile software development. It valuable resource for software engineers who want to learn about the latest techniques in agile development.
Provides a comprehensive overview of test-driven development. It valuable resource for software engineers who want to learn about the latest techniques in test-driven development.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Software Engineering.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser