À propos de ce cours
4.7
1,131 notes
202 avis
Spécialisation
100 % en ligne

100 % en ligne

Commencez dès maintenant et apprenez aux horaires qui vous conviennent.
Dates limites flexibles

Dates limites flexibles

Réinitialisez les dates limites selon votre disponibilité.
Niveau débutant

Niveau débutant

Heures pour terminer

Approx. 24 heures pour terminer

Recommandé : 4 weeks of study, 4-8 hours/week...
Langues disponibles

Anglais

Sous-titres : Anglais, Coréen

Compétences que vous acquerrez

Data StructureCryptographyHash TableJava Programming
Spécialisation
100 % en ligne

100 % en ligne

Commencez dès maintenant et apprenez aux horaires qui vous conviennent.
Dates limites flexibles

Dates limites flexibles

Réinitialisez les dates limites selon votre disponibilité.
Niveau débutant

Niveau débutant

Heures pour terminer

Approx. 24 heures pour terminer

Recommandé : 4 weeks of study, 4-8 hours/week...
Langues disponibles

Anglais

Sous-titres : Anglais, Coréen

Programme du cours : ce que vous apprendrez dans ce cours

Semaine
1
Heures pour terminer
13 minutes pour terminer

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 vidéo (Total 3 min), 1 lecture
Video1 vidéo
Welcome3 min
Reading1 lecture
Programming Resources10 min
Heures pour terminer
4 heures pour terminer

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 vidéos (Total 111 min), 5 lectures, 4 quiz
Video21 vidéos
Introduction5 min
Creating and Manipulating Strings5 min
Counting Loops9 min
Character Class5 min
Developing an Algorithm5 min
Translating into Code4 min
Testing and Debugging1 min
Summary40s
Introduction5 min
Arrays9 min
Random Numbers and Arrays11 min
Counting with Arrays10 min
Developing an Algorithm5 min
Summary3 min
Introduction2 min
Rewriting with Encapsulation3 min
Fields6 min
Visibility4 min
Constructors3 min
Summary57s
Reading5 lectures
Module Learning Outcomes / Resources10 min
Programming Exercise: Implementing the Caesar Cipher10 min
Programming Exercise: Breaking the Caesar Cipher10 min
Programming Exercise: Object Oriented Caesar Cipher10 min
End of Module Survey10 min
Quiz4 exercices pour s'entraîner
Implementing the Caesar Cipher12 min
Breaking the Caesar Cipher22 min
Object Oriented Caesar Cipher8 min
Cryptography28 min
Semaine
2
Heures pour terminer
3 heures pour terminer

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 vidéos (Total 72 min), 4 lectures, 3 quiz
Video13 vidéos
High-level Design Concepts5 min
ArrayList6 min
ArrayList for Unique Words7 min
ArrayList Advantages and Issues7 min
Summary3 min
Introduction7 min
Brittle Code3 min
Adding New Labels4 min
HashMap7 min
HashMap for Unique Words4 min
HashMap for Flexible Design7 min
Summary3 min
Reading4 lectures
Module Learning Outcomes / Resources10 min
Programming Exercise: Telling a Random Story10 min
Programming Exercise: Using GladLibs10 min
Programming Exercise: Improving GladLibs10 min
Quiz3 exercices pour s'entraîner
Telling a Random Story12 min
Using and Improving GladLibs20 min
GladLibs38 min
Semaine
3
Heures pour terminer
2 heures pour terminer

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 vidéos (Total 51 min), 4 lectures, 4 quiz
Video15 vidéos
Understanding Log Files6 min
LogEntry Class with toString5 min
Parsing Log Files3 min
Summary45s
Introduction1 min
Developing an Algorithm3 min
Translating to Code3 min
Equality4 min
Summary43s
Introduction1 min
Developing an Algorithm4 min
Translating to Code11 min
HashMap for Unique IPs1 min
Summary50s
Reading4 lectures
Module Learning Outcomes / Resources10 min
Programming Exercise: Reading Log Files10 min
Programming Exercise: Finding Unique IP Addresses10 min
Programming Exercise: Counting Website Visits10 min
Quiz4 exercices pour s'entraîner
Reading Log Files6 min
Finding Unique IP Addresses8 min
Counting Website Visits8 min
Web Server Logs20 min
Semaine
4
Heures pour terminer
2 heures pour terminer

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 vidéos (Total 17 min), 5 lectures, 3 quiz
Video4 vidéos
Known Language and Key Length5 min
Unknown Key Length4 min
Unknown Language4 min
Reading5 lectures
Module Resources10 min
Programming Exercise: Known Language and Key Length10 min
Programming Exercise: Unknown Key Length10 min
Programming Exercise: Unknown Language, Unknown Key Length10 min
Extend Your Program10 min
Quiz3 exercices pour s'entraîner
Known Language and Key Length4 min
Unknown Key Length8 min
Breaking the Vigenère Cipher14 min
4.7
202 avisChevron Right
Orientation de carrière

56%

a commencé une nouvelle carrière après avoir terminé ces cours
Avantage de carrière

38%

a bénéficié d'un avantage concret dans sa carrière grâce à ce cours

Meilleurs avis

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

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

Enseignants

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

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

À propos de la Spécialisation 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

Foire Aux Questions

  • Une fois que vous êtes inscrit(e) pour un Certificat, vous pouvez accéder à toutes les vidéos de cours, et à tous les quiz et exercices de programmation (le cas échéant). Vous pouvez soumettre des devoirs à examiner par vos pairs et en examiner vous-même uniquement après le début de votre session. Si vous préférez explorer le cours sans l'acheter, vous ne serez peut-être pas en mesure d'accéder à certains devoirs.

  • Lorsque vous vous inscrivez au cours, vous bénéficiez d'un accès à tous les cours de la Spécialisation, et vous obtenez un Certificat lorsque vous avez réussi. Votre Certificat électronique est alors ajouté à votre page Accomplissements. À partir de cette page, vous pouvez imprimer votre Certificat ou l'ajouter à votre profil LinkedIn. Si vous souhaitez seulement lire et visualiser le contenu du cours, vous pouvez accéder gratuitement au cours en tant qu'auditeur libre.

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

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