Informações sobre o curso
4.8
1,418 classificações
307 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 intermediário

Nível intermediário

Horas para completar

Aprox. 28 horas para completar

Sugerido: 6 weeks of study, 6-10 hours/week...
Idiomas disponíveis

Inglês

Legendas: Inglês...

Habilidades que você terá

Trees (Data Structures)Data StructureLinked ListBinary Tree
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 intermediário

Nível intermediário

Horas para completar

Aprox. 28 horas para completar

Sugerido: 6 weeks of study, 6-10 hours/week...
Idiomas disponíveis

Inglês

Legendas: Inglês...

Programa - O que você aprenderá com este curso

Semana
1
Horas para completar
3 horas para concluir

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....
Reading
7 vídeos (Total de 21 min), 9 leituras, 3 testes
Video7 videos
Welcome (Object Oriented Java Programming: Data Structures and Beyond Specialization)2min
Welcome (Object Oriented Programming in Java Specialization)2min
Your path through the course5min
Concept Challenges3min
In the Real World: Welcome from Google Engineers1min
Project Prototype6min
Reading9 leituras
A Customized Welcome to this Course10min
After completing this course, you will be able to...5min
Is this course right for me?10min
Up Next: A short surveymin
If you want more practice before you begin...10min
The structure of this course10min
Project Overview8min
Setting up Java and Eclipse20min
Getting and Working with the Starter Code30min
Quiz3 exercícios práticos
Pre-Course Quiz10min
Survey: Your goals for the course8min
Quiz about the Starter Code and Course Structure10min
Semana
2
Horas para completar
8 horas para concluir

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!...
Reading
15 vídeos (Total de 86 min), 6 leituras, 4 testes
Video15 videos
Project Overview2min
Core: Introduction to the Flesch Readability Score5min
Core: Basics of Strings in Java6min
Core: Working with Strings in Java8min
Support: For-Each Loops, part 1 of 51min
Support: For-Each Loops, part 2 of 54min
Support: For-Each Loops, part 3 of 54min
Support: For-Each Loops, part 4 of 59min
Support: For-Each Loops, part 5 of 52min
Core: Introduction to Regular Expressions10min
When I struggled: Regular expressions1min
Concept Challenge: Regular Expressions9min
Support: More with Regular Expressions8min
Project: Programming Assignment Walk Through9min
Reading6 leituras
A note about week numbers10min
By the end of this week, you will be able to...4min
Did you have trouble with any question(s) on the practice quiz?10min
Week 2: Additional Resources10min
Programming Assignment FAQ10min
Week 2: Congratulations and quiz answers10min
Quiz3 exercícios práticos
Where to next?2min
Strings and Regular Expressions15min
Module and Programming Assignment Quiz10min
Semana
3
Horas para completar
5 horas para concluir

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. ...
Reading
25 vídeos (Total de 145 min), 3 leituras, 5 testes
Video25 videos
Project Overview2min
In the Real World: Efficiency3min
Core: Our Motivation for Asymptotic Analysis8min
Core: Counting Operations9min
Core: Introduction to Asymptotic Analysis, Part 19min
Core: Introduction to Asymptotic Analysis, Part 23min
Core: Computing Big O with Consecutive Operations5min
Core: Computing Big O with Nested Operations5min
Concept Challenge: Classifying Functions using Big O7min
Support: Analyzing Selection Sort8min
Concept Challenge: Estimating Big O from Code6min
Core: Worst, Best, and Average Cases8min
In the Real World: Worst Case Analysis1min
Core: Analyzing Search Algorithms6min
Core: Analyzing Sorting Algorithms9min
When I struggled: Algorithm performance1min
Core: Merge Sort11min
Core: A Summary of Sorting4min
Core: Common Pitfalls in Asymptotic Analysis5min
Core: Introduction to Benchmarking6min
Core: Using Java Time3min
Core: Analyzing Timings7min
Concept Challenge: Relating Timing Data to Algorithm Analysis4min
Project: Week 3 Project Walk Through4min
Reading3 leituras
By the end of this week, you will be able to...5min
Week 3: Additional Resources10min
Week 3: Congratulations and quiz answers10min
Quiz4 exercícios práticos
Where to next?2min
Practice Quiz10min
Asymptotic Notation and Analysis5min
Module and After Programming Assignment Quiz20min
Semana
4
Horas para completar
10 horas para concluir

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....
Reading
26 vídeos (Total de 144 min), 3 leituras, 5 testes
Video26 videos
Project Overview3min
Core: Introduction to Abstraction6min
In the Real World: Data Abstraction5min
Core: Linked Lists vs. Arrays11min
In the Real World: Lists vs. Arrays1min
Core: Generics and Exceptions7min
Core: Java Code for a Linked List6min
Concept Challenge: Implementing linked lists, a first attempt10min
Concept Challenge: Drawing Linked Lists, second attempt6min
Support: Adding to a Linked List6min
When I struggled: Data structures1min
Core: Testing and Confidence6min
In the Real World: How can the compiler help with testing?min
Core: Testing Practices6min
In the Real World: How do you test the behavior of code?min
Support: JUnit in Eclipse5min
In the Real World: Unit Testing4min
Core: Testing Linked List's "Get" Method7min
Concept Challenge: Which Tests Should You Run?9min
In the Real World: Test-driven developmentmin
Project: Linked List Assignment Walk Through6min
When I struggled: confidence in codemin
Core: Markov Text Generation6min
Core: Implementing Markov Text Generation10min
Optional Project: Markov Text Generation Walk Through9min
Reading3 leituras
By the end of this week, you will be able to...5min
Week 4: Additional Resources10min
Week 4: Congratulations10min
Quiz3 exercícios práticos
Where to next?2min
Where to next?2min
Week 4 Reflective Programming Assignment Quiz10min
4.8
307 avaliaçõesChevron Right
Direcionamento de carreira

43%

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

83%

consegui um benefício significativo de carreira com este curso
Promoção de carreira

25%

recebi um aumento ou promoção

Melhores avaliações

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

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

Instrutores

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

Sobre University of California 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....

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.

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