课程信息
4.7
1,127 个评分
202 个审阅
专项课程
100% 在线

100% 在线

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

可灵活调整截止日期

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

初级

完成时间(小时)

完成时间大约为24 小时

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

英语(English)

字幕:英语(English), 韩语

您将获得的技能

Data StructureCryptographyHash TableJava Programming
专项课程
100% 在线

100% 在线

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

可灵活调整截止日期

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

初级

完成时间(小时)

完成时间大约为24 小时

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

英语(English)

字幕:英语(English), 韩语

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

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

Welcome

Welcome to “Java Programming: Arrays, Lists, and Structured Data”! 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 个视频 (总计 3 分钟), 1 个阅读材料
Video1 个视频
Welcome3分钟
Reading1 个阅读材料
Programming Resources10分钟
完成时间(小时)
完成时间为 4 小时

Cryptography: Keeping Information Secret

In this module, you will learn about the basics of cryptography, the science of keeping information private and secure. You will learn about simpler cryptographic systems, which were used from the Roman Empire through the early 1900s. You will learn how to implement these ciphers, as well as how to break them. To solve these problems, you will work more with processing Strings, but also learn about arrays—a way to store an indexable sequence of elements. You will be able to: (1) combine Strings using concatenation; (2) build Strings within a Java program using StringBuilder; (3) use arrays to store and manipulate collections of data; (4) refactor your programs for improved organization using object-oriented principles; (5) and practice effective algorithm design....
Reading
21 个视频 (总计 111 分钟), 5 个阅读材料, 4 个测验
Video21 个视频
Introduction5分钟
Creating and Manipulating Strings5分钟
Counting Loops9分钟
Character Class5分钟
Developing an Algorithm5分钟
Translating into Code4分钟
Testing and Debugging1分钟
Summary分钟
Introduction5分钟
Arrays9分钟
Random Numbers and Arrays11分钟
Counting with Arrays10分钟
Developing an Algorithm5分钟
Summary3分钟
Introduction2分钟
Rewriting with Encapsulation3分钟
Fields6分钟
Visibility4分钟
Constructors3分钟
Summary分钟
Reading5 个阅读材料
Module Learning Outcomes / Resources10分钟
Programming Exercise: Implementing the Caesar Cipher10分钟
Programming Exercise: Breaking the Caesar Cipher10分钟
Programming Exercise: Object Oriented Caesar Cipher10分钟
End of Module Survey10分钟
Quiz4 个练习
Implementing the Caesar Cipher12分钟
Breaking the Caesar Cipher22分钟
Object Oriented Caesar Cipher8分钟
Cryptography28分钟
2
完成时间(小时)
完成时间为 3 小时

GladLibs: Stories from Templates

After completing this module, you will be able (1) to program a word frequency counter to analyze any input text file, (2) to select and substitute words from a list into a document template using both ArrayList and HashMap, (3) to create new lists to use in templates, (4) to recognize brittle code, and (5) to improve code with flexible, object-oriented design. You will gain these skills in the framework of developing a randomly generated story that we call GladLibs. You may discover that bald lions change peoples’ lives, or that fluffy dinosaurs get things done in a jiffy. We hope you have fun developing your Java skills this week!...
Reading
13 个视频 (总计 72 分钟), 4 个阅读材料, 3 个测验
Video13 个视频
High-level Design Concepts5分钟
ArrayList6分钟
ArrayList for Unique Words7分钟
ArrayList Advantages and Issues7分钟
Summary3分钟
Introduction7分钟
Brittle Code3分钟
Adding New Labels4分钟
HashMap7分钟
HashMap for Unique Words4分钟
HashMap for Flexible Design7分钟
Summary3分钟
Reading4 个阅读材料
Module Learning Outcomes / Resources10分钟
Programming Exercise: Telling a Random Story10分钟
Programming Exercise: Using GladLibs10分钟
Programming Exercise: Improving GladLibs10分钟
Quiz3 个练习
Telling a Random Story12分钟
Using and Improving GladLibs20分钟
GladLibs38分钟
3
完成时间(小时)
完成时间为 2 小时

Web Server Logs: From Logs to Visits

In this module, you will learn about how web server logs store information about visitors to a website, and you will write programs to access information like user IP address, date and time of access, and more. Using Java programs you write in this module, you will be able (1) to read information from a web server log, (2) to count the number of unique visitors to your website, and (3) to count the number of times each visitor uses your website....
Reading
15 个视频 (总计 51 分钟), 4 个阅读材料, 4 个测验
Video15 个视频
Understanding Log Files6分钟
LogEntry Class with toString5分钟
Parsing Log Files3分钟
Summary分钟
Introduction1分钟
Developing an Algorithm3分钟
Translating to Code3分钟
Equality4分钟
Summary分钟
Introduction1分钟
Developing an Algorithm4分钟
Translating to Code11分钟
HashMap for Unique IPs1分钟
Summary分钟
Reading4 个阅读材料
Module Learning Outcomes / Resources10分钟
Programming Exercise: Reading Log Files10分钟
Programming Exercise: Finding Unique IP Addresses10分钟
Programming Exercise: Counting Website Visits10分钟
Quiz4 个练习
Reading Log Files6分钟
Finding Unique IP Addresses8分钟
Counting Website Visits8分钟
Web Server Logs20分钟
4
完成时间(小时)
完成时间为 2 小时

MiniProject: Vigenère Cipher

In this module, you will develop a program to break the Vigenère Cipher, a more complex version of the Caesar Cipher. You will improve your program in three stages: first decrypting messages where you know the language and key length, then adding the capability to handle messages with unknown key length, then extending the program to handle messages in a range of possible languages. Through this project, you will be able (1) to effectively use HashSet and HashMap, (2) to expand an algorithm from solving a simpler problem to handle broader, more complex problems, and (3) to design and modify program code involving a more complex collection of classes, methods, and data. ...
Reading
4 个视频 (总计 17 分钟), 5 个阅读材料, 3 个测验
Video4 个视频
Known Language and Key Length5分钟
Unknown Key Length4分钟
Unknown Language4分钟
Reading5 个阅读材料
Module Resources10分钟
Programming Exercise: Known Language and Key Length10分钟
Programming Exercise: Unknown Key Length10分钟
Programming Exercise: Unknown Language, Unknown Key Length10分钟
Extend Your Program10分钟
Quiz3 个练习
Known Language and Key Length4分钟
Unknown Key Length8分钟
Breaking the Vigenère Cipher14分钟
4.7
202 个审阅Chevron Right
职业方向

56%

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

83%

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

热门审阅

创建者 CTJul 20th 2018

The course was pretty challenging (and occasionally frustrating) for a novice programmer, but doable.\n\nI enjoyed the course, and came away with a greater understanding of computers and programming.

创建者 GBMar 30th 2017

Good and practical training approach to solve real worlds problems. Assignments and quizzes are quite challenging and interesting. Greatly motivates us towards programming and problem solving skills.

讲师

Avatar

Andrew D. Hilton

Associate Professor of the Practice
Electrical and Computer Engineering
Avatar

Robert Duvall

Lecturer
Computer Science
Avatar

Owen Astrachan

Professor of the Practice
Computer Science
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....

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

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