Java Programming: Principles of Software Design

所在平台: Coursera

课程主页: https://www.coursera.org/learn/java-programming-design-principles

课程评论:没有评论

第一个写评论        关注课程

课程简介

课程名称: Java编程:软件设计原则 课程概述: 本课程通过使用多个类解决实际问题,教授如何利用Java编程创建可扩展的解决方案,强调软件工程不仅仅是编写代码,还包括逻辑思维和设计技巧。课程结束时,学员将编写一个分析和排序地震数据的程序,并开发一个预测文本生成器。 完成本课程后,您将能够: 1. 在解决问题时适当使用排序; 2. 开发实现Comparable接口的类; 3. 使用时间数据分析经验性性能; 4. 将问题分解为多个每个包含自己方法的类; 5. 确定Java API中的类是否可以用于解决特定问题; 6. 使用多种方法实现编程解决方案,认识权衡利弊; 7. 在开发程序时使用面向对象的概念,包括接口和抽象类; 8. 适当地隐藏实现决策,使其在公共方法中不可见; 9. 认识算法和Java程序在解决问题方面的局限性; 10. 识别标准Java类和习惯用法,包括异常处理、静态方法、java.net 和 java.io包。 课程大纲: 1. **欢迎来到课程**: 介绍课程内容及可用资源。 2. **地震:编程与接口**: 介绍包含全球地震数据的数据集,学习如何在程序中提取和筛选数据,掌握多类和ArrayList的基础。 3. **地震:排序算法**: 利用地震数据探索几种排序算法,包括选择排序、冒泡排序及更高效的Collections.sort方法。 4. **N-Grams:预测文本**: 研究预测文本的基本概念,学习如何基于输入文本生成随机字符及单词。 5. **Java:所有人的工具和库**: 了解从基本Java知识开始在其他环境中编写程序的必要信息,以及如何处理异常和引用Java库。 课程涉及的内容丰富,不仅提升编程技能,也培养软件设计和逻辑思维能力,为学员的Java编程之旅打下坚实基础。

课程大纲

Name:Welcome to the Course

Description:Welcome to “Java Programming: Principles of Software Design”! 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.

Name:Earthquakes: Programming and Interfaces

Description:In this module, we will introduce a data set containing details about earthquakes around the world. You will learn how to pull this data into a program, search through the data, and filter the data based on desired criteria. By the end of this module, you will be able to (1) write programs that include multiple classes and ArrayLists of class types, (2) find the maximum value in an ArrayList, (3) use a Filter interface to search through data, (4) implement interfaces with method signatures, and (5) combine several filters together.

Name:Earthquakes: Sorting Algorithms

Description:In this module, you will continue using real earthquake data to explore several sorting algorithms. You will learn how to implement a selection sort and a bubble sort, then be introduced to a Java method Collections.sort, which sorts with much greater efficiency. By the end of this module, you will be able to (1) implement several sorting algorithms from scratch, (2) use efficient pre-existing sorting classes, (3) modify a class’s compareTo method to choose the criteria by which objects of that type are ordered, and (4) write classes that implement the Comparator interface to create interchangeable sorting criteria.

Name:N-Grams: Predictive Text

Description:In this module, you will explore some of the underlying concepts of predictive text. The first lesson will introduce random character generation and then how to train the character selection based on an input text. The second lesson will extend this concept to complete words. By the end of this module, you will be able to: (1) base random text generation on the frequency of characters in a training text, (2) collect a set of characters that occur in a text after randomly chosen initial character(s) to create a semi-random text, (3) extend the predictive text generation to use whole words, and (4) implement your own .equals method to compare complex data types.

Name:Java: Tools and Libraries for Everyone

Description:As you reach the end of this series, you may wish to extend your Java experience to tools beyond those provided here. This module will cover some of the Java basic information that is needed to program without BlueJ or the edu.duke library. After completing this module, you will be able to: (1) write a main method to start a Java program in any programming environment, (2) use the “static” keyword to modify fields, (3) find alternative editors to use with Java, (4) use exceptions to debug your program and make it more robust, and (5) reference Java libraries that are necessary to read files without the edu.duke library.

课程评论(0条)

课程详情

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.

课程标签

0人关注该课程

主题相关的课程