About this Specialization
21,985 recent views

100% online courses

Start instantly and learn at your own schedule.

Flexible Schedule

Set and maintain flexible deadlines.

Beginner Level

Basic Java programming knowledge (ability to read and write Java code and use object-oriented constructs in Java).

Approx. 4 months to complete

Suggested 6 hours/week

English

Subtitles: English

Skills you will gain

Software ArchitectureJavaSoftware Design PatternObject-Oriented Programming (OOP)

100% online courses

Start instantly and learn at your own schedule.

Flexible Schedule

Set and maintain flexible deadlines.

Beginner Level

Basic Java programming knowledge (ability to read and write Java code and use object-oriented constructs in Java).

Approx. 4 months to complete

Suggested 6 hours/week

English

Subtitles: English

How the Specialization Works

Take Courses

A Coursera Specialization is a series of courses that helps you master a skill. To begin, enroll in the Specialization directly, or review its courses and choose the one you'd like to start with. When you subscribe to a course that is part of a Specialization, you’re automatically subscribed to the full Specialization. It’s okay to complete just one course — you can pause your learning or end your subscription at any time. Visit your learner dashboard to track your course enrollments and your progress.

Hands-on Project

Every Specialization includes a hands-on project. You'll need to successfully finish the project(s) to complete the Specialization and earn your certificate. If the Specialization includes a separate course for the hands-on project, you'll need to finish each of the other courses before you can start it.

Earn a Certificate

When you finish every course and complete the hands-on project, you'll earn a Certificate that you can share with prospective employers and your professional network.

how it works

There are 4 Courses in this Specialization

Course1

Object-Oriented Design

4.7
745 ratings
149 reviews
Course2

Design Patterns

4.7
492 ratings
84 reviews
Course3

Software Architecture

4.5
277 ratings
41 reviews
Course4

Service-Oriented Architecture

4.5
215 ratings
38 reviews

Instructor

Avatar

Kenny Wong

Associate Professor
Computing Science, Faculty of Science

About University of Alberta

UAlberta is considered among the world’s leading public research- and teaching-intensive universities. As one of Canada’s top universities, we’re known for excellence across the humanities, sciences, creative arts, business, engineering and health sciences....

Frequently Asked Questions

  • Yes! To get started, click the course card that interests you and enroll. You can enroll and complete the course to earn a shareable certificate, or you can audit it to view the course materials for free. When you subscribe to a course that is part of a Specialization, you’re automatically subscribed to the full Specialization. Visit your learner dashboard to track your progress.

  • This course is completely online, so there’s no need to show up to a classroom in person. You can access your lectures, readings and assignments anytime and anywhere via the web or your mobile device.

  • Each of the four courses in the Specialization are designed to be completed in 4 weeks; the entire Specialization can be completed in 16 weeks. On average there is one assignment per week for the first 8 weeks (occasionally a week without an assignment will be followed by a week with two assignments). The last 8 weeks average fewer than one assignment per week.

    Depending on capacity to complete assignments, we expect learners to finish any of the courses in 3 – 5 weeks.

  • Familiarity with object-oriented programming structures is essential. Basic Java programming knowledge is expected. Assignments and quizzes will require coding in Java. The capstone application will require you to use Android Studio, an integrated development environment.

  • If you are intending to complete the entire specialization, it is highly recommended to take the courses in order as material presented in early courses will be referred to in later courses. If you are interested in specific courses, each course can be taken as a standalone course, provided that you are familiar with the content of previous courses.

  • Software Design Architecture courses are not eligible for university credit.

  • You will be able to create better software applications and systems that are reusable, flexible, and maintainable, because your software will follow established design principles, patterns, and architectures. You will also be able to communicate to others your software designs and architectures through industry standard visual notations.

More questions? Visit the Learner Help Center.