1) Getting Started Lesson

About Java 301

10 min to complete · By Ryan Desmond

Hello and welcome to Java 301 - Advanced Java Concepts. This course is the third in a three-part series that includes Java 101 - Fundamentals and Java 201 - Object-Oriented Java. The Java Programming Series (101, 201, and 301) is a prerequisite of the Advanced Java & Spring Framework course.

What You Will Learn in Java 301

Why Learn Java?

As discussed in About Java 101, Java is a good choice - read more here.

Who is This Course For?

This course is for people who have completed Java 101 - Fundamentals as well as Java 201 - Object-Oriented Java. Or, you already have knowledge of the topics covered in Java 101 and Java 201 from previous studies and/or experience elsewhere. This course also assumes you have a bit of prior programming experience. This course assumes that you are comfortable with Git & GitHub as well as basic actions on the CLI. This course is for those who are familiar with basic Java principles as well as object-oriented programming (OOP) with Java.

What are the ​​Prerequisites for Java 301?

There are two prerequisites for Java 301:

How Long Does this Course Take?

Over the years, we have found that completing the entire Java Programming series (101, 201, and 301) requires ~200-250 hours to complete. Therefore, if you're dedicating 20 hours a week to study and practice, you can expect the entire series to require ~10-15 weeks to complete. Java 301 is the third of three courses in this series and typically requires up to 100 hours to complete - or roughly five weeks if you're studying 20 hours per week.

Is Java Hard to Learn?

While Java is sometimes criticized for being verbose and inflexible, these traits can actually benefit new programmers. Because Java is checked for errors before running, new developers are less likely to come across unknown runtime errors. Additionally, Java forces developers to define all aspects of their code carefully, leaving less room for errors as programs grow. -Why Learn Java

How is this Course Structured?

This course is divided into various sections or chapters that build on each other. Within each section, there are several subsections. Each subsection speaks to a new concept. Typically, for each concept, you'll read a page of documentation with examples, then you'll watch a video demonstrating these concepts, and then you'll be prompted to do a variety of exercises and challenges. We call this "Read, Watch, Do". We stick to this pattern as much as possible. Our goal is to help you iterate over the concepts in a variety of different ways to be able to understand them better and quickly.

Are There Assignments & Challenges?

Yes. We call them "labs". Throughout each course, and at the end of nearly each course section, you will be asked to complete a number of labs. These are challenges that help you build the skills you've just read about and watched videos about. The labs grow in complexity as you proceed through the courses. At various points in the course, you will also be prompted to build out larger applications that tie in multiple new skills you've covered. At the end of the Java Programming Series, you will also be asked to create a larger capstone project demonstrating your knowledge and abilities with Java.

What Will I Be Able To Do After This Course?

After this course, you will be comfortable with the core principles of the Java programming language. You will be able to confidently say, "I know Java." You will be able to build many complex Java applications using OOP, databases, multithreading and much more. A general marker for where you are in the overall journey after finishing Java 301 is about 50% of the way to "employable". After you finish the entire Java 101, 201, and 301 Programming Series, you'll be about half way there. The Advanced Java & Spring course will then take you up to a professional level.

Can I Get A Job as a Developer After This Course?

Not quite yet. You're getting very close! But still some work today. Please see the previous section, "What Will I Be Able To Do After This Course?".

Does this Course Include a Java certification?

Yes. If you are a Premium Member or a mentored student with CodingNomads, you will receive a Java 201 Certificate of Completion after completing this course.

Inspiration for Learning

If you have not done so already, please quick read the following posts from CodingNomads' blog:

Summary: About Java 301

  • Prerequisite for this course: Java 101 and Java 201 - Object-Oriented Java
  • This is the third course in a multi-part part series including Java 101, Java 201, and, to get all the way up to professional level, Advanced Java & Spring
  • Topics covered include:
    • Exception Handling
    • File Input / Ouput (I/O)
    • Multithreading
    • Generics
    • Enumerations
    • Lambda Expressions
    • Method References
    • Stream API
    • Java Database Connectivity (JDBC)
    • Link: Data Structures & Algorithms
    • Final Capstone Project
  • This course follows a "read -> watch -> do" strategy to help you learn concepts in a variety of different ways
  • Java 301 requires up to 100 hours to complete. The Java Programming Series (101, 201, and 301) requires 200-250 hours to complete.
  • The next course in this series is Advanced Java & Spring