Home » Free Online Courses » Free Online Course on Introduction to Programming with Java

Free Online Course on Introduction to Programming with Java

This is an introductory course to learn programming with Java. 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. It is comprised of three 5-week parts.

Course At A Glance

Length: 5 weeks
Effort: 7-10 hours per week
Subject: Computer Science
Institution: Universidad Carlos III de Madrid (UC3M) and edX
Price: Free
Certificate Available: Yes. Add a Verified Certificate for $50
Session: Open

User Review
2.33 (3 votes)

Providers’ Details

Universidad Carlos III de Madrid (UC3M) is an innovative public university committed to the improvement of society through teaching of the highest quality and cutting-edge research in line with stringent international guidelines. UC3M has three degree-granting Schools, in addition to a School of Graduate Studies and a Doctoral School.

About This Course

This is an introductory course to learn programming with Java. It is comprised of three parts, of which Part 1 introduces programming on the basis of familiar concepts, like calculators and games. This edition is an improved version of the course released in April 2015.

Powerful concepts such as functional abstraction, the object-oriented programming (OOP) paradigm and Application Programming Interfaces (APIs) are progressively introduced throughout the five weeks. Examples and case studies are provided so that learners can implement simple programs on their own or collaborating with peers.

Part 2 will focus on how to write “good” programs, where “good” is to be understood from several perspectives: correctness, efficiency, software engineering techniques, and ethics.

Part 3 will deal with fundamental data structures, such as sequences, and algorithms on them, such as searching and sorting.

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.

Why Take This Course?

This is a free online course. This MOOC will be offered with Video Transcripts in English.  Participants will receive a certificate upon completion of the course.

Learning Outcomes

  • Basic knowledge of algorithms and Java programming
  • Develop programs with conditionals and loops
  • Design and implement recursive algorithms
  • Understand the basic mechanisms of the OOP paradigm
  • Use and interpret the API of some of the most common Java classes
  • Develop simple programs in Java

Course Syllabus

  1. From the Calculator to the Computer
  2. State Transformation
  3. Functional Abstraction
  4. Object Encapsulation
  5. Packaging


Carlos Delgado Kloos (Full Professor)

Carmen Fernández Panadero (Assistant Professor)

Iria Estévez-Ayres (Assistant Professor)

Jorge Blasco (Assistant Lecturer)

Carlos Alario PhD (Postdoctoral researcher in the Department of Telematic Engineering)

Sergio Pastrana (Teaching Assistant)

Guillermo Suarez Tangil (Teaching Assistant)

July Villena Roman (Lecturer)



How To Join This Course

  • Go to the course website link
  • Create an edX account to SignUp
  • Choose “Register Now” to get started.
  • edX offers honour code certificates of achievement, verified certificates of achievement, and XSeries certificates of achievement. Currently, verified certificates are only available in some courses.
  • Once applicant sign up for a course and activate their account, click on the login button on the org home page and type in their email address and edX password. This will take them to the dashboard, with access to each of their active courses. (Before a course begins, it will be listed on their dashboard but will not yet have a “view course” option.)

Apply Now

Leave a Reply

Your email address will not be published. Required fields are marked *