課程信息
4.6
666 個評分
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分鐘
Summary分鐘
Introduction5分鐘
Comparable4分鐘
Ordering Quakes by Magnitude7分鐘
Comparator5分鐘
Comparator for Distance from a Location5分鐘
Summary分鐘
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分鐘
Summary分鐘
Introduction1分鐘
Understanding Exceptions4分鐘
Handling Exceptions2分鐘
Declaring Exceptions1分鐘
Throwing Exceptions1分鐘
Reading Files with Java.nio6分鐘
Hello Around the World with Eclipse4分鐘
Summary分鐘
Reading2 個閱讀材料
Module Learning Outcomes / Resources10分鐘
Where To Go From Here10分鐘
Quiz1 個練習
Java: Tools and Libraries for Everyone18分鐘
4.6
110 個審閱Chevron Right
職業方向

60%

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

83%

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

熱門審閱

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

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

講師

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.

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