课程信息
4.6
2,096 个评分
418 个审阅
Learn to code in Java and improve your programming and problem-solving skills. You will learn to design algorithms as well as develop and debug programs. Using custom open-source classes, you will write programs that access and transform images, websites, and other types of data. At the end of the course you will build a program that determines the popularity of different baby names in the US over time by analyzing comma separated value (CSV) files. After completing this course you will be able to: 1. Edit, compile, and run a Java program; 2. Use conditionals and loops in a Java program; 3. Use Java API documentation in writing programs. 4. Debug a Java program using the scientific method; 5. Write a Java method to solve a specific problem; 6. Develop a set of test cases as part of developing a program; 7. Create a class with multiple methods that work together to solve a problem; and 8. Use divide-and-conquer design techniques for a program that uses multiple methods....
Globe

100% 在线课程

立即开始,按照自己的计划学习。
Calendar

可灵活调整截止日期

根据您的日程表重置截止日期。
Beginner Level

初级

Clock

Approx. 22 hours to complete

建议:4 weeks of study, 4-8 hours/week...
Comment Dots

English

字幕:English, Turkish...

您将获得的技能

AlgorithmsProblem SolvingString (Computer Science)Java Programming
Globe

100% 在线课程

立即开始,按照自己的计划学习。
Calendar

可灵活调整截止日期

根据您的日程表重置截止日期。
Beginner Level

初级

Clock

Approx. 22 hours to complete

建议:4 weeks of study, 4-8 hours/week...
Comment Dots

English

字幕:English, Turkish...

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

Week
1
Clock
完成时间为 22 分钟

Introduction to the Course

Welcome to “Java Programming: Solving Problems with Software”! 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 get to meet the instructor team from Duke University and have an overview of the course. Have fun!...
Reading
5 个视频(共 12 分钟), 1 个阅读材料
Video5 个视频
Resources to Help You Succeed1分钟
Tips for Learning Programming1分钟
Using Forums: How to Ask for Help Effectively3分钟
Object Oriented Programming with Java Specialization2分钟
Reading1 个阅读材料
Programming Resources10分钟
Clock
完成时间为 5 小时

Fundamental Java Syntax and Semantics

In this module, you will learn to write and run your first Java programs, including one program that prints “Hello!” in various countries’ languages and another where you will analyze the perimeters and other information of shapes. To accomplish these tasks, you will learn the basics of Java syntax and how to design stepwise solutions with programs. By the end of this module, you will be able to: (1) Download and run BlueJ, the Java programming environment for this course; (2) Access the documentation for the Java libraries specially designed for this course; (3) Edit, compile, and run a Java program; (4) Construct methods, variables, if else statements, and for each loops in Java; and (5) Use Iterables (like DirectoryResource) to run a program that iterates over multiples lines in a document or webpage or multiple files in a directory....
Reading
17 个视频(共 76 分钟), 4 个阅读材料, 5 个测验
Video17 个视频
Using BlueJ to Program in Java6分钟
Shapes: Collections of Points2分钟
Why Semantics: Motivation to Read Code1分钟
Variables2分钟
Mathematical Operators2分钟
Functions4分钟
Conditionals3分钟
Classes4分钟
New4分钟
Methods5分钟
Types5分钟
For Each Loops7分钟
Solving Programming: A Seven Step Approach6分钟
Seven Steps in Action: Developing an Algorithm7分钟
Seven Steps in Action: Testing the Algorithm4分钟
Seven Steps in Action: Translating to Code5分钟
Reading4 个阅读材料
Module Learning Outcomes10分钟
Download BlueJ and Open Your First BlueJ Project10分钟
Let's learn some basic Java syntax!1分钟
Calculating the Perimeter of a Shape分钟
Quiz5 个练习
Getting Started with BlueJ10分钟
Variables and Mathematical Operators10分钟
Functions and Conditionals15分钟
Classes, Types, and For Each Loops30分钟
Calculating the Perimeter of a Shape30分钟
Week
2
Clock
完成时间为 4 小时

Strings in Java

This module begins with a short presentation from Raluca Gordân, an assistant professor in Duke University’s Center for Genomic and Computational Biology, about an important problem genomics scientists encounter regularly: how to identify genes in a strand of DNA. To tackle this problem, you will need to understand strings: series of characters such as letters, digits, punctuation, etc. After learning about Java methods that work with strings, you will be able to find genes within a DNA string as well as tackle other string related problems, such as finding all of the links in a web page. By the end of this module, you will be able to: (1) Use important methods for the Java String class; (2) Use conditionals, for loops, and while loops appropriately in a Java program; (3) Find patterns in the data represented by strings to help develop the algorithm for your program; (4) Understand the importance of designing programs that keep different data processing steps separate; (5) Use the StorageResource iterable for this course to store some data for further processing; and (6) Rely on Java documentation to better understand how to use different Java packages and classes....
Reading
21 个视频(共 122 分钟), 3 个阅读材料, 6 个测验
Video21 个视频
Understanding Strings3分钟
Developing an Algorithm5分钟
Positions in Strings8分钟
Translating into Code11分钟
Java Math8分钟
Introduction分钟
Conceptual Understanding4分钟
While Loops9分钟
While Loop Syntax and Semantics3分钟
Coding While Loops6分钟
Three Stop Codons5分钟
Coding Three Stop Codons - Part I7分钟
Coding Three Stop Codons - Part II4分钟
Logical And / Or8分钟
Coding And / Or6分钟
Finding Multiple Genes5分钟
Translating to Code8分钟
Separation of Concerns5分钟
StorageResource Class3分钟
Coding StorageResource Class4分钟
Reading3 个阅读材料
Programming Exercise: Finding a Gene and Web Links10分钟
Programming Exercise: Finding Many Genes10分钟
Programming Exercise: Storing All Genes10分钟
Quiz6 个练习
Finding a Gene in DNA12分钟
Finding All Genes in DNA8分钟
Debugging: Part 124分钟
Debugging: Part 222分钟
Using StorageResource12分钟
Strings in Java14分钟
Week
3
Clock
完成时间为 2 小时

CSV Files and Basic Statistics in Java

A common format for storing tabular data (any data organized into columns and rows) is in comma separated values (CSV) files. In this module, you will learn how to analyze and manipulate data from multiple CSV data files using a powerful open-source software package: Apache Commons CSV. Using this library will empower you to solve problems that could prove too complex to solve with a spreadsheet. By the end of this module, you will be able to: (1) Use the open-source Apache Commons CSV package in your own Java programs; (2) Access data from one or many CSV files using Java; (3) Convert strings into numbers; (4) Understand how to use “null” in Java programs (when you want to represent “nothing”); (5) Devise an algorithm (and implement in Java) to answer questions about CSV data; and (6) Analyze CSV data across multiple CSV files (for example, find maximums, minimums, averages, and other simple statistical results)....
Reading
14 个视频(共 56 分钟), 3 个阅读材料, 3 个测验
Video14 个视频
Using CSV Libraries7分钟
Which Countries Export...? Developing an Algorithm4分钟
Which Countries Export...? Translating into Code5分钟
CSVExport: Summary分钟
Hottest Day in a Year: Comma Separated Values2分钟
Converting Strings to Numbers4分钟
Maximum Temperature: Developing an Algorithm5分钟
Java for Nothing—null: When You Don't Have an Object4分钟
Maximum Temperature: Translating into Code4分钟
Maximum Temperature: Testing Code3分钟
Maximum Temperature from Multiple Datasets5分钟
Maximum Temperature Refactored4分钟
CSVMax: Summary分钟
Reading3 个阅读材料
Module Learning Outcomes10分钟
Programming Exercise: Parsing Export Data10分钟
Programming Exercise: Parsing Weather Data10分钟
Quiz3 个练习
Which Countries Export...?12分钟
Weather Data18分钟
CSV Files and Basic Statistics in Java22分钟
Week
4
Clock
完成时间为 2 小时

MiniProject: Baby Names

This module wraps up the course with a mini project that ties together the different practices, skills, and libraries you have gained across the course! Using data on the popularity of different baby names in the United States from the past several decades, you will be able to compare different names’ popularity over time. While the data we have collected for this course is from the United States, we welcome you to share data from other countries in the course discussion forums. Good luck with the mini project!...
Reading
9 个视频(共 47 分钟), 3 个阅读材料, 2 个测验
Video9 个视频
Baby Names MiniProject: Data Overview6分钟
Baby Names MiniProject: Total Births7分钟
Batch Grayscale: Converting Many Files2分钟
Grayscale Algorithm: Seven Step Approach4分钟
Image Iterable in BlueJ: Grayscale5分钟
Batch Processing Grayscale3分钟
Saving Images with New Names11分钟
Batch Grayscale Summary: Converting Many Files1分钟
Reading3 个阅读材料
MiniProject Exercise Guide10分钟
Extend Your Program10分钟
Programming Exercise: Batch Grayscale and Image Inversion10分钟
Quiz2 个练习
Baby Names28分钟
Batch Grayscale Images12分钟
4.6
Direction Signs

31%

完成这些课程后已开始新的职业生涯
Briefcase

83%

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

热门审阅

创建者 FAOct 8th 2017

Excellent explanations and amount of course work for practice, the tests made good use of the examples and work given, I am satisfied with what I learned in this course and see it's real world usage.

创建者 CCMar 29th 2018

Great course, it does help to have some background knowledge in another language but it is doable without any. goes through some fun projects but also some work usable items such as CSV parsing.

讲师

Owen Astrachan

Professor of the Practice
Computer Science

Robert Duvall

Lecturer
Computer Science

Andrew D. Hilton

Associate Professor of the Practice
Electrical and Computer Engineering

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

关于 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

常见问题

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

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

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

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