Informações sobre o curso
4.7
1,127 classificações
202 avaliações
Programa de cursos integrados
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. 24 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á

Data StructureCryptographyHash TableJava Programming
Programa de cursos integrados
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. 24 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
13 minutos para concluir

Welcome

Welcome to “Java Programming: Arrays, Lists, and Structured Data”! 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 3 min), 1 leitura
Video1 vídeos
Reading1 leituras
Programming Resources10min
Horas para completar
4 horas para concluir

Cryptography: Keeping Information Secret

In this module, you will learn about the basics of cryptography, the science of keeping information private and secure. You will learn about simpler cryptographic systems, which were used from the Roman Empire through the early 1900s. You will learn how to implement these ciphers, as well as how to break them. To solve these problems, you will work more with processing Strings, but also learn about arrays—a way to store an indexable sequence of elements. You will be able to: (1) combine Strings using concatenation; (2) build Strings within a Java program using StringBuilder; (3) use arrays to store and manipulate collections of data; (4) refactor your programs for improved organization using object-oriented principles; (5) and practice effective algorithm design....
Reading
21 videos (Total 111 min), 5 leituras, 4 testes
Video21 videos
Introduction5min
Creating and Manipulating Strings5min
Counting Loops9min
Character Class5min
Developing an Algorithm5min
Translating into Code4min
Testing and Debugging1min
Summarymin
Introduction5min
Arrays9min
Random Numbers and Arrays11min
Counting with Arrays10min
Developing an Algorithm5min
Summary3min
Introduction2min
Rewriting with Encapsulation3min
Fields6min
Visibility4min
Constructors3min
Summarymin
Reading5 leituras
Module Learning Outcomes / Resources10min
Programming Exercise: Implementing the Caesar Cipher10min
Programming Exercise: Breaking the Caesar Cipher10min
Programming Exercise: Object Oriented Caesar Cipher10min
End of Module Survey10min
Quiz4 exercícios práticos
Implementing the Caesar Cipher12min
Breaking the Caesar Cipher22min
Object Oriented Caesar Cipher8min
Cryptography28min
Semana
2
Horas para completar
3 horas para concluir

GladLibs: Stories from Templates

After completing this module, you will be able (1) to program a word frequency counter to analyze any input text file, (2) to select and substitute words from a list into a document template using both ArrayList and HashMap, (3) to create new lists to use in templates, (4) to recognize brittle code, and (5) to improve code with flexible, object-oriented design. You will gain these skills in the framework of developing a randomly generated story that we call GladLibs. You may discover that bald lions change peoples’ lives, or that fluffy dinosaurs get things done in a jiffy. We hope you have fun developing your Java skills this week!...
Reading
13 videos (Total 72 min), 4 leituras, 3 testes
Video13 videos
High-level Design Concepts5min
ArrayList6min
ArrayList for Unique Words7min
ArrayList Advantages and Issues7min
Summary3min
Introduction7min
Brittle Code3min
Adding New Labels4min
HashMap7min
HashMap for Unique Words4min
HashMap for Flexible Design7min
Summary3min
Reading4 leituras
Module Learning Outcomes / Resources10min
Programming Exercise: Telling a Random Story10min
Programming Exercise: Using GladLibs10min
Programming Exercise: Improving GladLibs10min
Quiz3 exercícios práticos
Telling a Random Story12min
Using and Improving GladLibs20min
GladLibs38min
Semana
3
Horas para completar
2 horas para concluir

Web Server Logs: From Logs to Visits

In this module, you will learn about how web server logs store information about visitors to a website, and you will write programs to access information like user IP address, date and time of access, and more. Using Java programs you write in this module, you will be able (1) to read information from a web server log, (2) to count the number of unique visitors to your website, and (3) to count the number of times each visitor uses your website....
Reading
15 videos (Total 51 min), 4 leituras, 4 testes
Video15 videos
Understanding Log Files6min
LogEntry Class with toString5min
Parsing Log Files3min
Summarymin
Introduction1min
Developing an Algorithm3min
Translating to Code3min
Equality4min
Summarymin
Introduction1min
Developing an Algorithm4min
Translating to Code11min
HashMap for Unique IPs1min
Summarymin
Reading4 leituras
Module Learning Outcomes / Resources10min
Programming Exercise: Reading Log Files10min
Programming Exercise: Finding Unique IP Addresses10min
Programming Exercise: Counting Website Visits10min
Quiz4 exercícios práticos
Reading Log Files6min
Finding Unique IP Addresses8min
Counting Website Visits8min
Web Server Logs20min
Semana
4
Horas para completar
2 horas para concluir

MiniProject: Vigenère Cipher

In this module, you will develop a program to break the Vigenère Cipher, a more complex version of the Caesar Cipher. You will improve your program in three stages: first decrypting messages where you know the language and key length, then adding the capability to handle messages with unknown key length, then extending the program to handle messages in a range of possible languages. Through this project, you will be able (1) to effectively use HashSet and HashMap, (2) to expand an algorithm from solving a simpler problem to handle broader, more complex problems, and (3) to design and modify program code involving a more complex collection of classes, methods, and data. ...
Reading
4 videos (Total 17 min), 5 leituras, 3 testes
Video4 videos
Known Language and Key Length5min
Unknown Key Length4min
Unknown Language4min
Reading5 leituras
Module Resources10min
Programming Exercise: Known Language and Key Length10min
Programming Exercise: Unknown Key Length10min
Programming Exercise: Unknown Language, Unknown Key Length10min
Extend Your Program10min
Quiz3 exercícios práticos
Known Language and Key Length4min
Unknown Key Length8min
Breaking the Vigenère Cipher14min
4.7
202 avaliaçõesChevron Right
Direcionamento de carreira

56%

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 CTJul 20th 2018

The course was pretty challenging (and occasionally frustrating) for a novice programmer, but doable.\n\nI enjoyed the course, and came away with a greater understanding of computers and programming.

por GBMar 30th 2017

Good and practical training approach to solve real worlds problems. Assignments and quizzes are quite challenging and interesting. Greatly motivates us towards programming and problem solving skills.

Instrutores

Avatar

Andrew D. Hilton

Associate Professor of the Practice
Electrical and Computer Engineering
Avatar

Robert Duvall

Lecturer
Computer Science
Avatar

Owen Astrachan

Professor of the Practice
Computer Science
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 Object Oriented Programming in Java

This Specialization is for aspiring software developers with some programming experience in at least one other programming language (e.g., Python, C, JavaScript, etc.) who want to be able to solve more complex problems through objected-oriented design with Java. In addition to learning Java, you will gain experience with two Java development environments (BlueJ and Eclipse), learn how to program with graphical user interfaces, and learn how to design programs capable of managing large amounts of data. These software engineering skills are broadly applicable across wide array of industries....
Object Oriented Programming in Java

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.