We may earn an affiliate commission when you visit our partners.
Course image
Tim Short

If your goal is to

As a trainer for over 6 years, one of the most common questions I get asked is "I'm new to programming, how can I get better and prepare for a job interview?" My answer is "Practice, practice, practice. " I created this course to help people see the core Java concepts in action. This will help you understand the ideas and know how to apply them in an application.

The BEST way to prepare for a technical interview is to get practice building applications and applying core principles of object-oriented design. I've designed this course to accomplish that objective.

Read more

If your goal is to

As a trainer for over 6 years, one of the most common questions I get asked is "I'm new to programming, how can I get better and prepare for a job interview?" My answer is "Practice, practice, practice. " I created this course to help people see the core Java concepts in action. This will help you understand the ideas and know how to apply them in an application.

The BEST way to prepare for a technical interview is to get practice building applications and applying core principles of object-oriented design. I've designed this course to accomplish that objective.

Many people fail interviews because:

  • They don't grasp object-oriented programming concepts
  • They can't apply object-oriented design in an actual program
  • They haven't practiced developing their applications by hand
  • They haven't debugged their code and overcome challenges

This course is designed for someone who simply wants to get better at understanding and applying Java design and object-oriented programming. It is perhaps the most effective thing you can do to prepare for your job interview. Forget about flashcards, forget about quizzes. Start practicing.

In my Practical Java course, you will build realistic projects from scratch. We will approach each program analytically and outline our approach to implement the solution. Then, piece by piece we will write the code to create a fully functioning application.

  • Understand client scenarios and requirements
  • Approach each problem analytically
  • Write our solution outline
  • Implement code step-by-step
  • Apply core principals of object-oriented design

Everyone hoping to start out in Java needs to practice. It's not enough to learn and watch, but you must try yourself. So enroll in this course and get typing.

Note: this course was build for someone who has some working knowledge and familiarity of Java or application design. If you are new to Java, I recommend enrolling in my "Become a Junior Java Software Developer" course first.

Enroll now

What's inside

Learning objectives

  • Build 5 complete, end-to-end java applications from scratch
  • Implement core object-oriented programming techniques
  • Optimize applications with best practices and sharpen your programming skills
  • Master design principles and apply proper architecture to solve problems
  • Apply inheritance, interfaces, access modifiers, encapsulation, polymorphism
  • Use data structures and arrays to handle data sets and collection of objects
  • Develop your own utility class to read data and export results to a file
  • Analyze data from a file and apply conditional operations to make decisions
  • Design a real-world project with abstract classes and abstract methods
  • Use constructors, overloading, and overriding to enhance applications

Syllabus

Introduction
The Ultimate Java Prep Guide
Survey of Course Projects
Course Pre-Requesites
Read more

New Bank Account Data

Arielle Duncan,444102638,Savings,1000
Marybeth Sanders,431551383,Checking,2500
Hattie Storey,476687875,Checking,3500
Hilary Ward,005965723,Checking,6000
Luella Bradbury,217512645,Savings,1500
Frankie Davidson,002607927,Checking,10000
Darnell Goodman,469426397,Savings,15000
Shila Obrien,233479044,Savings,2200
Agnes Leonard,003827896,Savings,6500
Florinda Goulding,233025468,Checking,25000
Eliseo Waller,395157182,Savings,12500
Fredia Hastings,208728517,Checking,6500
Melody Potts,687057316,Savings,1500
Deadra Power,009545701,Checking,4500
Clyde Higgs,164445329,Checking,1000

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Teaches Java programming concepts from scratch in a practical way, making it ideal for aspiring Java developers
Focuses on applying core Java principles through hands-on projects, helping learners develop practical programming skills
Introduces object-oriented design principles and best practices, preparing learners for real-world development scenarios
Suitable for those with some prior programming experience and a desire to enhance their Java skills
Exposes learners to industry-relevant techniques and tools, such as data structures, arrays, and file handling
Instructor has over 6 years of training experience in the field

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Hands-on java project practice

According to students, this course is a highly practical and hands-on learning experience designed to solidify Java skills. Learners particularly appreciate its focus on building complete, realistic projects from scratch, which helps in applying core object-oriented programming concepts like inheritance and polymorphism. Many find it an excellent resource for job interview preparation, offering valuable debugging practice and a systematic approach to problem-solving. However, a significant number emphasize that it assumes prior working knowledge of Java, so it's not suitable for absolute beginners.
Excellent for preparing for technical Java interviews.
"This course is incredibly useful for technical interview prep; the problem-solving approach is exactly what I needed."
"I feel much more confident about tackling coding challenges and discussing my projects in future interviews."
"The focus on building applications step-by-step really helps you understand how to approach interview questions."
Solidifies understanding of core OOP concepts in action.
"This course really helped solidify my understanding of object-oriented principles by making me apply them in real scenarios."
"I now feel much more comfortable applying inheritance, interfaces, and polymorphism in my own code."
"The practical examples made abstract classes and methods finally click for me."
Develops real-world coding skills through hands-on projects.
"The hands-on coding and projects are the strongest part of the course for me; finally building complete apps is so valuable."
"I loved that this course focuses on actually building things from scratch, which is exactly what I needed to bridge theory to practice."
"Finally, a Java course that lets me practice building full applications, giving me concrete examples to show."
Requires existing basic Java familiarity for success.
"Definitely not for absolute beginners; it moves quite fast and assumes you know the basics of Java syntax and concepts."
"I struggled initially because I didn't meet the stated prerequisites, so make sure you have some Java basics down."
"While the course is great, I would recommend completing a beginner Java course first if you're completely new."

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 Practice Java by Building Projects with these activities:
Review Java basics
Revisit fundamental Java concepts to strengthen your understanding before starting the course.
Browse courses on Java Basics
Show steps
  • Go through online tutorials or videos covering Java basics
  • Review your notes or previous materials on Java
  • Practice writing simple Java programs to test your understanding
Join study groups or online discussions
Engage with peers to share knowledge, clarify concepts, and gain different perspectives.
Show steps
  • Join online study groups or forums specific to Java
  • Participate in discussions, ask questions, and share your insights
  • Collaborate on small projects or code challenges
Follow online tutorials and documentation
Supplement your learning with external resources to deepen your understanding and explore specific topics.
Show steps
  • Find tutorials on object-oriented programming concepts
  • Review Java documentation to understand class libraries and methods
  • Explore online forums and Q&A platforms for specific problem-solving
Four other activities
Expand to see all activities and additional details
Show all seven activities
Connect with experienced Java developers
Seek guidance and support from experienced individuals to accelerate your learning and gain insights.
Show steps
  • Attend meetups or events where you can meet Java developers
  • Reach out to developers on LinkedIn or online forums
  • Ask for advice and feedback on your code or projects
Hands-on coding exercises
Practice writing code to solidify your understanding of Java concepts and apply best practices.
Show steps
  • Implement core object-oriented programming techniques
  • Apply design principles and proper architecture to solve problems
  • Implement inheritance, interfaces, access modifiers, encapsulation, and polymorphism
  • Use data structures and arrays to handle data sets and collections of objects
  • Develop your own utility class to read data and export results to a file
Java application project
Build a complete Java application from scratch to showcase your skills and understanding.
Show steps
  • Analyze data from a file and apply conditional operations to make decisions
  • Design a real-world project with abstract classes and abstract methods
  • Use constructors, overloading, and overriding to enhance applications
Develop a personal Java coding project
Embark on a self-directed project to apply your skills and explore your interests.
Show steps
  • Identify a problem or area that interests you
  • Design and plan your project, including the scope and functionality
  • Implement your project and debug any issues
  • Share your project with others for feedback and improvement

Career center

Learners who complete Practice Java by Building Projects will develop knowledge and skills that may be useful to these careers:
Software Engineer
A Software Engineer is responsible for the design, development, deployment, and maintenance of software systems. This course can help build a foundation for a career as a Software Engineer by providing hands-on experience in Java programming, object-oriented design, and software development best practices. The course projects will provide valuable experience in designing and implementing real-world software applications.
Java Developer
A Java Developer is responsible for developing and maintaining Java-based software applications. This course can help build a foundation for a career as a Java Developer by providing hands-on experience in Java programming, object-oriented design, and software development best practices. The course projects will provide valuable experience in designing and implementing real-world Java applications.
Application Developer
An Application Developer is responsible for designing, developing, and maintaining software applications. This course can help build a foundation for a career as an Application Developer by providing hands-on experience in Java programming, object-oriented design, and software development best practices. The course projects will provide valuable experience in designing and implementing real-world software applications.
Web Developer
A Web Developer is responsible for designing, developing, and maintaining websites and web applications. This course can help build a foundation for a career as a Web Developer by providing hands-on experience in Java programming, object-oriented design, and software development best practices. The course projects will provide valuable experience in designing and implementing real-world web applications.
Software Architect
A Software Architect is responsible for designing and overseeing the development of software systems. This course can help build a foundation for a career as a Software Architect by providing hands-on experience in Java programming, object-oriented design, and software development best practices. The course projects will provide valuable experience in designing and implementing real-world software systems.
Technical Lead
A Technical Lead is responsible for leading and mentoring a team of software developers. This course can help build a foundation for a career as a Technical Lead by providing hands-on experience in Java programming, object-oriented design, and software development best practices. The course projects will provide valuable experience in leading and mentoring a team of developers.
Project Manager
A Project Manager is responsible for planning, executing, and delivering software development projects. This course can help build a foundation for a career as a Project Manager by providing hands-on experience in Java programming, object-oriented design, and software development best practices. The course projects will provide valuable experience in planning, executing, and delivering software development projects.
Systems Analyst
A Systems Analyst is responsible for analyzing and designing software systems. This course can help build a foundation for a career as a Systems Analyst by providing hands-on experience in Java programming, object-oriented design, and software development best practices. The course projects will provide valuable experience in analyzing and designing real-world software systems.
Database Administrator
A Database Administrator is responsible for managing and maintaining databases. This course may be useful for a Database Administrator by providing hands-on experience in data structures and arrays, which are used to handle data sets and collections of objects.
Data Analyst
A Data Analyst is responsible for analyzing data and extracting insights from it. This course may be useful for a Data Analyst by providing hands-on experience in data structures and arrays, which are used to handle data sets and collections of objects.
Business Analyst
A Business Analyst is responsible for analyzing and understanding business requirements and translating them into technical specifications. This course may be useful for a Business Analyst by providing hands-on experience in object-oriented design and software development best practices.
Quality Assurance Analyst
A Quality Assurance Analyst is responsible for testing and evaluating software applications to ensure they meet quality standards. This course may be useful for a Quality Assurance Analyst by providing hands-on experience in Java programming and software development best practices.
Technical Writer
A Technical Writer is responsible for writing technical documentation for software applications and other technical products. This course may be useful for a Technical Writer by providing hands-on experience in Java programming and object-oriented design.
Teacher
A Teacher is responsible for educating students in a particular subject matter. This course may be useful for a Teacher by providing hands-on experience in Java programming and object-oriented design.
Freelance Developer
A Freelance Developer is responsible for developing software applications for clients on a contract basis. This course can help build a foundation for a career as a Freelance Developer by providing hands-on experience in Java programming, object-oriented design, and software development best practices.

Reading list

We've selected 11 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 Practice Java by Building Projects.
Comprehensive guide to the Java programming language. It covers all the basics, from variables and data types to object-oriented programming and GUI development. It great resource for beginners who want to learn Java from scratch.
Comprehensive reference for the Java programming language. It covers all the major topics, from the basics to advanced features. It great resource for experienced Java developers who want to brush up on their skills or learn about new features.
Guide to writing effective Java code. It covers topics such as object-oriented programming principles, design patterns, and performance optimization. It great resource for experienced Java developers who want to improve the quality of their code.
Guide to writing concurrent Java code. It covers topics such as thread safety, synchronization, and performance. It great resource for experienced Java developers who want to learn about concurrency and improve the performance of their applications.
Classic guide to design patterns. It covers 23 of the most common design patterns, and provides examples of how to use them in Java. It great resource for experienced Java developers who want to learn about design patterns and improve the quality of their code.
Guide to tuning the performance of Java applications. It covers topics such as profiling, garbage collection, and optimizing memory usage. It great resource for experienced Java developers who want to improve the performance of their applications.
Guide to using Hibernate, a popular Java persistence framework. It covers topics such as object-relational mapping, caching, and transactions. It great resource for experienced Java developers who want to learn about Hibernate and develop data-driven applications.
Guide to using Spring Framework, a popular Java application framework. It covers topics such as dependency injection, aspect-oriented programming, and web development. It great resource for experienced Java developers who want to learn about Spring Framework and develop enterprise-grade applications.
Guide to using Java 9's modularity features. It covers topics such as modules, the module path, and the new Java Platform Module System. It great resource for experienced Java developers who want to learn about Java 9's modularity features and use them in their applications.

Share

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

Similar courses

Similar courses are unavailable at this time. Please try again later.
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 - 2025 OpenCourser