About this course
What do hiring managers look for in entry-level developers? According to a recent survey, one of the most requested job skills is "strong object oriented design". Yet traditional computer science programs rarely focus on this area.
In this Java course, examine the role of objects in code, explore how to use them, and see how to design them for optimal code reuse and structure. Get tons of hands-on coding experience using popular Java objects, like Arrays and Lists, and then leverage those learnings to design your own object hierarchies. Plus, practice using inheritance, interfaces, abstract classes, and encapsulation techniques to help you manage large code bases.
Get comfortable employing industry standards in designing and managing complex relationships within a code base, as you add to your computer science skill set.
What you'll learn
- How to employ single and two-dimensional arrays to store complex data
- Different implementations of the Java List interface
- Design best practices when creating your own objects from scratch
- When to properly leverage inheritance, interfaces, and abstract classes to relate objects to one another
Prerequisites
Students should be familiar with the basics of Java programming such as methods, parameters, returns, scope and data types.
Suggested prerequisite course: Dev276x
Course Syllabus
Module 1 - Using Objects
Module 2 - Building your own Objects
Module 3 - Object Inheritance
Module 4 - Capstone Project
Meet the instructors
Kasey Champion
Learning Team
Microsoft
Kasey Champion is a software engineer turned teacher. She graduated from the University of Washington with a degree in Electrical Engineering, but worked for the Computer Science Department as a Teaching Assistant for 3 years. After graduation she joined Microsoft as a software engineer, but spent her mornings volunteer teaching computer science at local high schools through the TEALS program. Recently she was lucky enough to make her passion her full time job and joined the Microsoft Learning team to develop computer science courseware.