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

CS50's Introduction to Computer Science (edX) EdX
HarvardX,Harvard University

CS50's Introduction to Computer Science (edX)

An introduction to the intellectual enterprises of computer science and the art of programming. This is CS50, Harvard University's introduction to the intellectual enterprises of computer science and the art of programming for majors and non-majors alike, with or without prior programming experience. An entry-level course taught by David J. Malan, CS50 teaches students how to think algorithmically and solve problems efficiently.

Self Paced
Self-Paced
Introduction to Object-Oriented Programming with Java III: Exceptions, Data Structures, Recursion, and GUIs (edX) EdX
Georgia Institute of Technology,GTx

Introduction to Object-Oriented Programming with Java III: Exceptions, Data Structures, Recursion, and GUIs (edX)

Learn how to create and use exceptions, data structures, recursion, and graphical user-interfaces (GUIs). This course provides students with the knowledge to handle and even create exceptions to achieve graceful error handling in programs. They will also create and utilize data structures, including lists and files. Students will also learn about recursion and how it can be a useful approach to repetition in a program. Finally, students will learn how to develop basic graphical user interfaces (GUIs) using JavaFX.

Self Paced
Self-Paced
Global Software Development (edX) EdX
Delft University of Technology,DelftX

Global Software Development (edX)

Develop the technical and organizational skills you need to practice software engineering in a globally distributed environment. Software engineering operates ever more frequently in globally distributed settings, in a practice that is known as Globally Distributed Software Engineering (GDSE). In this course, you will obtain a practical overview of the organization and operation of software engineering of this practice. As such, it is aimed at professionals in distributed software development teams, and executives setting up and leading such teams who would like to develop the required technical and organizational skills.

Self Paced
Self-Paced
Ethics in Action (edX) EdX
SDGAcademyX,SDG Academy

Ethics in Action (edX)

What do the world’s great religious and secular philosophies have to say about ethical conduct? Which virtues are common across faiths? And what role do religious communities have to play in building a more just and sustainable world? The challenges of sustainable development are more than technical or political—they are also moral, calling on us to examine who we are as human beings, and who we want to be going forward.

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
Introduction to Human Resources (HR) leadership and HR management strategies (edX) EdX
Stellenbosch University,StellenboschX

Introduction to Human Resources (HR) leadership and HR management strategies (edX)

This introductory course will introduce the learner to ‘strategic HR’ as a key, value-adding function in the organization – helping it to achieve its business objectives. It will unpack key concepts from a strategic HR point of view, such as ‘ethics and governance’, ‘HR risk management’ and a ‘digital HR strategy’. Finally, it will consider the future of work and what a global HR strategy entails.

Self Paced
Self-Paced
Ethical Decision-Making: Labor and Production Dilemmas (edX) EdX
Georgetown University,GeorgetownX

Ethical Decision-Making: Labor and Production Dilemmas (edX)

Labor and production standards, meant to ensure the safety of workers and consumers, are neither universally accepted nor always enforced. Where local governments fail to act, global corporations may receive pressure to step in. In this course, you will consider ethical questions about the role of international businesses in preventing harm abroad.

Self Paced
5-12 Weeks
Influence Essentials for Leadership and Marketing (edX) EdX
State Bank of India - SBI

Influence Essentials for Leadership and Marketing (edX)

Discover ‘Influence’– the attribute that can affect emotions and sway individual or group actions. Recognize the subtleties of this attribute and develop the skill to use this understanding to manage people and market to people. Influence plays an important role in nurturing human thoughts, ideas, and concepts. As children, we are influenced by our parents, teachers, and friends. As we grow up, peer influence and other external influences play an important role in our decision making.

Self Paced
Self-Paced
Islamic Bioethics (edX) EdX
Hamad Bin Khalifa University - HBKU,HBKUx

Islamic Bioethics (edX)

This course provides an introductory, accessible but also in-depth overview of the emerging and promising field of Islamic Bioethics. It is developed and taught by one of the world’s leading scholars in Islamic Ethics, Dr. Mohammed Ghaly (Professor of Islam and Biomedical Ethics). The course explores how the rich Islamic moral tradition engages with the complex questions triggered by the cutting-edge biomedical advancements.

Self Paced
Self-Paced
Introducción a la programación en Java: escribiendo buen código (edX) EdX
Universidad Carlos III de Madrid - UC3M,UC3Mx

Introducción a la programación en Java: escribiendo buen código (edX)

¡Aprende programación en Java de forma fácil e interactiva y entra en el fascinante mundo de la computación! Este es un curso introductorio para aprender a programar en Java diseñado para enseñar a escribir "buen" código en este lenguaje de programación, entendiendo como "bueno" aquel que es correcto y eficiente.

Self Paced
Self-Paced
Introducción a la Ingeniería del Software (edX) EdX
Universidad Autonoma de Madrid,UAMx

Introducción a la Ingeniería del Software (edX)

Conoce las distintas fases de desarrollo por las que pasa un proyecto informático, así como las actividades de gestión necesarias para lograr finalizar el proyecto con éxito. ¿Alguna vez te has preguntado qué es y para qué sirve la Ingeniería de Software? ¿Quieres saber por qué es tan necesaria esta disciplina y por qué se utiliza tanto en entornos tecnológicos? ¿O cuál es el motivo de que muchos proyectos informáticos no finalizan en tiempo y coste o con la calidad deseada?

Self Paced
Self-Paced