Informações sobre o curso
4.6
666 classificações
110 avaliações
100% online

100% online

Comece imediatamente e aprenda em seu próprio cronograma.
Prazos flexíveis

Prazos flexíveis

Redefinir os prazos de acordo com sua programação.
Nível iniciante

Nível iniciante

Horas para completar

Aprox. 20 horas para completar

Sugerido: 4 weeks of study, 4-8 hours/week...
Idiomas disponíveis

Inglês

Legendas: Inglês, Coreano

Habilidades que você terá

Programming PrinciplesInterfacesSoftware DesignJava Programming
100% online

100% online

Comece imediatamente e aprenda em seu próprio cronograma.
Prazos flexíveis

Prazos flexíveis

Redefinir os prazos de acordo com sua programação.
Nível iniciante

Nível iniciante

Horas para completar

Aprox. 20 horas para completar

Sugerido: 4 weeks of study, 4-8 hours/week...
Idiomas disponíveis

Inglês

Legendas: Inglês, Coreano

Programa - O que você aprenderá com este curso

Semana
1
Horas para completar
14 minutos para concluir

Welcome to the Course

Welcome to “Java Programming: Principles of Software Design”! We are excited that you are starting our course to learn how to write programs in Java, one of the most popular programming languages in the world. In this introductory module, you will hear an overview of this course and be introduced to the supporting resources available....
Reading
1 video (Total 4 min), 1 leitura
Video1 vídeos
Reading1 leituras
Programming Resources10min
Horas para completar
2 horas para concluir

Earthquakes: Programming and Interfaces

In this module, we will introduce a data set containing details about earthquakes around the world. You will learn how to pull this data into a program, search through the data, and filter the data based on desired criteria. By the end of this module, you will be able to (1) write programs that include multiple classes and ArrayLists of class types, (2) find the maximum value in an ArrayList, (3) use a Filter interface to search through data, (4) implement interfaces with method signatures, and (5) combine several filters together....
Reading
11 videos (Total 57 min), 4 leituras, 3 testes
Video11 videos
Relationships Between Classes4min
Licensing and APIs3min
Coding a Magnitude Filter10min
Coding the Closest Quakes12min
Summary2min
Introduction1min
Interfaces to Avoid Duplication6min
Interfaces in More Depth3min
MatchAll4min
Summary1min
Reading4 leituras
Module Learning Outcomes / Resources10min
Location class documentation and license resources10min
Programming Exercise: Searching Earthquake Data10min
Programming Exercise: Filtering Data10min
Quiz3 exercícios práticos
Searching Earthquake Data12min
Filtering Data10min
Earthquakes: Programming and Interfaces24min
Semana
2
Horas para completar
2 horas para concluir

Earthquakes: Sorting Algorithms

In this module, you will continue using real earthquake data to explore several sorting algorithms. You will learn how to implement a selection sort and a bubble sort, then be introduced to a Java method Collections.sort, which sorts with much greater efficiency. By the end of this module, you will be able to (1) implement several sorting algorithms from scratch, (2) use efficient pre-existing sorting classes, (3) modify a class’s compareTo method to choose the criteria by which objects of that type are ordered, and (4) write classes that implement the Comparator interface to create interchangeable sorting criteria....
Reading
12 videos (Total 52 min), 3 leituras, 3 testes
Video12 videos
Developing an Algorithm4min
Translating to Code3min
In Place8min
Efficiency4min
Summarymin
Introduction5min
Comparable4min
Ordering Quakes by Magnitude7min
Comparator5min
Comparator for Distance from a Location5min
Summarymin
Reading3 leituras
Module Learning Outcomes / Resources10min
Programming Exercise: Implementing Selection Sort10min
Programming Exercise: Sorting at Scale10min
Quiz3 exercícios práticos
Implementing Selection Sort10min
Sorting at Scale6min
Earthquakes: Sorting Algorithms16min
Semana
3
Horas para completar
3 horas para concluir

N-Grams: Predictive Text

In this module, you will explore some of the underlying concepts of predictive text. The first lesson will introduce random character generation and then how to train the character selection based on an input text. The second lesson will extend this concept to complete words. By the end of this module, you will be able to: (1) base random text generation on the frequency of characters in a training text, (2) collect a set of characters that occur in a text after randomly chosen initial character(s) to create a semi-random text, (3) extend the predictive text generation to use whole words, and (4) implement your own .equals method to compare complex data types....
Reading
15 videos (Total 95 min), 5 leituras, 5 testes
Video15 videos
Order-Zero, Order-One6min
Finding Follow Set7min
Implementing Order-Two9min
Testing and Debugging7min
Interfaces and Abstract Classes9min
Summary2min
Introduction3min
Order-One Concepts6min
Order-One Helper Functions8min
WordGram Class4min
WordGram Class Implementation4min
Equals and HashCode Methods5min
Equals Method Implementation10min
Summary3min
Reading5 leituras
Module Learning Outcomes / Resources10min
Programming Exercise: Generating Random Text10min
Programming Exercise: Interface and Abstract Class10min
Programming Exercise: Word N-Grams10min
Programming Exercise: WordGram Class10min
Quiz5 exercícios práticos
Generating Random Text14min
Interface and Abstract Class8min
Word N-Grams6min
WordGram Class10min
N-Grams: Predictive Text20min
Semana
4
Horas para completar
1 hora para concluir

Java: Tools and Libraries for Everyone

As you reach the end of this series, you may wish to extend your Java experience to tools beyond those provided here. This module will cover some of the Java basic information that is needed to program without BlueJ or the edu.duke library. After completing this module, you will be able to: (1) write a main method to start a Java program in any programming environment, (2) use the “static” keyword to modify fields, (3) find alternative editors to use with Java, (4) use exceptions to debug your program and make it more robust, and (5) reference Java libraries that are necessary to read files without the edu.duke library. ...
Reading
13 videos (Total 42 min), 2 leituras, 1 teste
Video13 videos
Main Method3min
Static4min
Editors8min
Summarymin
Introduction1min
Understanding Exceptions4min
Handling Exceptions2min
Declaring Exceptions1min
Throwing Exceptions1min
Reading Files with Java.nio6min
Hello Around the World with Eclipse4min
Summarymin
Reading2 leituras
Module Learning Outcomes / Resources10min
Where To Go From Here10min
Quiz1 exercício prático
Java: Tools and Libraries for Everyone18min
4.6
110 avaliaçõesChevron Right
Direcionamento de carreira

60%

comecei uma nova carreira após concluir estes cursos
Benefício de carreira

83%

consegui um benefício significativo de carreira com este curso

Melhores avaliações

por MNFeb 26th 2017

This nicely packaged course is learner centered. It engages the learner by enforcing practice through interesting exercises and quizzes. Kudos and Thumbs up to the team of great instructors

por NSJun 16th 2016

Like all the modules of this Java specialization, the teachers are very good and the course reaches the objective of teaching the fundamentals of software design with an excellent didactic.

Instrutores

Avatar

Robert Duvall

Lecturer
Computer Science
Avatar

Owen Astrachan

Professor of the Practice
Computer Science
Avatar

Andrew D. Hilton

Associate Professor of the Practice
Electrical and Computer Engineering
Avatar

Susan H. Rodger

Professor of the Practice
Computer Science

Sobre Duke University

Duke University has about 13,000 undergraduate and graduate students and a world-class faculty helping to expand the frontiers of knowledge. The university has a strong commitment to applying knowledge in service to society, both near its North Carolina campus and around the world....

Sobre o Programa de cursos integrados Java Programming and Software Engineering Fundamentals

Take your first step towards a career in software development with this introduction to Java—one of the most in-demand programming languages and the foundation of the Android operating system. Designed for beginners, this Specialization will teach you core programming concepts and equip you to write programs to solve complex problems. In addition, you will gain the foundational skills a software engineer needs to solve real-world problems, from designing algorithms to testing and debugging your programs....
Java Programming and Software Engineering Fundamentals

Perguntas Frequentes – FAQ

  • Ao se inscrever para um Certificado, você terá acesso a todos os vídeos, testes e tarefas de programação (se aplicável). Tarefas avaliadas pelos colegas apenas podem ser enviadas e avaliadas após o início da sessão. Caso escolha explorar o curso sem adquiri-lo, talvez você não consiga acessar certas tarefas.

  • Quando você se inscreve no curso, tem acesso a todos os cursos na Especialização e pode obter um certificado quando concluir o trabalho. Seu Certificado eletrônico será adicionado à sua página de Participações e você poderá imprimi-lo ou adicioná-lo ao seu perfil no LinkedIn. Se quiser apenas ler e assistir o conteúdo do curso, você poderá frequentá-lo como ouvinte sem custo.

  • No. Completion of a Coursera course does not earn you academic credit from Duke; therefore, Duke is not able to provide you with a university transcript. However, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.

Mais dúvidas? Visite o Central de Ajuda ao Aprendiz.