Об этом курсе
4.8
Оценки: 1,430
Рецензии: 309
Специализация
100% онлайн

100% онлайн

Начните сейчас и учитесь по собственному графику.
Гибкие сроки

Гибкие сроки

Назначьте сроки сдачи в соответствии со своим графиком.
Промежуточный уровень

Промежуточный уровень

Часов на завершение

Прибл. 28 часа на выполнение

Предполагаемая нагрузка: 6 weeks of study, 6-10 hours/week...
Доступные языки

Английский

Субтитры: Английский

Приобретаемые навыки

Trees (Data Structures)Data StructureLinked ListBinary Tree
Специализация
100% онлайн

100% онлайн

Начните сейчас и учитесь по собственному графику.
Гибкие сроки

Гибкие сроки

Назначьте сроки сдачи в соответствии со своим графиком.
Промежуточный уровень

Промежуточный уровень

Часов на завершение

Прибл. 28 часа на выполнение

Предполагаемая нагрузка: 6 weeks of study, 6-10 hours/week...
Доступные языки

Английский

Субтитры: Английский

Программа курса: что вы изучите

Неделя
1
Часов на завершение
3 ч. на завершение

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 видео ((всего 21 мин.)), 9 материалов для самостоятельного изучения, 3 тестов
Video7 видео
Welcome (Object Oriented Java Programming: Data Structures and Beyond Specialization)2мин
Welcome (Object Oriented Programming in Java Specialization)2мин
Your path through the course5мин
Concept Challenges3мин
In the Real World: Welcome from Google Engineers1мин
Project Prototype6мин
Reading9 материала для самостоятельного изучения
A Customized Welcome to this Course10мин
After completing this course, you will be able to...5мин
Is this course right for me?10мин
Up Next: A short survey0
If you want more practice before you begin...10мин
The structure of this course10мин
Project Overview8мин
Setting up Java and Eclipse20мин
Getting and Working with the Starter Code30мин
Quiz3 практического упражнения
Pre-Course Quiz10мин
Survey: Your goals for the course8мин
Quiz about the Starter Code and Course Structure10мин
Неделя
2
Часов на завершение
8 ч. на завершение

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 видео ((всего 86 мин.)), 6 материалов для самостоятельного изучения, 4 тестов
Video15 видео
Project Overview2мин
Core: Introduction to the Flesch Readability Score5мин
Core: Basics of Strings in Java6мин
Core: Working with Strings in Java8мин
Support: For-Each Loops, part 1 of 51мин
Support: For-Each Loops, part 2 of 54мин
Support: For-Each Loops, part 3 of 54мин
Support: For-Each Loops, part 4 of 59мин
Support: For-Each Loops, part 5 of 52мин
Core: Introduction to Regular Expressions10мин
When I struggled: Regular expressions1мин
Concept Challenge: Regular Expressions9мин
Support: More with Regular Expressions8мин
Project: Programming Assignment Walk Through9мин
Reading6 материала для самостоятельного изучения
A note about week numbers10мин
By the end of this week, you will be able to...4мин
Did you have trouble with any question(s) on the practice quiz?10мин
Week 2: Additional Resources10мин
Programming Assignment FAQ10мин
Week 2: Congratulations and quiz answers10мин
Quiz3 практического упражнения
Where to next?2мин
Strings and Regular Expressions15мин
Module and Programming Assignment Quiz10мин
Неделя
3
Часов на завершение
5 ч. на завершение

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 видео ((всего 145 мин.)), 3 материалов для самостоятельного изучения, 5 тестов
Video25 видео
Project Overview2мин
In the Real World: Efficiency3мин
Core: Our Motivation for Asymptotic Analysis8мин
Core: Counting Operations9мин
Core: Introduction to Asymptotic Analysis, Part 19мин
Core: Introduction to Asymptotic Analysis, Part 23мин
Core: Computing Big O with Consecutive Operations5мин
Core: Computing Big O with Nested Operations5мин
Concept Challenge: Classifying Functions using Big O7мин
Support: Analyzing Selection Sort8мин
Concept Challenge: Estimating Big O from Code6мин
Core: Worst, Best, and Average Cases8мин
In the Real World: Worst Case Analysis1мин
Core: Analyzing Search Algorithms6мин
Core: Analyzing Sorting Algorithms9мин
When I struggled: Algorithm performance1мин
Core: Merge Sort11мин
Core: A Summary of Sorting4мин
Core: Common Pitfalls in Asymptotic Analysis5мин
Core: Introduction to Benchmarking6мин
Core: Using Java Time3мин
Core: Analyzing Timings7мин
Concept Challenge: Relating Timing Data to Algorithm Analysis4мин
Project: Week 3 Project Walk Through4мин
Reading3 материала для самостоятельного изучения
By the end of this week, you will be able to...5мин
Week 3: Additional Resources10мин
Week 3: Congratulations and quiz answers10мин
Quiz4 практического упражнения
Where to next?2мин
Practice Quiz10мин
Asymptotic Notation and Analysis5мин
Module and After Programming Assignment Quiz20мин
Неделя
4
Часов на завершение
10 ч. на завершение

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 видео ((всего 144 мин.)), 3 материалов для самостоятельного изучения, 5 тестов
Video26 видео
Project Overview3мин
Core: Introduction to Abstraction6мин
In the Real World: Data Abstraction5мин
Core: Linked Lists vs. Arrays11мин
In the Real World: Lists vs. Arrays1мин
Core: Generics and Exceptions7мин
Core: Java Code for a Linked List6мин
Concept Challenge: Implementing linked lists, a first attempt10мин
Concept Challenge: Drawing Linked Lists, second attempt6мин
Support: Adding to a Linked List6мин
When I struggled: Data structures1мин
Core: Testing and Confidence6мин
In the Real World: How can the compiler help with testing?мин
Core: Testing Practices6мин
In the Real World: How do you test the behavior of code?мин
Support: JUnit in Eclipse5мин
In the Real World: Unit Testing4мин
Core: Testing Linked List's "Get" Method7мин
Concept Challenge: Which Tests Should You Run?9мин
In the Real World: Test-driven developmentмин
Project: Linked List Assignment Walk Through6мин
When I struggled: confidence in codeмин
Core: Markov Text Generation6мин
Core: Implementing Markov Text Generation10мин
Optional Project: Markov Text Generation Walk Through9мин
Reading3 материала для самостоятельного изучения
By the end of this week, you will be able to...5мин
Week 4: Additional Resources10мин
Week 4: Congratulations10мин
Quiz3 практического упражнения
Where to next?2мин
Where to next?2мин
Week 4 Reflective Programming Assignment Quiz10мин
4.8
Рецензии: 309Chevron Right
Формирование карьерного пути

43%

начал новую карьеру, пройдя эти курсы
Карьерные преимущества

83%

получил значимые преимущества в карьере благодаря этому курсу
Продвижение по карьерной лестнице

25%

стал больше зарабатывать или получил повышение

Лучшие рецензии

автор: 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.

автор: 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.

Преподавателя

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

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

О специализации ''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

Часто задаваемые вопросы

  • Зарегистрировавшись на сертификацию, вы получите доступ ко всем видео, тестам и заданиям по программированию (если они предусмотрены). Задания по взаимной оценке сокурсниками можно сдавать и проверять только после начала сессии. Если вы проходите курс без оплаты, некоторые задания могут быть недоступны.

  • Записавшись на курс, вы получите доступ ко всем курсам в специализации, а также возможность получить сертификат о его прохождении. После успешного прохождения курса на странице ваших достижений появится электронный сертификат. Оттуда его можно распечатать или прикрепить к профилю LinkedIn. Просто ознакомиться с содержанием курса можно бесплатно.

Остались вопросы? Посетите Центр поддержки учащихся.