About this Course
최근 조회 28,707

다음 전문 분야의 5개 강좌 중 4번째 강좌:

100% 온라인

지금 바로 시작해 나만의 일정에 따라 학습을 진행하세요.

유동적 마감일

일정에 따라 마감일을 재설정합니다.

초급 단계

완료하는 데 약 21시간 필요

권장: 4 weeks of study, 4-8 hours/week...

영어

자막: 영어, 한국어

귀하가 습득할 기술

Programming PrinciplesInterfacesSoftware DesignJava Programming

다음 전문 분야의 5개 강좌 중 4번째 강좌:

100% 온라인

지금 바로 시작해 나만의 일정에 따라 학습을 진행하세요.

유동적 마감일

일정에 따라 마감일을 재설정합니다.

초급 단계

완료하는 데 약 21시간 필요

권장: 4 weeks of study, 4-8 hours/week...

영어

자막: 영어, 한국어

강의 계획 - 이 강좌에서 배울 내용

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.

...
1 video (Total 4 min), 1 reading
1개의 동영상
1개의 읽기 자료
Programming Resources10m
완료하는 데 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.

...
11 videos (Total 57 min), 4 readings, 3 quizzes
11개의 동영상
Coding a Magnitude Filter10m
Coding the Closest Quakes12m
Summary2m
Introduction1m
Interfaces to Avoid Duplication6m
Interfaces in More Depth3m
MatchAll4m
Summary1m
4개의 읽기 자료
Module Learning Outcomes / Resources10m
Location class documentation and license resources10m
Programming Exercise: Searching Earthquake Data10m
Programming Exercise: Filtering Data10m
3개 연습문제
Searching Earthquake Data12m
Filtering Data10m
Earthquakes: Programming and Interfaces24m
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.

...
12 videos (Total 52 min), 3 readings, 3 quizzes
12개의 동영상
In Place8m
Efficiency4m
Summary47
Introduction5m
Comparable4m
Ordering Quakes by Magnitude7m
Comparator5m
Comparator for Distance from a Location5m
Summary32
3개의 읽기 자료
Module Learning Outcomes / Resources10m
Programming Exercise: Implementing Selection Sort10m
Programming Exercise: Sorting at Scale10m
3개 연습문제
Implementing Selection Sort10m
Sorting at Scale6m
Earthquakes: Sorting Algorithms16m
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.

...
15 videos (Total 95 min), 5 readings, 5 quizzes
15개의 동영상
Implementing Order-Two9m
Testing and Debugging7m
Interfaces and Abstract Classes9m
Summary2m
Introduction3m
Order-One Concepts6m
Order-One Helper Functions8m
WordGram Class4m
WordGram Class Implementation4m
Equals and HashCode Methods5m
Equals Method Implementation10m
Summary3m
5개의 읽기 자료
Module Learning Outcomes / Resources10m
Programming Exercise: Generating Random Text10m
Programming Exercise: Interface and Abstract Class10m
Programming Exercise: Word N-Grams10m
Programming Exercise: WordGram Class10m
5개 연습문제
Generating Random Text14m
Interface and Abstract Class8m
Word N-Grams6m
WordGram Class10m
N-Grams: Predictive Text20m
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.

...
13 videos (Total 42 min), 2 readings, 1 quiz
13개의 동영상
Editors8m
Summary53
Introduction1m
Understanding Exceptions4m
Handling Exceptions2m
Declaring Exceptions1m
Throwing Exceptions1m
Reading Files with Java.nio6m
Hello Around the World with Eclipse4m
Summary45
2개의 읽기 자료
Module Learning Outcomes / Resources10m
Where To Go From Here10m
1개 연습문제
Java: Tools and Libraries for Everyone18m
4.6
123개의 리뷰Chevron Right

38%

이 강좌를 수료한 후 새로운 경력 시작하기

38%

이 강좌를 통해 확실한 경력상 이점 얻기

17%

급여 인상 또는 승진하기

Java Programming: Principles of Software Design의 최상위 리뷰

대학: 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 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

자주 묻는 질문

  • 강좌에 등록하면 바로 모든 비디오, 테스트 및 프로그래밍 과제(해당하는 경우)에 접근할 수 있습니다. 상호 첨삭 과제는 이 세션이 시작된 경우에만 제출하고 검토할 수 있습니다. 강좌를 구매하지 않고 살펴보기만 하면 특정 과제에 접근하지 못할 수 있습니다.

  • 강좌를 등록하면 전문 분야의 모든 강좌에 접근할 수 있고 강좌를 완료하면 수료증을 취득할 수 있습니다. 전자 수료증이 성취도 페이지에 추가되며 해당 페이지에서 수료증을 인쇄하거나 LinkedIn 프로필에 수료증을 추가할 수 있습니다. 강좌 내용만 읽고 살펴보려면 해당 강좌를 무료로 청강할 수 있습니다.

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

궁금한 점이 더 있으신가요? 학습자 도움말 센터를 방문해 보세요.