À propos de ce Spécialisation
Cours en ligne à 100 %

Cours en ligne à 100 %

Commencez dès maintenant et apprenez aux horaires qui vous conviennent.
Planning flexible

Planning flexible

Définissez et respectez des dates limites flexibles.
Niveau débutant

Niveau débutant

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

Heures pour terminer

Approx. 4 mois pour terminer

5 heures/semaine recommandées
Langues disponibles

Anglais

Sous-titres : Anglais...

Compétences que vous acquerrez

Architecture Tradeoff Analysis MethodDesign PatternRepresentational State Transfer (REST)Service-Oriented Architecture
Cours en ligne à 100 %

Cours en ligne à 100 %

Commencez dès maintenant et apprenez aux horaires qui vous conviennent.
Planning flexible

Planning flexible

Définissez et respectez des dates limites flexibles.
Niveau débutant

Niveau débutant

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

Heures pour terminer

Approx. 4 mois pour terminer

5 heures/semaine recommandées
Langues disponibles

Anglais

Sous-titres : Anglais...

Fonctionnement du Spécialisation

Suivez les cours

Une Spécialisation Coursera est une série de cours axés sur la maîtrise d'une compétence. Pour commencer, inscrivez-vous directement à la Spécialisation ou passez en revue ses cours et choisissez celui par lequel vous souhaitez commencer. Lorsque vous vous abonnez à un cours faisant partie d'une Spécialisation, vous êtes automatiquement abonné(e) à la Spécialisation complète. Il est possible de terminer seulement un cours : vous pouvez suspendre votre formation ou résilier votre abonnement à tout moment. Rendez-vous sur votre tableau de bord d'étudiant pour suivre vos inscriptions aux cours et vos progrès.

Projet pratique

Chaque Spécialisation inclut un projet pratique. Vous devez réussir le(s) projet(s) pour terminer la Spécialisation et obtenir votre Certificat. Si la Spécialisation inclut un cours dédié au projet pratique, vous devrez terminer tous les autres cours avant de pouvoir le commencer.

Obtenir un Certificat

Lorsque vous aurez terminé tous les cours et le projet pratique, vous obtiendrez un Certificat que vous pourrez partager avec des employeurs éventuels et votre réseau professionnel.

how it works

Cette Spécialisation compte 4 cours

Cours1

Object-Oriented Design

4.6
384 notes
77 avis
This course takes Java beginners to the next level by covering object-oriented analysis and design. You will discover how to create modular, flexible, and reusable software, by applying object-oriented design principles and guidelines. And, you will be able to communicate these designs in a visual notation known as Unified Modelling Language (UML). You will be challenged in the Capstone Project to apply your knowledge of object-oriented design by evolving and documenting the Java codebase for an Android application with corresponding UML documentation. After completing this course, you will be able to: • Apply the Class Responsibility Collaborator (CRC) technique to analyze and design the object-oriented model for a problem. • Explain and apply object-oriented modeling principles and their purpose (e.g., abstraction, encapsulation, decomposition, generalization). • Explain and apply different types of inheritance • Explain the difference between association, aggregation, and composition dependencies. • Express object-oriented models as Unified Modeling Language (UML) class diagrams. • Translate between UML class diagrams and equivalent Java code. • Apply design guidelines for modularity, separation of concerns, information hiding, and conceptual integrity to create a flexible, reusable, maintainable design. • Explain the tradeoff between cohesion and coupling....
Cours2

Design Patterns

4.7
224 notes
44 avis
This course extends object-oriented analysis and design by incorporating design patterns to create interactive applications. Through a survey of established design patterns, you will gain a foundation for more complex software applications. Finally, you will identify problematic software designs by referencing a catalog of code smells. You will be challenged in the Capstone Project to redesign an existing Java-based Android application to implement a combination of design patterns. You will also critique a given Java codebase for code smells. After completing this course, you will be able to: • Demonstrate how to use design patterns to address user interface design issues. • Identify the most suitable design pattern to address a given application design problem. • Apply design principles (e.g., open-closed, dependency inversion, least knowledge). • Critique code by identifying and refactoring anti-patterns. • Apply the model-view-controller architectural pattern....
Cours3

Software Architecture

4.4
115 notes
19 avis
The way that software components — subroutines, classes, functions, etc. — are arranged, and the interactions between them, is called architecture. In this course you will study the ways these architectures are represented, both in UML and other visual tools. We will introduce the most common architectures, their qualities, and tradeoffs. We will talk about how architectures are evaluated, what makes a good architecture, and an architecture can be improved. We'll also talk about how the architecture touches on the process of software development. In the Capstone Project you will document a Java-based Android application with UML diagrams and analyze evaluate the application’s architecture using the Architecture Tradeoff Analysis Method (ATAM). After completing this course, you will be able to: • Compare and contrast the components, connections, protocols, topologies, constraints, tradeoffs, and variations of different types of architectural styles used in the design of applications and systems (e.g., main program and subroutine, object-oriented, interpreters, pipes and filters, database centric, event-based). • Describe the properties of layered and n-tier architectures. • Create UML ipackage, component, and deployment diagrams to express the architectural structure of a system. • Explain the behaviour of a system using UML activity diagrams. • Document a multi-application system with a layered architecture....
Cours4

Service-Oriented Architecture

4.4
97 notes
16 avis
Based on an understanding of architectural styles, you will review architectures for web applications, then explore the basics of Service-Oriented Architecture (SOA) in two approaches: Web Services (WS*) and Representational State Transfer (REST) architecture. In the Capstone Project you will connect a Java-based Android application with Elasticsearch, a web service with a REST application programmer interface (API). After completing this course, you will be able to: • Describe SOA (Service-Oriented Architecture) to structure web-based systems. • Explain WS* services (i.e., SOAP over HTTP, WSDL, UDDI, BPEL). • Apply REST architecture (i.e., JSON over HTTP, URI). • Identify REST design principles. • Create a system using REST interfaces. • Apply microservice architecture....

Enseignant

Avatar

Kenny Wong

Associate Professor
Computing Science, Faculty of Science

À propos de 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....

Foire Aux Questions

  • Oui ! Pour commencer, cliquez sur la carte du cours qui vous intéresse et inscrivez-vous. Vous pouvez vous inscrire et terminer le cours pour obtenir un Certificat partageable, ou vous pouvez accéder au cours en auditeur libre afin d'en visualiser gratuitement le contenu. Si vous vous abonnez à un cours faisant partie d'une Spécialisation, vous êtes automatiquement abonné(e) à la Spécialisation complète. Visitez votre tableau de bord d'étudiant(e) pour suivre vos progrès.

  • Ce cours est entièrement en ligne : vous n'avez donc pas besoin de vous présenter physiquement dans une salle de classe. Vous pouvez accéder à vos vidéos de cours, lectures et devoirs en tout temps et en tout lieu, par l'intermédiaire du Web ou de votre appareil mobile.

  • Cette Spécialisation n'est pas associée à des crédits universitaires, mais certaines universités peuvent décider d'accepter des Certificats de Spécialisation pour des crédits. Vérifiez-le auprès de votre établissement pour en savoir plus.

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

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

D'autres questions ? Visitez le Centre d'Aide pour les Etudiants.