К содержимому
learnspaceYOUR NEXT CHAPTER
ПРОСТРАНСТВО ОБУЧЕНИЯ
ГлавнаяКаталог курсовМоё обучениеCoursera

Знания без границ

Учитесь у лучших университетов и компаний мира.

Открыть Coursera
Интеграция
Пространство университета
Моё пространствоСтраница курса
↵
ЯЛичный кабинетСтудент
© 2026 LearnSpaceКаждый день — возможность узнать больше.Помощь
Java Programming: Principles of Software Design · LearnSpace
Назад в каталог
courseraПрограммирование

Java Programming: Principles of Software Design

Курс от Duke University
Начальный≈ 12.9 чАнглийский
О курсеНавыкиПрограммаПреподаватели

О курсе

Solve real world problems with Java using multiple classes. Learn how to create programming solutions that scale using Java interfaces. Recognize that software engineering is more than writing code - it also involves logical thinking and design. By the end of this course you will have written a program that analyzes and sorts earthquake data, and developed a predictive text generator. After completing this course, you will be able to: 1. Use sorting appropriately in solving problems; 2. Develop classes that implement the Comparable interface; 3. Use timing data to analyze empirical performance; 4. Break problems into multiple classes, each with their own methods; 5. Determine if a class from the Java API can be used in solving a particular problem; 6. Implement programming solutions using multiple approaches and recognize tradeoffs; 7. Use object-oriented concepts including interfaces and abstract classes when developing programs; 8. Appropriately hide implementation decisions so they are not visible in public methods; and 9. Recognize the limitations of algorithms and Java programs in solving problems. 10. Recognize standard Java classes and idioms including exception-handling, static methods, java.net, and java.io packages.

Навыки, которые вы освоите

Java ProgrammingJavaDebuggingAlgorithmsMarkov ModelFile I/OComputer ProgrammingObject Oriented DesignSoftware EngineeringProgramming PrinciplesObject Oriented Programming (OOP)Application Programming Interface (API)Predictive ModelingPerformance TestingSoftware DesignPerformance TuningSoftware Development ToolsData Structures

Программа курса

5 модулей · 81 учебных материалов

01Welcome to the Course3 материалов

Introduction

Welcome!ВидеоProgramming ResourcesЧтениеReport a problem with the courseЧтение
02Earthquakes: Programming and Interfaces18 материалов

Searching Earthquake Data

Учитесь у экспертов

Robert Duvall

Lecturer

Owen Astrachan

Professor of the Practice

Andrew D. Hilton

Associate Professor of the Practice

Susan H. Rodger

Professor of the Practice

Java Programming: Principles of Software Design
В каталоге вашей программы

Инвестируйте в себя

Новые знания — в удобное для вас время.

Начать на Coursera

Обучение откроется на Coursera
в новой вкладке

Обучение на Coursera

≈ 12.9 ч

5 модулей

Язык: Английский

Субтитры: Арабский, Французский, Бенгальский, Узбекский, Украинский, Китайский (Китай), Греческий, Итальянский, Бразильский португальский, Вьетнамский, Нидерландский, Корейский, Немецкий, Пушту, Урду, Русский, Тайский, Индонезийский, Шведский, Турецкий, Азербайджанский, Испанский, Дари, Хинди, Японский, Казахский, Венгерский, Польский

Часть программы вашего университета
Module Learning Outcomes / ResourcesЧтение
IntroductionВидео
Relationships Between ClassesВидео
Licensing and APIsВидео
Location class documentation and license resourcesЧтение
Coding a Magnitude FilterВидео
Coding the Closest QuakesВидео
SummaryВидео
Programming Exercise: Searching Earthquake DataЧтение
Searching Earthquake DataЗадание

Filtering Data

IntroductionВидеоInterfaces to Avoid DuplicationВидеоInterfaces in More DepthВидеоMatchAllВидеоSummaryВидеоProgramming Exercise: Filtering DataЧтениеFiltering DataЗадание

Review

Earthquakes: Programming and InterfacesЗадание
03Earthquakes: Sorting Algorithms18 материалов

Implementing Selection Sort

Module Learning Outcomes / ResourcesЧтениеIntroductionВидеоDeveloping an AlgorithmВидеоTranslating to CodeВидеоIn PlaceВидеоEfficiencyВидеоSummaryВидеоProgramming Exercise: Implementing Selection SortЧтениеImplementing Selection SortЗадание

Sorting at Scale

IntroductionВидеоComparableВидеоOrdering Quakes by MagnitudeВидеоComparatorВидеоComparator for Distance from a LocationВидеоSummaryВидеоProgramming Exercise: Sorting at Scale

Review

Earthquakes: Sorting AlgorithmsЗадание
04N-Grams: Predictive Text25 материалов

Generating Random Text

Module Learning Outcomes / ResourcesЧтениеIntroductionВидеоOrder-Zero, Order-OneВидеоFinding Follow SetВидеоImplementing Order-TwoВидеоTesting and DebuggingВидеоProgramming Exercise: Generating Random TextЧтениеGenerating Random TextЗаданиеInterfaces and Abstract ClassesВидеоSummaryВидеоProgramming Exercise: Interface and Abstract ClassЧтениеInterface and Abstract ClassЗадание

Word N-Grams

IntroductionВидеоOrder-One ConceptsВидеоOrder-One Helper FunctionsВидеоProgramming Exercise: Word N-GramsЧтениеWord N-GramsЗаданиеWordGram ClassВидеоWordGram Class Implementation

Review

N-Grams: Predictive TextЗадание
05Java: Tools and Libraries for Everyone17 материалов

Using Java Beyond BlueJ

Module Learning Outcomes / ResourcesЧтениеMiscellaneous JavaВидеоMain MethodВидеоStaticВидеоEditorsВидеоSummaryВидео

Mainstream Java

IntroductionВидеоUnderstanding ExceptionsВидеоHandling ExceptionsВидеоDeclaring ExceptionsВидеоThrowing ExceptionsВидеоReading Files with Java.nioВидеоHello Around the World with EclipseВидеоSummaryВидеоWhere To Go From HereЧтение

Review

Java: Tools and Libraries for EveryoneЗаданиеShare your learning experienceЧтение
Чтение
Sorting at ScaleЗадание
Видео
Equals and HashCode MethodsВидео
Equals Method ImplementationВидео
SummaryВидео
Programming Exercise: WordGram ClassЧтение
WordGram ClassЗадание