Java Programming and Software Engineering Fundamentals 专项课程

于 Apr 03 开始

Java Programming and Software Engineering Fundamentals 专项课程

Explore a Career as a Software Engineer

Learn the basics of programming and software development

本专项课程介绍

Take your first step towards a career in software development with this introduction to Java—one of the most in-demand programming languages and the foundation of the Android operating system. Designed for beginners, this Specialization will teach you core programming concepts and equip you to write programs to solve complex problems. In addition, you will gain the foundational skills a software engineer needs to solve real-world problems, from designing algorithms to testing and debugging your programs.

制作方:

courses
5 courses

按照建议的顺序或选择您自己的顺序。

projects
项目

旨在帮助您实践和应用所学到的技能。

certificates
证书

在您的简历和领英中展示您的新技能。

项目概览

课程
Beginner Specialization.
No prior experience required.
  1. 第 1 门课程

    程序设计与 Web 入门

    即将开课的班次:Apr 3 — May 8。
    课程学习时间
    4周的学习时间,每周需花费3-5小时
    字幕
    English

    课程概述

    在这门课程中,你将会使用计算机通过HTML和CSS语言有创意地设计网页。之后,你将会运用Javascript开发程序和算法来让计算机解决问题。随着你学习的逐步推进,你会掌握编程流程,并将其并运用到之后的专业课程中。 在完成这门课的学习后,你可以做到: 1. 运用HTML和CSS制作网页; 2. 解释运用高级语言的编程过程; 3. 运用批判性思考解决问题; 4. 运用包含条件语句和循环语句在内的Javascript解决编程问题; 5. 运用Javascript来调控图像和处理数据; 6. 认识到调试程序是一种科学方法的应用。 在课程的最后,你将完成一个小项目。在这个项目中,你将会运用Javascript的算法来创建自己的图像,并运用HTML,CSS和Javascript建立一个网站。
  2. 第 2 门课程

    Java 程序设计:使用软件解题

    即将开课的班次:Apr 3 — May 8。
    课程学习时间
    4周的学习时间,每周需花费3-5小时
    字幕
    English, Turkish

    课程概述

    Building upon Duke’s “Programming and the Web for Beginners” course, you will grow in your ability to be a problem-solver and programmer by writing Java programs. We are excited that you've chosen to learn Java with us! You will soon be able to solve problems that you find interesting and useful by practicing a design process you will learn in this course. Java concepts presented in this course include basic control flow; object-oriented concepts including classes and methods; custom, open-source classes; and a design-implement-debug process that you can continue to leverage as you build your experience and knowledge of programming principles. The custom, open-source classes will provide a consistent application programming interface (API) so that you can write programs that access and transform images, websites, comma separated value (CSV) files and other data files using simple and accessible coding idioms built on the Java Iterable interface. You will learn to design, test, and debug programs and to find and read Java documentation that can serve as the basis for continued study of Java and programming. After completing this course you will be able to: 1. Edit, compile, and run a Java program; 2. Use conditionals and for loops appropriately in a Java program; 3. Use Java API documentation in writing programs. 4. Debug a Java program using the scientific method; 5. Develop 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 more than one method.
  3. 第 3 门课程

    Java Programming: Arrays, Lists, and Structured Data

    即将开课的班次:Apr 3 — May 8。
    课程学习时间
    4周的学习时间 每周需花费3-5小时
    字幕
    English

    课程概述

    This course will build on the skills you learn in Java Programming: Solving Problems with Software. You will continue to expand your programming skill set to read and manipulate data with more complex structure. You will also write programs with more complex structure. By the end of this course, you will be able to: 1. Read and write data from/to files; 2. Solve problems involving data files; 3. Perform quantitative analyses of data (e.g., finding maximums, minimums, averages); 4. Store and manipulate data in an array or ArrayList; 5. Combine multiple classes to solve larger problems; 6. Use iterables and collections (including maps) in Java.
  4. 第 4 门课程

    Java 程序设计:软件设计原理

    当前班次:Mar 27 — May 1。
    课程学习时间
    4 weeks of study, 4-8 hours/week
    字幕
    English

    课程概述

    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.
  5. 第 5 门课程

    Java 程序设计:DIY 版本的 Netflix 和亚马逊推荐系统引擎

    即将开课的班次:Apr 24 — May 29。
    课程学习时间
    4 weeks of study, 3-6 hours/week
    字幕
    English

    毕业项目介绍

    Ever wonder how Netflix decides what movies to recommend for you? Or how Amazon recommends books? We can get a feel for how it works by building a simplified recommender of our own! In this capstone, you will show off your problem solving and Java programming skills by creating recommender systems. You will work with data for movies, including ratings, but the principles involved can easily be adapted to books, restaurants, and more. You will write a program to answer questions about the data, including which items should be recommended to a user based on their ratings of several movies. Given input files on users ratings and movie titles, you will be able to: 1. Read in and parse data into lists and maps; 2. Calculate average ratings; 3. Calculate how similar a given rater is to another user based on ratings; and 4. Recommend movies to a given user based on ratings. 5. Display recommended movies for a given user on a webpage.

制作方

  • 杜克大学

    Duke University is consistently ranked as both a top undergraduate and research institution, with world class faculty at all levels in undergraduate, graduate, and professional schools.

    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.

  • Andrew D. Hilton

    Andrew D. Hilton

    Assistant Professor of the Practice
  • Robert Duvall

    Robert Duvall

    Lecturer
  • Susan H. Rodger

    Susan H. Rodger

    Professor of the Practice
  • Owen Astrachan

    Owen Astrachan

    Professor of the Practice

FAQs

More questions? Visit the Learner Help Center.