EdX

Introduction to Java Programming: Writing Good Code (edX)

Introduction to Java Programming: Writing Good Code (edX)

Learn to program in an easy and interactive way and enter the fascinating world of computer science. This is an introductory course to learn programming with Java designed to teach how to code good programs in Java, understanding “good” as both correct and efficient. Basic principles of software engineering will be introduced to make it easier for our future self and others to reuse code. Ethical issues and the intellectual property of our programs will also be addressed in the last part of this course. Examples and case studies will be provided, so that learners can implement simple but increasingly complex programs in Java.

Class Deals by MOOC List - Click here and see EdX's Active Discounts, Deals, and Promo Codes.

Emphasis is put on immediate feedback and on having a fun experience. Programming knowledge is not only useful to be able to program today’s devices such as computers and smartphones. It also opens the door to computational thinking, i.e. the application of computing techniques to every-day processes.

This course is designed taking into account the subset and recommendations of the College Board in order to prepare learners for the Advanced Placement (AP) Computer Science A exam.
This course is part of the Introduction to Java Programming Professional Certificate.

What you'll learn:

  • Detect and correct common programming errors at compile time.
  • Detect and correct common programming errors at run time using debugging tools.
  • Check that the program does what it is supposed to using unit-testing processes.
  • Compare the efficiency of two programs in terms of the resources used.
  • Model simple programs using basic software engineering techniques.
  • Determine if a program has been developed respecting ethical considerations.

Syllabus

1. Debugging
The first week starts from basic errors that occur at compile time and at run time when developing programs, and introduces debugging as a powerful and flexible strategy to detect and correct errors. The Eclipse IDE Debugger will be used to illustrate the debugging process with practical examples.

2. Reasoning & Testing
The second week addresses formal mechanisms to test that programs do what is expected of them, introducing unit testing processes, particularized in the JUnit framework for testing programs written in the Java language.

3. Complexity
The third week analyzes programs from the point of view of efficiency in the use of resources, such as computation time and storage, and presents simple mechanisms to improve the efficiency of Java programs.

4. Software Engineering
The fourth week introduces basic principles of software engineering with the aim to improve robustness, modularity, reusability and maintainability of programs.

5. Ethics
The last week studies ethical issues related to software development, including privacy, legal issues, intellectual property rights, and social ramifications.

Prerequisites
It is recommended to be familiar with the topics covered in Introduction to Introduction to programming with Java, Part 1: Starting to Code with Java.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

HTML5 Coding Essentials and Best Practices (edX) EdX
World Wide Web Consortium - W3C,W3Cx

HTML5 Coding Essentials and Best Practices (edX)

Learn how to write Web pages and Web sites by mastering HTML5 coding techniques and best practices. HTML5 is the standard language of the Web, developed by W3C. For application developers and industry, HTML5 represents a set of features that people will be able to rely on for years to come. HTML5 is supported on a wide variety of devices, lowering the cost of creating rich applications to reach users everywhere.

Self Paced
Self-Paced
Business Model Testing (edX) EdX
Delft University of Technology,DelftX

Business Model Testing (edX)

Learn how to stress test your business model to help you anticipate change and harness your business model’s success. The world is changing rapidly and full of uncertainties. The future success of a business model depends on how well it is adapted to changing circumstances. Do you want to become aware of the relevant developments in technology, markets and society? And understand how this affects your business?

Self Paced
Self-Paced
Ethics in Life Sciences and Healthcare: Exploring Bioethics through Manga - Part 2 (edX) EdX
Kyoto University

Ethics in Life Sciences and Healthcare: Exploring Bioethics through Manga - Part 2 (edX)

Learn about the ethical decisions surrounding critical health and life science issues vital to your life through Manga. Is it permissible to create human clones? Would you really want to live forever? Is brain death the death of a human being? These controversial questions will be explored through stories in Manga in this bioethics course. Bioethics is an interdisciplinary field of study that looks into ethical, legal, and social implications of life sciences and health care.

No sessions available
5-12 Weeks
Android: introducción a la programación (edX) EdX
Universitat Politècnica de València,UPValenciaX

Android: introducción a la programación (edX)

Desarrollaremos una aplicación de ejemplo, "Mis Lugares Favoritos", para conocer el entorno de desarrollo de Android y sus elementos. Android es la plataforma libre desarrollada por Google, ampliamente utilizada en multitud de dispositivos como móviles, tabletas, TV, wearables o sistemas empotrados. Su expansión ha sido espectacular, superando en la actualidad al S.O. Microsoft Windows.

Self Paced
Self-Paced
Introduction to Java Programming: Fundamental Data Structures and Algorithms (edX) EdX
Universidad Carlos III de Madrid - UC3M,UC3Mx

Introduction to Java Programming: Fundamental Data Structures and Algorithms (edX)

Learn to enhance your code by using fundamental data structures and powerful algorithms in Java. In this introductory course, you will learn programming with Java in an easy and interactive way. You will learn about fundamental data structures, such as lists, stacks, queues and trees, and presents algorithms for inserting, deleting, searching and sorting information on these data structures in an efficient way.

Self Paced
Self-Paced
Project Management: Mastering Complexity (edX) EdX
Delft University of Technology,DelftX

Project Management: Mastering Complexity (edX)

Develop the project management skills you need to handle complexity in engineering, infrastructure and other large projects. Underestimating project complexity is widely accepted as one of the major causes of project failure. Based on international benchmarking activities (Merrow, 2010), we know that an average of 40% of projects do not deliver what they promised; for megaprojects in the oil and gas industry this figure is even worse (Ernst&Young, 2014).

Mar 14th 2024
5-12 Weeks
Software Engineering Essentials (edX) EdX
Technische Universität München - TUM,TUMx

Software Engineering Essentials (edX)

Learn agile methods, object-oriented programing and best practices for analysis, design, testing and management in software engineering. The world of software engineering requires high flexibility, an influx of new ideas, and the courage to challenge traditional approaches. As a software engineer, you need to know the methods, workflows and tools to handle continuously growing complexity and shortened development cycles. You must be able to work in teams to build high-quality software.

This course is archived
5-12 Weeks