À propos de ce cours
44,379 consultations récentes

100 % en ligne

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

Dates limites flexibles

Réinitialisez les dates limites selon votre disponibilité.

Niveau intermédiaire

Approx. 28 heures pour terminer

Recommandé : 6 weeks of study, 6-10 hours/week...

Anglais

Sous-titres : Anglais, Coréen

Compétences que vous acquerrez

Trees (Data Structures)Data StructureLinked ListBinary Tree

100 % en ligne

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

Dates limites flexibles

Réinitialisez les dates limites selon votre disponibilité.

Niveau intermédiaire

Approx. 28 heures pour terminer

Recommandé : 6 weeks of study, 6-10 hours/week...

Anglais

Sous-titres : Anglais, Coréen

Programme du cours : ce que vous apprendrez dans ce cours

Semaine
1
3 heures pour terminer

Introduction to the Course

Welcome to the first module in the second course of our Intermediate Java Programming Specialization. We'll start with introductions again: to ourselves, the Google engineers, and the structure of the course. After the introduction we'll have a short warm up to get you comfortable with the code you will be building on to this class. But don't worry--no graded programming assignments yet. This week is all about getting comfortable and excited to learn....
7 vidéos (Total 21 min), 9 lectures, 3 quiz
7 vidéos
Welcome (Object Oriented Java Programming: Data Structures and Beyond Specialization)2 min
Welcome (Object Oriented Programming in Java Specialization)2 min
Your path through the course5 min
Concept Challenges3 min
In the Real World: Welcome from Google Engineers1 min
Project Prototype6 min
9 lectures
A Customized Welcome to this Course10 min
After completing this course, you will be able to...5 min
Is this course right for me?10 min
Up Next: A short survey
If you want more practice before you begin...10 min
The structure of this course10 min
Project Overview8 min
Setting up Java and Eclipse20 min
Getting and Working with the Starter Code30 min
3 exercices pour s'entraîner
Pre-Course Quiz10 min
Survey: Your goals for the course8 min
Quiz about the Starter Code and Course Structure10 min
Semaine
2
8 heures pour terminer

Working with Strings

This week we're going to dive into the course programming project. In the first lesson you'll learn about Strings and Regular Expressions, and in the programming assignment this week you'll apply that knowledge to adding functionality to your text editor so that it can measure the "readability" of text by calculating something called the "Flesch Readability Score". This course is focused on building code that not only does interesting things, but also finishes them quickly. So, let's get started building some code!...
15 vidéos (Total 86 min), 6 lectures, 4 quiz
15 vidéos
Project Overview2 min
Core: Introduction to the Flesch Readability Score5 min
Core: Basics of Strings in Java6 min
Core: Working with Strings in Java8 min
Support: For-Each Loops, part 1 of 51 min
Support: For-Each Loops, part 2 of 54 min
Support: For-Each Loops, part 3 of 54 min
Support: For-Each Loops, part 4 of 59 min
Support: For-Each Loops, part 5 of 52 min
Core: Introduction to Regular Expressions10 min
When I struggled: Regular expressions1 min
Concept Challenge: Regular Expressions9 min
Support: More with Regular Expressions8 min
Project: Programming Assignment Walk Through9 min
6 lectures
A note about week numbers10 min
By the end of this week, you will be able to...4 min
Did you have trouble with any question(s) on the practice quiz?10 min
Week 2: Additional Resources10 min
Programming Assignment FAQ10 min
Week 2: Congratulations and quiz answers10 min
3 exercices pour s'entraîner
Where to next?2 min
Strings and Regular Expressions15 min
Module and Programming Assignment Quiz10 min
Semaine
3
5 heures pour terminer

Efficiency Analysis and Benchmarking

Welcome to week 3! The text-editor application you worked with last week does something, but it doesn't do it particularly fast. This week we'll start talking about efficiency. We'll introduce the concept of "Big-O" notation, which sounds a little silly, but is really a powerful (and extremely common) way of analyzing a program's efficiency, independent of the system that it's running on and the exact details of how it's implemented. Then we'll go the other direction and dive into the details, talking about how to measure the actual running time of a piece of code to get an idea of how it really performs in practice. ...
25 vidéos (Total 145 min), 3 lectures, 5 quiz
25 vidéos
Project Overview2 min
In the Real World: Efficiency3 min
Core: Our Motivation for Asymptotic Analysis8 min
Core: Counting Operations9 min
Core: Introduction to Asymptotic Analysis, Part 19 min
Core: Introduction to Asymptotic Analysis, Part 23 min
Core: Computing Big O with Consecutive Operations5 min
Core: Computing Big O with Nested Operations5 min
Concept Challenge: Classifying Functions using Big O7 min
Support: Analyzing Selection Sort8 min
Concept Challenge: Estimating Big O from Code6 min
Core: Worst, Best, and Average Cases8 min
In the Real World: Worst Case Analysis1 min
Core: Analyzing Search Algorithms6 min
Core: Analyzing Sorting Algorithms9 min
When I struggled: Algorithm performance1 min
Core: Merge Sort11 min
Core: A Summary of Sorting4 min
Core: Common Pitfalls in Asymptotic Analysis5 min
Core: Introduction to Benchmarking6 min
Core: Using Java Time3 min
Core: Analyzing Timings7 min
Concept Challenge: Relating Timing Data to Algorithm Analysis4 min
Project: Week 3 Project Walk Through4 min
3 lectures
By the end of this week, you will be able to...5 min
Week 3: Additional Resources10 min
Week 3: Congratulations and quiz answers10 min
4 exercices pour s'entraîner
Where to next?2 min
Practice Quiz10 min
Asymptotic Notation and Analysis5 min
Module and After Programming Assignment Quiz20 min
Semaine
4
10 heures pour terminer

Interfaces, Linked Lists vs. Arrays, and Correctness

This week we'll start talking about some of the basic concepts that one expects to find in a data structures course: the idea of data abstraction, and a data structure called a Linked List. Even though Linked Lists are not very efficient structures (for the most part), they do hit home the idea of "linking" pieces of data together in your computer's memory, rather than storing the data in one contiguous region. This linking idea will be central to many of the more advanced data structures, namely trees and graphs, that are coming up later in this course and in the next course in this specialization. In this module you'll also learn tools and procedures for unit testing your code, which is a way to make sure that what you've written is correct, and a staple practice of any sophisticated software developer....
26 vidéos (Total 144 min), 3 lectures, 5 quiz
26 vidéos
Project Overview3 min
Core: Introduction to Abstraction6 min
In the Real World: Data Abstraction5 min
Core: Linked Lists vs. Arrays11 min
In the Real World: Lists vs. Arrays1 min
Core: Generics and Exceptions7 min
Core: Java Code for a Linked List6 min
Concept Challenge: Implementing linked lists, a first attempt10 min
Concept Challenge: Drawing Linked Lists, second attempt6 min
Support: Adding to a Linked List6 min
When I struggled: Data structures1 min
Core: Testing and Confidence6 min
In the Real World: How can the compiler help with testing?34s
Core: Testing Practices6 min
In the Real World: How do you test the behavior of code?49s
Support: JUnit in Eclipse5 min
In the Real World: Unit Testing4 min
Core: Testing Linked List's "Get" Method7 min
Concept Challenge: Which Tests Should You Run?9 min
In the Real World: Test-driven development52s
Project: Linked List Assignment Walk Through6 min
When I struggled: confidence in code59s
Core: Markov Text Generation6 min
Core: Implementing Markov Text Generation10 min
Optional Project: Markov Text Generation Walk Through9 min
3 lectures
By the end of this week, you will be able to...5 min
Week 4: Additional Resources10 min
Week 4: Congratulations10 min
3 exercices pour s'entraîner
Where to next?2 min
Where to next?2 min
Week 4 Reflective Programming Assignment Quiz10 min
4.8
325 avisChevron Right

38%

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

38%

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

21%

a obtenu une augmentation de salaire ou une promotion

Meilleurs avis

par DBOct 13th 2017

Great into to Java, instructors have clearly put thought in to the format with the choose your own learning style videos, and additional coverage where it may be needed. These have been very helpful.

par SSDec 19th 2015

The course curriculum is well designed and teaches students the basic data structures needed to be a successful software engineer. The project is good, and the weekly assignments are challenging.

Enseignants

Avatar

Christine Alvarado

Associate Teaching Professor
Computer Science and Engineering
Avatar

Mia Minnes

Assistant Teaching Professor
Computer Science and Engineering
Avatar

Leo Porter

Assistant Teaching Professor
Computer Science and Engineering

À propos de Université de Californie à San Diego

UC San Diego is an academic powerhouse and economic engine, recognized as one of the top 10 public universities by U.S. News and World Report. Innovation is central to who we are and what we do. Here, students learn that knowledge isn't just acquired in the classroom—life is their laboratory....

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.

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