[SOUND] This is Duke University. >> In wondering how to describe this course the phrase I think to sort the people tremble from Confucius came to mind. But I then realized that Confucius did not write precisely these words, although each of the six adjacent pairs of words does appear in his sayings. We can generate that sentence using an algorithmic process related to predictive texts, the process of mark off text generation. >> That's fascinating. I was thinking of Shakespeare's Romeo and Juliet where the phrase, the earthquake now Romeo must die. Another phrase who's adjacent words are found together, though not the phrase itself. If we had a thousand interesting phrases, we might want to search through them, to sort them to find interesting ones, more easily. >> Great idea. What a coincidence, that the phrase from Confucius had the word tremble. An earthquake was from Romeo and Juliet. If we could filter through the phrases, this might be similar to the way my mail program separates spam from regular mail. Being able to process the phrases ordered by how many words they contain or how readable they are or how interesting they are would be useful in understanding trends and patterns in random text or even in the earthquakes Romeo was speaking of. You three must have already participated in this course, Java Programming: Principles of Software Design. Because the topics and ideas you've discussed are important components of the course. We use live and archive data of world-wide earthquakes to understand sorting and searching. As well as to learn about object oriented concepts, like inheritance, interfaces, and abstract classes. >> That's right. We are part of the team that created the course with you. And we're very excited to bring you, our learners, this fourth course, in our specialization. We use software design principles to illustrate Java programming. And we use Java programming to illustrate software design principles. This mutual reinforcement helps make the concepts understandable, as well as transferable to other problems and even other programming languages. So, we're working to build your experience and expertise with Java. >> I'm excited that we're able to illustrate principles of software design that are widely used and practiced. >> Like the open closed principle as well as object oriented concepts like Is A and Has A that are foundations of software design and engineering. In Java and other languages, that are also object oriented, the problems we've designed are engaging, doable, and have just the right amount of challenge. >> We explain how to design your own classes using object oriented concepts, but we also explain how to use classes and APIs that are part of the standard Java libraries. If you wanted to read files or URLs without using the edu.Duke library for example, you'll see lessons that explain how to do that and you'll be able to study the classes in that library to see how we use the same concepts you'll be learning to design and implement the classes in the library. >> This will be a great course! We'll get a glimpse into what we hope will be your continued study of Java after this course using other programming environments than BlueJ. Though BlueJ is my favorite environment for those beginning to study Java programming. We hope you'll enjoy the lessons we've created. We've worked hard to get them ready. This has made us each a little hungry, so we're going to toast your future and the course and our work and having finished creating it with cookies and bubbly cider. >> Hey Robert. Could you select the largest cookie? That can be yours. >> Thank you. >> And Drew, you select the largest cookie from those that are left. And then I'll select the largest cookie from those that are left. Susan, you get that one. Hey look, they're in sorted order by how big they are. I think we used selection sort, now let's each get some bubbly cider. >> For that, we'd have to use bubble sort. >> Cheers. >> [LAUGH]