About this Course
최근 조회 52,331

100% 온라인

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

유동적 마감일

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

초급 단계

완료하는 데 약 24시간 필요

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


자막: 영어, 한국어

귀하가 습득할 기술

Data StructureCryptographyHash TableJava Programming

100% 온라인

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

유동적 마감일

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

초급 단계

완료하는 데 약 24시간 필요

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


자막: 영어, 한국어

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

완료하는 데 13분 필요


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.

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

21 videos (Total 111 min), 5 readings, 4 quizzes
21개의 동영상
Creating and Manipulating Strings5m
Counting Loops9m
Character Class5m
Developing an Algorithm5m
Translating into Code4m
Testing and Debugging1m
Random Numbers and Arrays11m
Counting with Arrays10m
Developing an Algorithm5m
Rewriting with Encapsulation3m
5개의 읽기 자료
Module Learning Outcomes / Resources10m
Programming Exercise: Implementing the Caesar Cipher10m
Programming Exercise: Breaking the Caesar Cipher10m
Programming Exercise: Object Oriented Caesar Cipher10m
End of Module Survey10m
4개 연습문제
Implementing the Caesar Cipher12m
Breaking the Caesar Cipher22m
Object Oriented Caesar Cipher8m
완료하는 데 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!

13 videos (Total 72 min), 4 readings, 3 quizzes
13개의 동영상
High-level Design Concepts5m
ArrayList for Unique Words7m
ArrayList Advantages and Issues7m
Brittle Code3m
Adding New Labels4m
HashMap for Unique Words4m
HashMap for Flexible Design7m
4개의 읽기 자료
Module Learning Outcomes / Resources10m
Programming Exercise: Telling a Random Story10m
Programming Exercise: Using GladLibs10m
Programming Exercise: Improving GladLibs10m
3개 연습문제
Telling a Random Story12m
Using and Improving GladLibs20m
완료하는 데 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.

15 videos (Total 51 min), 4 readings, 4 quizzes
15개의 동영상
Understanding Log Files6m
LogEntry Class with toString5m
Parsing Log Files3m
Developing an Algorithm3m
Translating to Code3m
Developing an Algorithm4m
Translating to Code11m
HashMap for Unique IPs1m
4개의 읽기 자료
Module Learning Outcomes / Resources10m
Programming Exercise: Reading Log Files10m
Programming Exercise: Finding Unique IP Addresses10m
Programming Exercise: Counting Website Visits10m
4개 연습문제
Reading Log Files6m
Finding Unique IP Addresses8m
Counting Website Visits8m
Web Server Logs20m
완료하는 데 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.

4 videos (Total 17 min), 5 readings, 3 quizzes
4개의 동영상
Known Language and Key Length5m
Unknown Key Length4m
Unknown Language4m
5개의 읽기 자료
Module Resources10m
Programming Exercise: Known Language and Key Length10m
Programming Exercise: Unknown Key Length10m
Programming Exercise: Unknown Language, Unknown Key Length10m
Extend Your Program10m
3개 연습문제
Known Language and Key Length4m
Unknown Key Length8m
Breaking the Vigenère Cipher14m
228개의 리뷰Chevron Right


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


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

Java Programming: Arrays, Lists, and Structured Data의 최상위 리뷰

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

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



Andrew D. Hilton

Associate Professor of the Practice
Electrical and Computer Engineering

Robert Duvall

Computer Science

Owen Astrachan

Professor of the Practice
Computer Science

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

자주 묻는 질문

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

  • 강좌를 등록하면 전문 분야의 모든 강좌에 접근할 수 있고 강좌를 완료하면 수료증을 취득할 수 있습니다. 전자 수료증이 성취도 페이지에 추가되며 해당 페이지에서 수료증을 인쇄하거나 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.

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