본문 바로가기

요런저런

유다씨티 스터디 사이트

반응형

 

Front End Web Developer

Overview The goal of the Front End Web Developer Nanodegree program is to equip learners with the unique skills they need to build and develop a variety of websites and applications. A graduate of this Nanodegree program will be able to:

• Construct responsive websites using CSS, Flexbox and CSS Grid

• Develop interactive websites and UI (User Interface) applications using JavaScript and HTML

• Connect a web application to backend server data using JavaScript

• Automate application build and deployment using Webpack

• Improve offline performance of websites using Service Worker Prerequisite Knowledge: A well-prepared learner is able to:

• Lay out a simple webpage using HTML

• Style a website element using CSS

• Write and test software with JavaScript

• Inspect websites using Developer Tools on a modern web browser (Chrome, Firefox, or Edge)

• Debug and troubleshoot errors and failures in JavaScript programs

 

 

Course 1: CSS & Website Layout

Learn how to effectively create the structure of a website using semantic HTML, and style websites with CSS and responsive layouts. Develop an understanding of different use cases for CSS Grid and Flexbox, and structure the layout of a web page using grid columns and rows.

 

Course Project Styled Blog Website

For your first project, you’ll create a multi-page blog website, using best practices for content and page styling with HTML and CSS. You’ll practice using responsive layouts, Flexbox, and CSS Grid to create the structure and design for your own blog.

 

LESSON ONE Introduction to HTML

• Create a programming project with a code editor

• Construct nested websites with HTML tags and elements

• Troubleshoot and debug HTML errors and bugs LESSON TWO Introduction to CSS

• Style website components by ID, class and type

• Connect CSS to a website

• Position and display website elements

• Modify and control website typography

• Troubleshoot and debug issues with stylesheets LESSON THREE Introducing Flexbox

• Control web elements orientation and layout with Flexbox

• Control ordering of web elements with Flexbox

• Align and justify web elements with Flexbox

• Transform and resize web elements with Flexbox LESSON FOUR CSS Grid

• Compare and contrast the use cases for CSS Grid and Flexbox

• Structure the layout of a web page using grid columns and rows LESSON FIVE Creating Responsive Layouts

• Define custom styles for different screen sizes using media queries.

• Observe and create breakpoints in a website to change layout and styling as a page is resized

 

Course 2: JavaScript and the DOM

Use JavaScript to control a webpage. Learn what the Document Object Model (DOM) is, and use JavaScript and the DOM to dictate page content and interactions. Gain experience working with Browser Events and managing website performance by controlling content creation efficiently

 

Course Project Dynamic Landing Page for Marketing Content

In this project, you will build a multi-section landing page. Often times, you won’t know how much content will be added to a page through a Content Management System (CSM) or an API. To handle this problem, you will dynamically add content to a web page. You’ll be building a landing page that combines your skills with JavaScript, HTML, and CSS to update and control the page and create a dynamic user experience.

 

LESSON ONE Syntax

• Declare block-scoped variables using let and const

• Format JavaScript strings using template literals

• Manage arrays and objects using JavaScript destructuring syntax

• Iterate over arrays and objects using JavaScript for...of syntax

 

LESSON TWO The Document Object Model

• Describe and explain the Document Object Model for web browsers

• Access page elements by ID, class, and type using JavaScript

 

LESSON THREE Creating Content with JavaScript

• Modify HTML content with JavaScript

• Create HTML content and elements with JavaScript

• Remove HTML content with JavaScript

• Style HTML content with JavaScript and CSS

 

LESSON FOUR Working with Browser Events

• Describe and explain the phases of browser events

• Create event listeners that handle browser events by writing code that runs when an event is triggered

• Describe and explain the events that are fired as a web page loads

 

LESSON FIVE Performance

• Manage website performance by controlling content creation efficiently.

• Describe what happens when a webpage has to be redrawn

• Describe and explain the JavaScript call stack

• Describe and explain the JavaScript event loop

• Write efficient code by analyzing the call stack and event loop

• Delay code execution with setTimeout

 

Course 3:

Web APIs and Asynchronous Applications Set up a Node and Express environment so you can develop web applications on your local machine, and learn to handle HTTP Requests & Routes. Update and modify website elements dynamically using asynchronously retrieved data.

 

Course Project Weather Journal In this project, you’ll apply your new skills to combine data from the OpenWeatherMap API and client side (browser) HTML forms to create a web app that records a weather journal for users. This project requires you to create an asynchronous web app that uses Web API and user data to dynamically update the UI for a Weather Journal App.

 

LESSON ONE Node & Express Environment

• Set up a Node and Express environment to develop a web application on your local machine

• Install JavaScript packages using npm (Node Package Manager)

• Setup and run a local development server

• Manage web application file structure and website assets using Express LESSON TWO HTTP Requests & Routes

• Handle requests to an Express with routes

• Describe and explain the differences between GET and POST requests

• Build a web server and use it to serve data and responses to web requests LESSON THREE Asynchronous JavaScript

• Manage asynchronous JavaScript control flow with Promises

• Request data from a server using JavaScript Fetch • Update and modify website elements dynamically using asynchronously retrieved data

 

Course 4: Build Tools, Webpack, and Service Worker

Develop an understanding of how to use build tools, such as Webpack, for automating build tasks. Create CSS variables with Sass and configure Webpack to use Sass controlled stylesheets. Learn how to cache server data and website functionality using Service Worker.

 

Course Project Article Analysis Website

 In this project, you’ll get a taste of some common production environments and tools that you will likely come across in a front end developer role. You will be building a web tool that allows users to run Natural Language Processing (NLP) on articles or blogs found on other websites. Using an exciting new API called Aylien, you can build a simple web interface to interact with their NLP system. This tool will give back pertinent information about the article: whether the content is subjective (opinion) or objective (fact-based) and whether it is positive, neutral, or negative in tone.

For this project, you will use:

• Node

• Express

• Aylien API

• Webpack

• Service Worker

 

Course Project : Front End Web Developer Nanodegree Program Capstone

In the final project, you’ll combine all of the skills you’ve developed throughout the Nanodegree program to build an online travel app. You’ll work with data sources from multiple APIs to create a dynamic travel weather planning application that helps people plan trips by generating weather forecasts for the places they’re visiting. You’ll pull together all of the JavaScript, HTML, CSS, and build tool skills and knowledge you’ve gained to create this application. The design is up to you, and you’ll have the flexibility to include and combine other APIs (even your own!) to build this final project.

 

LESSON ONE Intro to Build Tools

• Describe and explain the problems solved by using automated build tools

• Inspect and analyze the activity that occurs when loading a web page in a browser

• Describe and explain what Webpack is and how it can be used

 

LESSON TWO Basics of Webpack • Install Webpack to a computer • Configure webpack for automating build tasks • Define an entry point for a webpack bundle • Install and configure middleware for building an application • Extend Webpack functionality by installing plugins

 

LESSON THREE Sass and Webpack

• Describe and explain the benefits and use cases for Sass

• Create CSS variables with Sass

• Extend and nest CSS sheets and classes with Sass

• Configure Webpack to use Sass controlled stylesheets

 

LESSON FOUR Final Touches

• Control variable and function scope with JavaScript IIFEs (Immediately Invoked Function Expressions)

• Optimize an application build pipeline with Webpack

• Cache server data and websites functionality using Service Worker

 

Learn Intermediate JavaScript

Overview The goal of the Intermediate JavaScript Nanodegree program is to prepare students for roles in web development, server-side application development, and desktop development that require a more advanced set of JavaScript skills. This program will also prepare students with the skills required to use JavaScript frameworks like React, Angular, and Vue. A graduate of this program will be able to:

• Use object-oriented JavaScript to build classes to construct objects that encapsulate data and functionality

• Create private state with closures and immediately-invoked function expressions

• Parse, organize and transform data in JavaScript using common methods for collections, arrays, and objects

• Use the functional programming paradigm with immutable objects, pure functions, and common functional methods.

• Design functional programming pipelines using higher order wrapping functions and currying.

• Implement asynchronous programming with JavaScript including using named functions, handler functions, and JavaScript Promises. Prerequisites: A well-prepared student will be able to Explain and utilize JavaScript’s primitive types, write conditions and loops, recognize object syntax and structure, declare functions, and navigate and use Chrome DevTools.

 

LESSON ONE Objects in Depth

• Create objects and add/remove properties to them

• Write methods to access and mutate an object’s properties

• Learn how variables are properties on window LESSON TWO Functions at Runtime

• Leverage functions as first-class functions

• Identify when a scope is created

• Utilize closures and IIFEs to build private state LESSON THREE Classes and Objects

• Write a constructor function to instantiate objects

• Identify and manually set the value

• Identify and manually set the value of this LESSON FOUR Object Oriented Design Patterns

• Use Mixins to copy properties from one object to another object

• Create objects with private properties using module pattern and revealing module pattern

 

Course 2: Functional Programming Functional programming is a hot new topic in the world of JavaScript, but in this course you’ll learn that the idea of Functional Programming has been around for a long time! This course will help you gain a better understanding of programming paradigms and why there is a trend towards the Functional paradigm right now. Beyond a high level understanding of Functional programming, you will also discover and practice the modern JavaScript syntax that will allow you to benefit from these concepts in your JavaScript programs. LEARNING OUTCOMES LESSON ONE Course

Introduction - Functional Programming

• Introduction to the course and concepts

• Requirements, pre-requisites, and resources

• Introduction to Functional Programming

• A brief history of Functional Programming LESSON TWO Introduction to Functional Programming

• Introduction to Programming Paradigms

• Benefits of understanding programming paradigms

• Comparing Paradigms

• Benefits of Functional Programming LESSON THREE Functional JS Syntax

• ES6 Array methods • ES6 Variables

• Object Methods LESSON FOUR Functional Programming in JS

• Writing Functional Programs in JavaScript • Higher Order Functions

• Functional data manipulation

• Functional DOM manipulations LESSON FIVE Going Further with Functional JS

• Persistent Data Structures

Immutable.JS (vanilla JS)

• RxJs (primarily AngularJS)

• Redux (primarily ReactJS) Course Project Create a Mars Rover Dashboard The functional JavaScript course project will be to build a dashboard for the past and current NASA Mars rovers, information about each mission and images from their excursions. You will be tasked with using all the ES6 syntax and functional programming concepts from the course to interact with a real NASA API and build the front end logic to create the dashboard. Need Help? Speak with an Advisor: www.udacity.com/advisor Intermediate JavaScript | 5 Course 3: Asynchronous Programming in JavaScript The focus of this course is to get you comfortable reading, writing, and thinking in asynchronous patterns. Understanding asynchronous programming is not only a vital JavaScript skill to master, but is also an important step in your progress as a web developer. This course will cover the original and modern ways to handle asynchronous events in JavaScript, from callbacks, to Promises, and Async/ await. Alongside these topics will come important conceptual lessons, real life applications, and lots of hands on practice. LEARNING OUTCOMES LESSON ONE Stack vs. Heap

 

• Introduction to the course and concepts

• Requirements, pre-requisites, and resources

• Introduction to asynchronous thinking

• Benefits of learning asynchronous programming LESSON TWO Pointers and References

• Threads and single threaded programming • Blocking and Non-Blocking code • Helpful terms for single and multi threaded programming • Callbacks for asynchronous functionality

 

 

LESSON THREE New, Delete, Memset and Mallo

• Basic syntax and Promise chaining

• How Promises relieved the pain points of callbacks

• Implementations of Promises with Fetch

• Error handling and best practices for Promises

• Advanced Promise methods LESSON FOUR Smart Pointers

• Synchronous Try/catch syntax

• Basic syntax of Async/await

• Async/await with Promise chains

• Error handling with Async/await

• When and When not to use Async/await Course Project Build a UdaciRacer Simulation Game In this project, you will complete a partially built single player racing game. Using the skills and concepts you learned in the course, you will combine callbacks, Promises and Async/await syntax to complete TODOs marked in the code. The TODO’s will range from creating API requests to completing asynchronous logic flows. You will also be able to create a theme for your race, like Nascar, horse racing, or spaceship racing! By the end, you will be able to play through a racing game of your very own creation. Need Help? Speak with an Advisor: www.udacity.com/advisor Intermediate

 

JavaScript | 6 Our Classroom Experience REAL-WORLD PROJECTS Build your skills through industry-relevant projects. Get personalized feedback from our network of 900+ project reviewers. Our simple interface makes it easy to submit your projects as often as you need and receive unlimited feedback on your work. KNOWLEDGE Find answers to your questions with Knowledge, our proprietary wiki. Search questions asked by other students, connect with technical mentors, and discover in real-time how to solve the challenges that you encounter. STUDENT HUB Leverage the power of community through a simple, yet powerful chat interface built within the classroom. Use Student Hub to connect with your fellow students in your Executive Program. WORKSPACES See your code in action. Check the output and quality of your code by running them on workspaces that are a part of our classroom. QUIZZES Check your understanding of concepts learned in the program by answering simple and auto-graded quizzes. Easily go back to the lessons to brush up on concepts anytime you get an answer wrong. CUSTOM STUDY PLANS Preschedule your study times and save them to your personal calendar to create a custom study plan. Program regular reminders to keep track of your progress toward your goals and completion of your program. PROGRESS TRACKER Stay on track to complete your Nanodegree program with useful milestone reminders.

Need Help? Speak with an Advisor: www.udacity.com/advisor

Intermediate JavaScript | 7 Learn with the Best

 

Alyssa Hope SOFTWARE DEVELOPER AT SEAMGEN Alyssa is a full stack developer who was previously the lead instructor at a coding bootcamp. With a degree in International Communications, her passion is to express thoughts well, whether in code or writing.

 

Andrew Wong

DEVELOPER ADVOCATE AT ADYEN Andrew is a Course Developer who enjoys making the world a better place through code. He first discovered his passion for teaching as an instructor at App Academy, and continues to enjoy empowering students to advance their education.

 

Rachel Manning

FRONT END DEVELOPER AT ACQUIA Rachel is a front end web developer at Acquia and spent 3 years as the curriculum developer for a Silicon Beach bootcamp. An advocate for continued learning, she is passionate about mentoring women and students in technology.

 

Richard Kalehoff

SOFTWARE ENGINEER AT UDACITY Richard is a Course Developer with a passion for teaching. He has a degree in computer science, and first worked for a nonprofit doing everything from front end web development, to backend programming, to database and server management.

 

 

 

Android Developer

Overview

We built this Nanodegree program in partnership with Google for students with intermediate programming skills who want to become professional Android developers.

By the end of this program, you’ll have a diverse portfolio of projects to show employers, including your own app on Google Play. This program is aimed at developers with 1-2 years of experience programming in Java or another objectoriented programming language like Python or C#. If you don’t have this experience, we recommend you first complete our Android Basics Nanodegree program or its individual classes prior to starting this program. Experience with git and GitHub is highly recommended. If you don’t have this experience, please take our free course on using git and GitHub prior to starting this Nanodegree program. In addition, taking our free course “GitHub & Collaboration” would also be beneficial to you. Prerequisites: Java, Git, GitHub Flexible Learning: Self-paced, so you can learn on the schedule that works best for you. Estimated Time: 6 Months at 10hrs/week Need Help? udacity.com/advisor Discuss this program with an enrollment advisor. IN COLLABORATION WITH Need Help? Speak with an Advisor: www.udacity.com/advisor Android Developer | 3

 

Course 1: Developing Android Apps

In this project, you will complete an app by building a layout and populating its fields from data received as JSON.

 

Course Project Sandwich Club

In this project, you will complete an app by building a layout and populating its fields from data received as JSON.

 

Course Project Popular Movies App, Stage 1

Build a simple movies app that communicates with the Internet and provides a responsive user experience.

In this project, you will:

• Fetch data from the Internet using the Movie Database API. • Use adapters and custom list layouts to populate list views.

• Incorporate libraries to simplify the amount of code you need to write Course Project Popular Movies App, Stage 2 Build off of your existing movies app to create a fully featured application that looks and feels natural on the latest stable Android operating system (Android version Oreo, as of August 2017). In this project, you will: • Allow users to view and play trailers (either in the YouTube app or a web browser). • Allow users to read reviews of a selected movie. • Allow users to mark a movie as a favorite in the details view by tapping a button(star). • Create a database and content provider to store the names and IDs of the user’s favorite movies (and optionally, the rest of the information needed to display their favorites collection while offline). • Modify the existing sorting criteria for the main view to include an additional pivot to show their favorites collection. Need Help? Speak with an Advisor: www.udacity.com/advisor Android Developer | 

 

LESSON ONE

Create Project Sunshine

• Create and configure a new project in Android Studio using mock data

 

LESSON TWO

Connect to the Internet

• Connect your project to the cloud and replace mock data with data from a weather service, using Android permissions and network I/O

 

LESSON THREE

Recyclerview

• Display and interact with scrolling information using a RecyclerView, and update your app to display information in individual views

 

LESSON FOUR

Intents

• Create structure of your app and navigate between screen, using activities from other apps within your own app

 

LESSON FIVE

Lifecycle

• Leverage the Android framework to handle the Android lifecycle

 

LESSON SIX Preferences

• Enable users to set their preferences for customized views, and save those preferences in app settings and configurations

 

LESSON SEVEN

Storing Data in Sqlite

• Build an SQLite database for your app

 

LESSON EIGHT

Content Providers

• Use a pre-existing content provider in your app to grab user data from your user’s phone

Need Help? Speak with an Advisor: www.udacity.com/advisor Android Developer | 5

 

LESSON NINE Android Architecture Components • Learn how Android Architecture components classes can help manage your application’s lifecycle and its data persistence needs

 

LESSON TEN Background Tasks • Learn how to effectively run jobs in the background, create notifications, and periodically schedule long running background processes

 

LESSON ELEVEN Completing the UI • Try different views, viewgroups and alternative layouts, perform data binding, make your app accessible

 

LESSON TWELVE

Polishing the UI

• Add visual polish and styling to your app, including custom colors, fonts and styles, accounting for multiple devices

 

 

Course 2: Advanced Android App Development

Make your apps more responsive, and create a total user experience with home screen widgets, thirdparty libraries, and more. Also, learn to deeply integrate rich media, test user interfaces, and publish to Google Play.

 

LEARNING OUTCOMES

LESSON ONE Fragments • Make reusable components in your app to support different form factors

 

LESSON TWO Libraries • Use external libraries to personalize your app

 

LESSON THREE Firebase Cloud Messaging • Add messaging functionality and push notifications to your app using Firebase Cloud Messaging

 

LESSON FOUR Places

• Use the Places API to add location to your app. Course Project Baking App In this project, you will create an app to view cooking recipes. You will handle media loading, verify your user interfaces with UI tests, integrate third party libraries and provide a complete UX with home screen widget. In this project, you will: • Use MediaPlayer/ExoPlayer to display videos.

• Handle error cases in Android. • Add a widget to your app experience.

• Leverage a third-party library in your app.

• Use Fragments to create a responsive design that works on phones and tablets. 

 

LESSON SIX Widgets

• Give users easy access to your app with a homescreen widget

 

LESSON SEVEN Espresso

• Use User Interface testing to test and verify workflows in your app

 

LESSON EIGHT

Publishing Your App

• Publish your app on the Google Play Store

 

LESSON TWO Gradle For Java • Use Gradle to build Java projects.

 

LESSON THREE Gradle For Android • Use Gradle with Android Studio, and create free and paid versions of an app.

 

LESSON FOUR Advanced Android Builds • Use Gradle to automate tasks, including dependency management and unit testing.

 

LESSON FIVE Special Topics • Update old projects and libraries, learn more about custom tasks Course Project Build It Bigger In this project, you will use Gradle to build a joke-telling app, factoring functionality into libraries and flavors to keep the build simple. You will configure a library to connect to a web service for jokes.

 

The finished app will consist of four modules:

• A Java library that provides jokes

• A Google Cloud Endpoints (GCE) project that serves those jokes

• An Android Library containing an activity for displaying jokes

• An Android app that fetches jokes from a web service and passes them to the Android Library for display Need 

 

LESSON TWO Surfaces • Implement paper surfaces in your design

 

LESSON THREE Bold Graphic Design • Use design elements of space, color, type and imagery to make your app more beautiful and impactful

 

LESSON FOUR Meaningful Motion • Apply real world principles of motion to make your interface more understandable and continuous

 

LESSON FIVE Adaptive Design • Implement Material Design for new form factors

 

LESSON SIX Constraint Layout • Learn and apply the new features of ConstraintLayout that will help you create performant user interfaces Course Project Make Your App Material In this project, you’ll update the look and feel of an app to meet Material Design specifications using design elements, surfaces, and transitions across multiple form factors.

 

 

Course 5: Capstone Project Integrate all you’ve learned in this program to bring your own app idea to life, and publish your app to Google Play. Course Project Capstone, Stage 1 - Design In this project, you will demonstrate the ability to communicate an app idea formally, using:

• An app description

• UI flow mocks, similar to what you have seen in other Nanodegree projects, like the Popular Movie overview

• A list of required tasks that you will complete to build the app The Capstone project will give you the experience you need to own the full development of an app.

 

This first stage replicates the design and planning experience that proficient Android Developers are expected to demonstrate.

Course Project

Capstone, Stage 2 - Build In this project, you will demonstrate the skills you have learned in your Nanodegree program journey and apply them to creating a unique app experience of your own. By the end of this project, you will have an app that you can submit to the Google Play Store for distribution.

 

The Capstone project will give you the experience you need to own the full development cycle of an app.

 

 

 

반응형