課程信息
52,998 次近期查看

100% 在線

立即開始,按照自己的計劃學習。

可靈活調整截止日期

根據您的日程表重置截止日期。

中級

完成時間大約為28 小時

建議:6 weeks of study, 6-10 hours/week...

英語(English)

字幕:英語(English), 韓語

您將獲得的技能

Trees (Data Structures)Data StructureLinked ListBinary Tree

100% 在線

立即開始,按照自己的計劃學習。

可靈活調整截止日期

根據您的日程表重置截止日期。

中級

完成時間大約為28 小時

建議:6 weeks of study, 6-10 hours/week...

英語(English)

字幕:英語(English), 韓語

教學大綱 - 您將從這門課程中學到什麼

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.

...
7 個視頻 (總計 21 分鐘), 9 個閱讀材料, 3 個測驗
7 個視頻
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分鐘
9 個閱讀材料
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 survey
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分鐘
3 個練習
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!

...
15 個視頻 (總計 86 分鐘), 6 個閱讀材料, 4 個測驗
15 個視頻
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分鐘
6 個閱讀材料
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分鐘
3 個練習
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.

...
25 個視頻 (總計 145 分鐘), 3 個閱讀材料, 5 個測驗
25 個視頻
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分鐘
3 個閱讀材料
By the end of this week, you will be able to...5分鐘
Week 3: Additional Resources10分鐘
Week 3: Congratulations and quiz answers10分鐘
4 個練習
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.

...
26 個視頻 (總計 144 分鐘), 3 個閱讀材料, 5 個測驗
26 個視頻
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?34
Core: Testing Practices6分鐘
In the Real World: How do you test the behavior of code?49
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 development52
Project: Linked List Assignment Walk Through6分鐘
When I struggled: confidence in code59
Core: Markov Text Generation6分鐘
Core: Implementing Markov Text Generation10分鐘
Optional Project: Markov Text Generation Walk Through9分鐘
3 個閱讀材料
By the end of this week, you will be able to...5分鐘
Week 4: Additional Resources10分鐘
Week 4: Congratulations10分鐘
3 個練習
Where to next?2分鐘
Where to next?2分鐘
Week 4 Reflective Programming Assignment Quiz10分鐘
4.8
325 個審閱Chevron Right

38%

完成這些課程後已開始新的職業生涯

38%

通過此課程獲得實實在在的工作福利

21%

加薪或升職

來自Data Structures and Performance的熱門評論

創建者 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

關於 加州大学圣地亚哥分校

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

常見問題

  • 注册以便获得证书后,您将有权访问所有视频、测验和编程作业(如果适用)。只有在您的班次开课之后,才可以提交和审阅同学互评作业。如果您选择在不购买的情况下浏览课程,可能无法访问某些作业。

  • 您注册课程后,将有权访问专项课程中的所有课程,并且会在完成课程后获得证书。您的电子课程证书将添加到您的成就页中,您可以通过该页打印您的课程证书或将其添加到您的领英档案中。如果您只想阅读和查看课程内容,可以免费旁听课程。

還有其他問題嗎?請訪問 學生幫助中心