We may earn an affiliate commission when you visit our partners.
Course image
Carlos Delgado Kloos, Carmen Fernández Panadero, Iria Estévez-Ayres, Jorge Blasco, Sergio Pastrana, Guillermo Suarez-Tangil, Julio Villena Román, and Carlos Alario-Hoyos

In this introductory Java programming course, you will be introduced to powerful concepts such as functional abstraction, the object oriented programming (OOP) paradigm and Application Programming Interfaces (APIs). Examples and case studies will be provided so that you can implement simple programs on your own or collaborate with peers.

Read more

In this introductory Java programming course, you will be introduced to powerful concepts such as functional abstraction, the object oriented programming (OOP) paradigm and Application Programming Interfaces (APIs). Examples and case studies will be provided so that you can implement simple programs on your own or collaborate with peers.

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 edition is an improved version of the course released in April 2015.

What you'll learn

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

What's inside

Learning objectives

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

Syllabus

1. From the Calculator to the Computer The first section introduces basic programming concepts, such as values and expressions, as well as making decisions when implementing algorithms and developing programs.
Read more
2. State Transformation The second section introduces state transformation including representation of data and programs as well as conditional repetition.
3. Functional Abstraction The third section addresses the organization of code in a program through methods, which are invoked to carry out a task and return a result as answer. Recursion, as a powerful mechanism in the invocation of methods, is also covered this week.
4. Object Encapsulation The fourth section introduces the object oriented programming (OOP) paradigm, which enables the modeling of complex programs in Java through objects and classes. The concept of inheritance as the basis for reusing code and simplifying programs in Java is studied in this week.
5. Packaging The last section aims to study the reuse of code through third-party classes that are already developed and that we can incorporate to our programs to perform specific actions, and reduce the number of lines that we need to code.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Taught by instructors who are recognized for their work in the subject
Examines concepts and techniques that are fundamental to computer science and programming
Emphasizes the development of critical thinking and problem-solving skills
Students will learn the basics of Java programming, as well as object-oriented programming and functional abstraction
Offers a strong foundation for those interested in pursuing a career in software development
Students will work on hands-on projects to apply the concepts they learn

Save this course

Save Introduction to Java Programming: Starting to code in Java to your list so you can find it easily later:
Save

Reviews summary

Java programming for beginners

Learners say that this course is excellent for beginners who want to learn Java. The lectures are engaging and easy to understand, and the graded exams are challenging but fair. Overall, this course is a great way to get started with Java.
Graded exams are difficult but fair.
"The graded assignments require you to read, analyze and debug code snippets."
"They're quite tough, especially for new programmers like me."
"I do wish they allowed for more than just 1 attempt at each question."
Lectures are clear and interesting.
"Professor Delgado Kloos is a fantastic and enthusiastic instructor."
"He explains everything in a very easy-to-understand, humourous manner."
"His team are also enthusiastic and present well."
Perfect for learners new to Java.
"I am new to this course and I found it very easy to understand!"
"This course is perfect for my needs."
"I was looking for an introductory Java course I could do on the go on my phone."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Introduction to Java Programming: Starting to code in Java with these activities:
Review Java Basics
Review the fundamentals of Java to ensure a solid foundation for the course.
Browse courses on Java Syntax
Show steps
  • Go through your class notes or online materials on Java basics.
  • Complete practice exercises or quizzes to test your understanding.
Read 'Head First Java, 2nd Edition'
This popular book provides a comprehensive overview of Java concepts and best practices, strengthening your understanding of the language.
View Melania on Amazon
Show steps
  • Purchase or borrow 'Head First Java, 2nd Edition'.
  • Read through the chapters and take notes.
  • Complete the exercises and activities to reinforce your learning.
Practice Debugging
Practice identifying and resolving bugs in Java code to improve your problem-solving skills.
Browse courses on Debugging Techniques
Show steps
  • Find a debugging example or create your own.
  • Use Java debugging tools (e.g., breakpoints, step-by-step execution).
  • Analyze error messages and trace the source of the bug.
Five other activities
Expand to see all activities and additional details
Show all eight activities
Follow Java Tutorials
Explore tutorials from reputable sources like Oracle or TutorialsPoint to supplement your understanding of Java concepts and best practices.
Show steps
  • Identify a Java tutorial that aligns with your learning goals.
  • Set aside time to work through the tutorial.
  • Take notes and practice the concepts covered.
Join a Java Study Group
Connect with other Java learners to discuss concepts, share knowledge, and work on projects together.
Browse courses on Collaborative Learning
Show steps
  • Find a study group or create your own.
  • Set regular meeting times.
  • Prepare for each session by reviewing the course material and identifying questions.
  • Actively participate in discussions and group projects.
Practice Code Challenges
Solve coding challenges on platforms like LeetCode or HackerRank to reinforce your understanding of Java syntax and algorithms.
Browse courses on Java Programming
Show steps
  • Choose a coding challenge platform.
  • Select a challenge and read the problem statement carefully.
  • Implement a solution in Java.
  • Test and debug your code.
Build a Java Project
Create a simple Java application to apply the skills you've learned, such as a calculator or a game.
Browse courses on Java Development
Show steps
  • Define the purpose and scope of your project.
  • Design the architecture and user interface.
  • Write and test the Java code.
  • Deploy and share your project.
Contribute to Open-Source Java Projects
Participate in open-source Java projects to gain practical experience, collaborate with others, and build your portfolio.
Browse courses on Collaboration
Show steps
  • Find a project on platforms like GitHub or SourceForge.
  • Read the project documentation and contribute in ways that align with your skills.
  • Coordinate with the project maintainers and follow their guidelines.

Career center

Learners who complete Introduction to Java Programming: Starting to code in Java will develop knowledge and skills that may be useful to these careers:
Software Engineer
Software Engineers apply their knowledge of programming to design, implement, test, deploy and maintain complex software systems. This course will be helpful in learning the basics of Java which is a widely used programming language for building these systems. Topics covered in this course, such as data representation and state transformation, as well as the object oriented programming paradigm and functional abstraction, are all essential for succeeding in this role.
Web Developer
Web Developers build and maintain websites and web applications. Java is widely used for building back ends of web applications, and this course can be a great starting point to get into this in-demand role. The course covers essential Java programming concepts and covers topics such as functional abstraction, encapsulation, and packaging, which are critical for building complex web applications.
Mobile Developer
Mobile Developers design, build and maintain mobile apps for various operating systems, including Android and iOS. The course covers the fundamentals of Java programming which can be applied to developing Android applications. Topics covered in the course, such as functional abstraction, encapsulation, and recursion can help build a strong foundation for succeeding in this role.
Data Analyst
Data Analysts collect, clean, and analyze data to derive meaningful insights. Java is widely used for building data pipelines and doing data analysis. Taking this course can be a stepping stone in learning how to wrangle data using Java and to get started with a career as a Data Analyst.
Computer Programmer
Computer Programmers write and test code to build software applications and systems. This course serves as a great introduction to Java programming which is a widely used programming language in the industry. Topics covered in the course, such as conditional and loop constructs, encapsulation, and functional abstraction, are essential for succeeding in this role.
Software Tester
Software Testers are responsible for testing software systems to identify defects and ensure quality. This course provides a great introduction to Java programming, which is widely used for building software systems. The course covers essential Java programming concepts and topics such as data representation, state transformation, and functional abstraction, which are all essential for succeeding in this role.
Systems Administrator
Systems Administrators are responsible for maintaining and troubleshooting computer systems and networks. This course may be helpful in learning the basics of Java, which is a widely used programming language for building system administration tools and scripts. Topics covered in this course, such as conditional and loop constructs, encapsulation, and functional abstraction, are all essential for succeeding in this role.
Database Administrator
Database Administrators manage and maintain databases. This course may be helpful in learning the basics of Java which is sometimes used for building database management tools and scripts. Topics covered in this course, such as conditional and loop constructs, encapsulation, and functional abstraction, are all essential for succeeding in this role.
IT Support Specialist
IT Support Specialists provide technical support to users and troubleshoot computer and network issues. This course may be helpful in learning the basics of Java, which is sometimes used for building IT support tools and scripts. Topics covered in this course, such as conditional and loop constructs, encapsulation, and functional abstraction, are all essential for succeeding in this role.
Cybersecurity Analyst
Cybersecurity Analysts protect computer systems and networks from cyber attacks. This course may be helpful in learning the basics of Java, which is sometimes used for building cybersecurity tools and scripts. Topics covered in this course, such as conditional and loop constructs, encapsulation, and functional abstraction, are all essential for succeeding in this role.
Network Engineer
Network Engineers design, build and maintain computer networks. This course may be helpful in learning the basics of Java, which is sometimes used for building network management tools and scripts. Topics covered in this course, such as conditional and loop constructs, encapsulation, and functional abstraction, are all essential for succeeding in this role.
Information Security Analyst
Information Security Analysts protect computer systems and networks from cyber attacks. This course may be helpful in learning the basics of Java which is sometimes used for building information security tools and scripts. Topics covered in this course, such as conditional and loop constructs, encapsulation, and functional abstraction, are all essential for succeeding in this role.
Technical Writer
Technical Writers create documentation for computer systems and software. This course may be helpful in learning the basics of Java which is sometimes used for building documentation generation tools and scripts. Topics covered in this course, such as conditional and loop constructs, encapsulation, and functional abstraction, are all essential for succeeding in this role.
Product Manager
Product Managers oversee the development and launch of new products. This course may be helpful in understanding the basics of programming and software development. Topics covered in this course, such as conditional and loop constructs, encapsulation, and functional abstraction are all essential for succeeding in this role, as they provide a foundation for understanding the technical aspects of product development.
Business Analyst
Business Analysts analyze business needs and develop solutions to improve operations. This course may be helpful in understanding the basics of programming and software development. Topics covered in this course, such as conditional and loop constructs, encapsulation, and functional abstraction are all essential for succeeding in this role, as they provide a foundation for understanding the technical aspects of business analysis.

Reading list

We've selected 17 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Introduction to Java Programming: Starting to code in Java.
Is the definitive guide to the Java programming language. It covers all aspects of Java, from basic syntax to advanced topics such as concurrency and networking. It valuable resource for all Java programmers, regardless of their experience level.
This comprehensive reference book covers all aspects of the Java programming language, from its syntax and semantics to its libraries and APIs. It valuable resource for experienced programmers who need a detailed guide to the language or for those who want to explore advanced topics.
Provides a comprehensive introduction to Java, covering basic programming concepts, object-oriented programming, and advanced topics such as generics and lambdas. It valuable resource for beginners who want to learn the fundamentals of Java programming.
Provides a collection of best practices and guidelines for writing effective Java code. It covers topics such as object-oriented design, concurrency, and performance optimization, making it a useful resource for experienced programmers who want to improve their coding skills.
Introduces a catalog of design patterns that can be used to solve common problems in software development. It valuable resource for experienced programmers who want to improve their design skills and create more maintainable and extensible software.
Provides a comprehensive guide to concurrency in Java, covering topics such as thread synchronization, locks, and thread pools. It valuable resource for experienced programmers who need to develop concurrent and scalable Java applications.
Fun and engaging introduction to Java programming. It uses a visual approach to teach the basics of Java, making it easy for beginners to understand. It valuable resource for beginners who want to learn Java in a fun and interactive way.
Provides a comprehensive guide to performance tuning in Java. It covers topics such as profiling, optimization techniques, and performance monitoring, making it a valuable resource for experienced programmers who want to improve the performance of their Java applications.
Offers a deep dive into the fundamentals of Java programming, exploring the language's design and implementation. It valuable resource for intermediate to advanced programmers who want to gain a deeper understanding of Java's inner workings.
Collection of best practices for writing effective Java code. It covers topics such as object-oriented programming, concurrency, and performance. It valuable resource for experienced Java programmers who want to improve their coding skills.
Provides a set of principles and practices for writing clean and maintainable code. It covers topics such as naming conventions, code organization, and refactoring, making it a useful resource for programmers of all levels.
Provides a comprehensive guide to persistence with Hibernate in Java. It covers topics such as object-relational mapping, caching, and performance tuning, making it a valuable resource for experienced programmers who want to develop data-driven applications.
Guide to writing clean and maintainable code. It covers topics such as naming conventions, coding style, and refactoring. It valuable resource for all programmers who want to improve the quality of their code.
Provides a comprehensive guide to developing Java applications with Ant. It covers topics such as build management, testing, and deployment, making it a valuable resource for experienced programmers who want to automate their build process.
Provides a comprehensive guide to unit testing in Java. It covers topics such as test-driven development, mocking, and test automation, making it a useful resource for programmers of all levels who want to improve their testing skills.
Provides a comprehensive guide to network programming in Java. It covers topics such as sockets, networking protocols, and web services, making it a valuable resource for experienced programmers who want to develop network-based applications.
Provides a comprehensive guide to Java programming for beginners. It covers topics such as basic syntax, data types, and control flow, making it a valuable resource for those who are new to Java programming.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Introduction to Java Programming: Starting to code in Java.
Java Programming Fundamentals
Most relevant
Java Object-Oriented Programming: AP Computer Science B
Most relevant
Programming Java for Beginners - The Ultimate Java...
Most relevant
Java Programming Essentials: AP Computer Science A
Most relevant
Object-oriented Programming in Rust 2021
Most relevant
Decoding AP Computer Science A
Most relevant
Introduction to Java Programming: Writing Good Code
Most relevant
Introduction to Java
Most relevant
Introduction to Object-Oriented Programming with Java II:...
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser