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

Software Engineering: Introduction (edX) EdX
The University of British Columbia,UBCx

Software Engineering: Introduction (edX)

Learn how to apply engineering principles, such as Agile, to build a full-stack software system. You will learn software engineering principles that are applicable to the breadth of large-scale software systems. The course explores topics such as agile development, REST and Async programming, software specification, design, refactoring, information security, and more.

Self Paced
Self-Paced
Computing in Python I: Fundamentals and Procedural Programming (edX) EdX
Georgia Institute of Technology,GTx

Computing in Python I: Fundamentals and Procedural Programming (edX)

Learn the fundamentals of computing in Python, including variables, operators, and writing and debugging your own programs. This course starts from the beginning, covering the basics of how a computer interprets lines of code; how to write programs, evaluate their output, and revise the code itself; how to work with variables and their changing values; and how to use mathematical, boolean, and relational operators.

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).

Self Paced
5-12 Weeks
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
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
Introduction to Social Work (edX) EdX
University of Alaska Fairbanks,AlaskaX

Introduction to Social Work (edX)

This course is an introduction to the profession of social work and the human services delivery system. It examines the historical development of social work focusing on the knowledge, values, and skills that characterize the social worker. This course will orient the learner to the context for social work and focus on the foundational frameworks of the profession.

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 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
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
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
UML Class Diagrams for Software Engineering (edX) EdX
KU Leuven University,KULeuvenX

UML Class Diagrams for Software Engineering (edX)

Learn how unified modeling language (UML) class diagrams are created and used to visualize and conceptualize the design of a system. Have you ever wondered how software architects, requirements engineers and business analysts sketch and draw out their plans for a software system? In this computer science course, you will gain an in-depth understanding of Unified Modeling Language (UML) class diagrams, which are used to visually represent the conceptual design of a system.

Self Paced
Self-Paced