RiseUpp Logo
Educator Logo

Introduction to Software Engineering

Learn software engineering principles for large-scale systems, covering agile development, REST, testing, and system design in this comprehensive course.

Learn software engineering principles for large-scale systems, covering agile development, REST, testing, and system design in this comprehensive course.

This comprehensive course delves into the fundamentals of software engineering, teaching students how teams design, build, and test multi-version software systems. Through hands-on experience, participants learn essential principles applicable to large-scale software development. The curriculum covers crucial topics including agile development methodologies, REST and Async programming, software specification, system design, refactoring techniques, and information security. Students work in teams to apply agile development processes, creating and testing multiple versions of complex software systems. The course emphasizes practical experience alongside theoretical knowledge, ensuring graduates can effectively contribute to real-world software development projects.

4.3

(12 ratings)

54,401 already enrolled

Instructors:

English

English

Powered by

Provider Logo
Introduction to Software Engineering

This course includes

8 Weeks

Of Self-paced video lessons

Advanced Level

Completion Certificate

awarded on course completion

10,375

Audit For Free

What you'll learn

  • Build non-trivial software systems using agile methodologies in team environments

  • Master techniques for specifying functional and non-functional system requirements

  • Develop expertise in software system design and testing methodologies

  • Understand and apply refactoring principles for quality system development

  • Implement security best practices in software development

  • Create comprehensive software specifications and documentation

Skills you'll gain

Software Engineering
Agile Development
REST Programming
System Design
Software Testing
Information Security
Software Specification
Refactoring
Team Development
Software Architecture

This course includes:

PreRecorded video

Graded assignments, exams

Access on Mobile, Tablet, Desktop

Limited Access access

Shareable certificate

Closed caption

Get a Completion Certificate

Share your certificate with prospective employers and your professional network on LinkedIn.

Certificate

Top companies offer this course to their employees

Top companies provide this course to enhance their employees' skills, ensuring they excel in handling complex projects and drive organizational success.

icon-0icon-1icon-2icon-3icon-4

There are 9 modules in this course

The course provides a comprehensive introduction to software engineering principles for large-scale systems. Students learn through a combination of theoretical concepts and practical application, covering essential topics such as agile development, software specification, system design, testing methodologies, and information security. The curriculum emphasizes team-based learning, with students working collaboratively to develop and test complex software systems. Special attention is given to modern development practices, including REST programming and async development, ensuring students gain relevant industry skills.

Introduction

Module 1

Process

Module 2

Specifications

Module 3

Testing

Module 4

High Level Design

Module 5

Low Level Design

Module 6

Construction

Module 7

Information Security

Module 8

Intellectual Property and Ethics

Module 9

Fee Structure

Instructor

Reid Holmes
Reid Holmes

6 Courses

Distinguished Software Engineering Scholar and Educational Innovator

Reid Holmes is a Professor of Computer Science at the University of British Columbia, where his research focuses on improving developers' abilities to build and maintain high-quality software systems. After earning his PhD from the University of Calgary in 2008, he completed a postdoctoral fellowship at the University of Washington with David Notkin before joining the University of Waterloo as an Assistant Professor. His groundbreaking research takes a human-centric approach to software engineering, with significant contributions to software testing, developer tools, and collaboration systems. His excellence has been recognized through multiple awards including ACM SIGSOFT Distinguished Paper Awards, the CS-Can/Info-Can Outstanding Young Computer Science Research Prize, and the UBC Computer Science Department Faculty Teaching Award. As Director of the Software Practices Lab, he leads research in recommendation systems, software reuse, documentation, and testing. His influential works include studies on mutation testing validity, test suite effectiveness, and conflict detection in collaborative development, which have been widely adopted by major software companies. His commitment to education is evidenced by his recognition as a UBC Open Educational Resource Champion and his ongoing work to improve software engineering education.

Introduction to Software Engineering

This course includes

8 Weeks

Of Self-paced video lessons

Advanced Level

Completion Certificate

awarded on course completion

10,375

Audit For Free

Testimonials

Testimonials and success stories are a testament to the quality of this program and its impact on your career and learning journey. Be the first to help others make an informed decision by sharing your review of the course.

4.3 course rating

12 ratings

Frequently asked questions

Below are some of the most commonly asked questions about this course. We aim to provide clear and concise answers to help you better understand the course content, structure, and any other relevant information. If you have any additional questions or if your question is not listed here, please don't hesitate to reach out to our support team for further assistance.