In this course you will take your AngularJS development to the next level by taking a deeper look at developing web applications with Angular. Building on the topics taught in the Angular Fundamentals course, you will take a deeper dive into the components of Angular: Controllers, Services, Filters, Directives, and Views. You will learn techniques that will help you in building applications bigger than tiny sample apps, such as organizing your code, breaking down a page into components, and communicating with the server. You will learn many patterns for more effective development such as patterns for cross-component communication, and patterns for creating an actual model layer. By the end of this course you should feel comfortable embarking upon a medium to large size application in AngularJS.