课程信息
4.8
1,433 个评分
309 个审阅
专项课程
100% 在线

100% 在线

立即开始,按照自己的计划学习。
可灵活调整截止日期

可灵活调整截止日期

根据您的日程表重置截止日期。
中级

中级

完成时间(小时)

完成时间大约为28 小时

建议:6 weeks of study, 6-10 hours/week...
可选语言

英语(English)

字幕:英语(English)

您将获得的技能

Trees (Data Structures)Data StructureLinked ListBinary Tree
专项课程
100% 在线

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....
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 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分钟
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?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分钟
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
309 个审阅Chevron Right
职业方向

43%

完成这些课程后已开始新的职业生涯
工作福利

47%

通过此课程获得实实在在的工作福利
职业晋升

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

常见问题

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

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

还有其他问题吗?请访问 学生帮助中心