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

Unix Tools: Data, Software and Production Engineering (edX) EdX
Delft University of Technology,DelftX

Unix Tools: Data, Software and Production Engineering (edX)

Grow from being a Unix novice to Unix wizard status! Process big data, analyze software code, run DevOps tasks and excel in your everyday job through the amazing power of the Unix shell and command-line tools. Processing information is the hallmark of all modern organizations, which are increasingly digital: absorbing, processing and generating information is a key element of their business.

Self Paced
Self-Paced
Introduction to Object-Oriented Programming with Java I: Foundations and Syntax Basics (edX) EdX
Georgia Institute of Technology,GTx

Introduction to Object-Oriented Programming with Java I: Foundations and Syntax Basics (edX)

Learn the foundational basics of the Java programming language. This course provides an introduction to the Java programming language. It gives students a foundational overview and history of Java, and students will learn about the language’s basic syntax. At the end, they will be able to develop interactive console programs with basic data processing and formatting capabilities.

Self Paced
Self-Paced
Historia de la ética (edX) EdX
Universidad Carlos III de Madrid - UC3M,UC3Mx

Historia de la ética (edX)

Una mirada hacia el pasado de la ética para poder afrontar mejor los problemas del futuro. Una visión crítica de la ética y la moral sin olvidar el sentido del humor. Cada día debemos afrontar diferentes problemas éticos a los que no tenemos claro qué respuesta dar como sociedad. Es importante conocer la definición de la ética y la moral para poder afrontar estos problemas. Este curso de filosofía y ética nos permitirá hacer un repaso por el origen de la ética, este es un ejercicio muy útil para poder replantear nuestros problemas éticos actuales y comprender mejor las implicaciones de nuestras decisiones basados en la ética y la moral.

Self Paced
Self-Paced
Trasplante de órganos: desafíos éticos y jurídicos (edX) EdX
Universidad Autonoma de Madrid,UAMx

Trasplante de órganos: desafíos éticos y jurídicos (edX)

En este curso analizaremos algunos interrogantes éticos y jurídicos que suscita el trasplante de órganos. Desde que en 1954 se realizara el primer trasplante exitoso de un órgano, la cirugía de trasplantes se ha desarrollado espectacularmente brindando esperanza y calidad de vida a muchos enfermos.

Self Paced
Self-Paced
Navigating Legal & Commercial Aspects of Sports (edX) EdX
Hamad Bin Khalifa University - HBKU,HBKUx

Navigating Legal & Commercial Aspects of Sports (edX)

Leading academics in their respective fields will introduce you to the dynamic world of sports law and related business principles. You will develop an overall understanding of the key legal and commercial aspects of sports. You will gain useful insights into their application based on actual scenarios involving athletes and teams. You will test your learning by applying it to hypothetical problems involving sports.

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
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
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
Human-Computer Interaction III: Ethics, Needfinding & Prototyping (edX) EdX
Georgia Institute of Technology,GTx

Human-Computer Interaction III: Ethics, Needfinding & Prototyping (edX)

Build on your knowledge of HCI’s core principles by learning to design interfaces in the real world. Begin with the ethics of human subjects research, then learn critical methods for requirements gathering and brainstorming design alternatives. In this course, you’ll begin by learning the design life cycle. This is the process by which we investigate user needs, brainstorm potential designs, create prototypes, and evaluate those prototypes. This life cycle provides the structure for the third and fourth courses in this professional certificate.

Self Paced
Self-Paced
Java Programming Fundamentals (edX) EdX
Galileo University,GalileoX

Java Programming Fundamentals (edX)

Your career as a program developer starts here. Gain entry-level programing skills in Java language, and prepare yourself to handle any task that is required in any programming job. Java is one of the most in-demand programming languages today. This course is designed to provide students the basic skills and knowledge on Java.

Self Paced
Self-Paced
Laudato si': On Care for Our Common Home (edX) EdX
SDGAcademyX,SDG Academy

Laudato si': On Care for Our Common Home (edX)

A mini-course on the urgent call to action: protect the earth and its inhabitants from ruin. What is “Laudato Si”? First presented by Pope Francis – spiritual leader to the world’s 1.2 billion Catholics – to his faith-based cohort, it is a call to action addressed not only to Catholics, but to all people of the world. Laudato Si’: On Care for Our Common Home raises the profile of the grave ecological crisis that humanity has created and issues a moral clarion call for urgent action to protect the earth and its inhabitants from ruin.

Self Paced
Self-Paced