Acerca de este Curso
4.8
1,418 calificaciones
307 revisiones
100 % en línea

100 % en línea

Comienza de inmediato y aprende a tu propio ritmo.
Fechas límite flexibles

Fechas límite flexibles

Restablece las fechas límite en función de tus horarios.
Nivel intermedio

Nivel intermedio

Horas para completar

Aprox. 28 horas para completar

Sugerido: 6 weeks of study, 6-10 hours/week...
Idiomas disponibles

Inglés (English)

Subtítulos: Inglés (English)...

Habilidades que obtendrás

Trees (Data Structures)Data StructureLinked ListBinary Tree
100 % en línea

100 % en línea

Comienza de inmediato y aprende a tu propio ritmo.
Fechas límite flexibles

Fechas límite flexibles

Restablece las fechas límite en función de tus horarios.
Nivel intermedio

Nivel intermedio

Horas para completar

Aprox. 28 horas para completar

Sugerido: 6 weeks of study, 6-10 hours/week...
Idiomas disponibles

Inglés (English)

Subtítulos: Inglés (English)...

Programa - Qué aprenderás en este curso

Semana
1
Horas para completar
3 horas para completar

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 videos (Total: 21 min), 9 readings, 3 quizzes
Video7 videos
Welcome (Object Oriented Java Programming: Data Structures and Beyond Specialization)2m
Welcome (Object Oriented Programming in Java Specialization)2m
Your path through the course5m
Concept Challenges3m
In the Real World: Welcome from Google Engineers1m
Project Prototype6m
Reading9 lecturas
A Customized Welcome to this Course10m
After completing this course, you will be able to...5m
Is this course right for me?10m
Up Next: A short surveym
If you want more practice before you begin...10m
The structure of this course10m
Project Overview8m
Setting up Java and Eclipse20m
Getting and Working with the Starter Code30m
Quiz3 ejercicios de práctica
Pre-Course Quiz10m
Survey: Your goals for the course8m
Quiz about the Starter Code and Course Structure10m
Semana
2
Horas para completar
8 horas para completar

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 videos (Total: 86 min), 6 readings, 4 quizzes
Video15 videos
Project Overview2m
Core: Introduction to the Flesch Readability Score5m
Core: Basics of Strings in Java6m
Core: Working with Strings in Java8m
Support: For-Each Loops, part 1 of 51m
Support: For-Each Loops, part 2 of 54m
Support: For-Each Loops, part 3 of 54m
Support: For-Each Loops, part 4 of 59m
Support: For-Each Loops, part 5 of 52m
Core: Introduction to Regular Expressions10m
When I struggled: Regular expressions1m
Concept Challenge: Regular Expressions9m
Support: More with Regular Expressions8m
Project: Programming Assignment Walk Through9m
Reading6 lecturas
A note about week numbers10m
By the end of this week, you will be able to...4m
Did you have trouble with any question(s) on the practice quiz?10m
Week 2: Additional Resources10m
Programming Assignment FAQ10m
Week 2: Congratulations and quiz answers10m
Quiz3 ejercicios de práctica
Where to next?2m
Strings and Regular Expressions15m
Module and Programming Assignment Quiz10m
Semana
3
Horas para completar
5 horas para completar

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 videos (Total: 145 min), 3 readings, 5 quizzes
Video25 videos
Project Overview2m
In the Real World: Efficiency3m
Core: Our Motivation for Asymptotic Analysis8m
Core: Counting Operations9m
Core: Introduction to Asymptotic Analysis, Part 19m
Core: Introduction to Asymptotic Analysis, Part 23m
Core: Computing Big O with Consecutive Operations5m
Core: Computing Big O with Nested Operations5m
Concept Challenge: Classifying Functions using Big O7m
Support: Analyzing Selection Sort8m
Concept Challenge: Estimating Big O from Code6m
Core: Worst, Best, and Average Cases8m
In the Real World: Worst Case Analysis1m
Core: Analyzing Search Algorithms6m
Core: Analyzing Sorting Algorithms9m
When I struggled: Algorithm performance1m
Core: Merge Sort11m
Core: A Summary of Sorting4m
Core: Common Pitfalls in Asymptotic Analysis5m
Core: Introduction to Benchmarking6m
Core: Using Java Time3m
Core: Analyzing Timings7m
Concept Challenge: Relating Timing Data to Algorithm Analysis4m
Project: Week 3 Project Walk Through4m
Reading3 lecturas
By the end of this week, you will be able to...5m
Week 3: Additional Resources10m
Week 3: Congratulations and quiz answers10m
Quiz4 ejercicios de práctica
Where to next?2m
Practice Quiz10m
Asymptotic Notation and Analysis5m
Module and After Programming Assignment Quiz20m
Semana
4
Horas para completar
10 horas para completar

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 videos (Total: 144 min), 3 readings, 5 quizzes
Video26 videos
Project Overview3m
Core: Introduction to Abstraction6m
In the Real World: Data Abstraction5m
Core: Linked Lists vs. Arrays11m
In the Real World: Lists vs. Arrays1m
Core: Generics and Exceptions7m
Core: Java Code for a Linked List6m
Concept Challenge: Implementing linked lists, a first attempt10m
Concept Challenge: Drawing Linked Lists, second attempt6m
Support: Adding to a Linked List6m
When I struggled: Data structures1m
Core: Testing and Confidence6m
In the Real World: How can the compiler help with testing?m
Core: Testing Practices6m
In the Real World: How do you test the behavior of code?m
Support: JUnit in Eclipse5m
In the Real World: Unit Testing4m
Core: Testing Linked List's "Get" Method7m
Concept Challenge: Which Tests Should You Run?9m
In the Real World: Test-driven developmentm
Project: Linked List Assignment Walk Through6m
When I struggled: confidence in codem
Core: Markov Text Generation6m
Core: Implementing Markov Text Generation10m
Optional Project: Markov Text Generation Walk Through9m
Reading3 lecturas
By the end of this week, you will be able to...5m
Week 4: Additional Resources10m
Week 4: Congratulations10m
Quiz3 ejercicios de práctica
Where to next?2m
Where to next?2m
Week 4 Reflective Programming Assignment Quiz10m
4.8
Dirección de la carrera

43%

comenzó una nueva carrera después de completar estos cursos
Beneficio de la carrera

83%

consiguió un beneficio tangible en su carrera profesional gracias a este curso
Promoción de la carrera

25%

consiguió un aumento de sueldo o ascenso

Principales revisiones

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.

Instructores

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

Acerca de 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....

Acerca del programa especializado 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

Preguntas Frecuentes

  • Una vez que te inscribes para obtener un Certificado, tendrás acceso a todos los videos, cuestionarios y tareas de programación (si corresponde). Las tareas calificadas por compañeros solo pueden enviarse y revisarse una vez que haya comenzado tu sesión. Si eliges explorar el curso sin comprarlo, es posible que no puedas acceder a determinadas tareas.

  • Cuando te inscribes en un curso, obtienes acceso a todos los cursos que forman parte del Programa especializado y te darán un Certificado cuando completes el trabajo. Se añadirá tu Certificado electrónico a la página Logros. Desde allí, puedes imprimir tu Certificado o añadirlo a tu perfil de LinkedIn. Si solo quieres leer y visualizar el contenido del curso, puedes auditar el curso sin costo.

¿Tienes más preguntas? Visita el Centro de Ayuda al Alumno.