课程信息
4.6
668 个评分
110 个审阅
100% 在线

100% 在线

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

可灵活调整截止日期

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

初级

完成时间(小时)

完成时间大约为20 小时

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

英语(English)

字幕:英语(English), 韩语

您将获得的技能

Programming PrinciplesInterfacesSoftware DesignJava Programming
100% 在线

100% 在线

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

可灵活调整截止日期

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

初级

完成时间(小时)

完成时间大约为20 小时

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

英语(English)

字幕:英语(English), 韩语

教学大纲 - 您将从这门课程中学到什么

1
完成时间(小时)
完成时间为 14 分钟

Welcome to the Course

Welcome to “Java Programming: Principles of Software Design”! We are excited that you are starting our course to learn how to write programs in Java, one of the most popular programming languages in the world. In this introductory module, you will hear an overview of this course and be introduced to the supporting resources available....
Reading
1 个视频 (总计 4 分钟), 1 个阅读材料
Video1 个视频
Welcome!4分钟
Reading1 个阅读材料
Programming Resources10分钟
完成时间(小时)
完成时间为 2 小时

Earthquakes: Programming and Interfaces

In this module, we will introduce a data set containing details about earthquakes around the world. You will learn how to pull this data into a program, search through the data, and filter the data based on desired criteria. By the end of this module, you will be able to (1) write programs that include multiple classes and ArrayLists of class types, (2) find the maximum value in an ArrayList, (3) use a Filter interface to search through data, (4) implement interfaces with method signatures, and (5) combine several filters together....
Reading
11 个视频 (总计 57 分钟), 4 个阅读材料, 3 个测验
Video11 个视频
Relationships Between Classes4分钟
Licensing and APIs3分钟
Coding a Magnitude Filter10分钟
Coding the Closest Quakes12分钟
Summary2分钟
Introduction1分钟
Interfaces to Avoid Duplication6分钟
Interfaces in More Depth3分钟
MatchAll4分钟
Summary1分钟
Reading4 个阅读材料
Module Learning Outcomes / Resources10分钟
Location class documentation and license resources10分钟
Programming Exercise: Searching Earthquake Data10分钟
Programming Exercise: Filtering Data10分钟
Quiz3 个练习
Searching Earthquake Data12分钟
Filtering Data10分钟
Earthquakes: Programming and Interfaces24分钟
2
完成时间(小时)
完成时间为 2 小时

Earthquakes: Sorting Algorithms

In this module, you will continue using real earthquake data to explore several sorting algorithms. You will learn how to implement a selection sort and a bubble sort, then be introduced to a Java method Collections.sort, which sorts with much greater efficiency. By the end of this module, you will be able to (1) implement several sorting algorithms from scratch, (2) use efficient pre-existing sorting classes, (3) modify a class’s compareTo method to choose the criteria by which objects of that type are ordered, and (4) write classes that implement the Comparator interface to create interchangeable sorting criteria....
Reading
12 个视频 (总计 52 分钟), 3 个阅读材料, 3 个测验
Video12 个视频
Developing an Algorithm4分钟
Translating to Code3分钟
In Place8分钟
Efficiency4分钟
Summary47s
Introduction5分钟
Comparable4分钟
Ordering Quakes by Magnitude7分钟
Comparator5分钟
Comparator for Distance from a Location5分钟
Summary32s
Reading3 个阅读材料
Module Learning Outcomes / Resources10分钟
Programming Exercise: Implementing Selection Sort10分钟
Programming Exercise: Sorting at Scale10分钟
Quiz3 个练习
Implementing Selection Sort10分钟
Sorting at Scale6分钟
Earthquakes: Sorting Algorithms16分钟
3
完成时间(小时)
完成时间为 3 小时

N-Grams: Predictive Text

In this module, you will explore some of the underlying concepts of predictive text. The first lesson will introduce random character generation and then how to train the character selection based on an input text. The second lesson will extend this concept to complete words. By the end of this module, you will be able to: (1) base random text generation on the frequency of characters in a training text, (2) collect a set of characters that occur in a text after randomly chosen initial character(s) to create a semi-random text, (3) extend the predictive text generation to use whole words, and (4) implement your own .equals method to compare complex data types....
Reading
15 个视频 (总计 95 分钟), 5 个阅读材料, 5 个测验
Video15 个视频
Order-Zero, Order-One6分钟
Finding Follow Set7分钟
Implementing Order-Two9分钟
Testing and Debugging7分钟
Interfaces and Abstract Classes9分钟
Summary2分钟
Introduction3分钟
Order-One Concepts6分钟
Order-One Helper Functions8分钟
WordGram Class4分钟
WordGram Class Implementation4分钟
Equals and HashCode Methods5分钟
Equals Method Implementation10分钟
Summary3分钟
Reading5 个阅读材料
Module Learning Outcomes / Resources10分钟
Programming Exercise: Generating Random Text10分钟
Programming Exercise: Interface and Abstract Class10分钟
Programming Exercise: Word N-Grams10分钟
Programming Exercise: WordGram Class10分钟
Quiz5 个练习
Generating Random Text14分钟
Interface and Abstract Class8分钟
Word N-Grams6分钟
WordGram Class10分钟
N-Grams: Predictive Text20分钟
4
完成时间(小时)
完成时间为 1 小时

Java: Tools and Libraries for Everyone

As you reach the end of this series, you may wish to extend your Java experience to tools beyond those provided here. This module will cover some of the Java basic information that is needed to program without BlueJ or the edu.duke library. After completing this module, you will be able to: (1) write a main method to start a Java program in any programming environment, (2) use the “static” keyword to modify fields, (3) find alternative editors to use with Java, (4) use exceptions to debug your program and make it more robust, and (5) reference Java libraries that are necessary to read files without the edu.duke library. ...
Reading
13 个视频 (总计 42 分钟), 2 个阅读材料, 1 个测验
Video13 个视频
Main Method3分钟
Static4分钟
Editors8分钟
Summary53s
Introduction1分钟
Understanding Exceptions4分钟
Handling Exceptions2分钟
Declaring Exceptions1分钟
Throwing Exceptions1分钟
Reading Files with Java.nio6分钟
Hello Around the World with Eclipse4分钟
Summary45s
Reading2 个阅读材料
Module Learning Outcomes / Resources10分钟
Where To Go From Here10分钟
Quiz1 个练习
Java: Tools and Libraries for Everyone18分钟
4.6
110 个审阅Chevron Right
职业方向

60%

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

38%

通过此课程获得实实在在的工作福利

热门审阅

创建者 NSJun 16th 2016

Like all the modules of this Java specialization, the teachers are very good and the course reaches the objective of teaching the fundamentals of software design with an excellent didactic.

创建者 MNFeb 26th 2017

This nicely packaged course is learner centered. It engages the learner by enforcing practice through interesting exercises and quizzes. Kudos and Thumbs up to the team of great instructors

讲师

Avatar

Robert Duvall

Lecturer
Computer Science
Avatar

Owen Astrachan

Professor of the Practice
Computer Science
Avatar

Andrew D. Hilton

Associate Professor of the Practice
Electrical and Computer Engineering
Avatar

Susan H. Rodger

Professor of the Practice
Computer Science

关于 Duke University

Duke University has about 13,000 undergraduate and graduate students and a world-class faculty helping to expand the frontiers of knowledge. The university has a strong commitment to applying knowledge in service to society, both near its North Carolina campus and around the world....

关于 Java Programming and Software Engineering Fundamentals 专项课程

Take your first step towards a career in software development with this introduction to Java—one of the most in-demand programming languages and the foundation of the Android operating system. Designed for beginners, this Specialization will teach you core programming concepts and equip you to write programs to solve complex problems. In addition, you will gain the foundational skills a software engineer needs to solve real-world problems, from designing algorithms to testing and debugging your programs....
Java Programming and Software Engineering Fundamentals

常见问题

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

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

  • No. Completion of a Coursera course does not earn you academic credit from Duke; therefore, Duke is not able to provide you with a university transcript. However, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.

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