Online courses directory (19947)
In this course you'll learn the basic Linux fundamentals every web developer needs to know to share their web applications with the world! You'll get a basic Python WSGI application up and running within a Vagrant virtual machine that queries data from a PostgreSQL database. You'll start by exploring various Linux distributions and learning the differences between a number of them. You'll then explore how the Linux operating system differs from other operating systems you may be more familiar with. With this base knowledge, you'll then move into Linux security - covering topics such as file permissions, user management, package management and configuring firewalls. Finally, you'll transform a safe and secure baseline server into a web application server by installing and configuring the Apache HTTP Server and PostgreSQL database server.
Go where your users are: the living room! With Google Cast and Android TV, you can add a big screen and cinematic experience to your app. This course shows you how to extend your existing Android app to work on Android TV and Google Cast. You can take advantage of both technologies without having to rewrite your app. This course is part of the Ubiquitous Computing series. Designed as standalone short courses, you can take any course on its own, or take them all! * Android Wear Development * **Android TV and Google Cast Development** [this course] * Android Auto Development
Here is one important question Android developers ask while making apps: "How can I do ________ in Android?" The following are versions of this question that we came across recently: - How can I add radio buttons to my app? - How can I play a sound? - How can I navigate between multiple screens? This course is a collection of such questions and their answers. By the end of this course you will have mastered the ability to implement new Android features by reading a blog or article — this is a critical skill possessed by professional Android developers. As a result, you will also be able to use several User Interface components — like Toggle Buttons, Menus, Grid View and many more — that are central to making functional and delightful Android apps.
Learn the fundamentals of JavaScript, the most popular programming language in web development.
Get started writing Python with this introductory course.
Learn about the fundamentals of Artificial Intelligence in this introductory graduate-level course. It provides a survey of various topics in the field along with in-depth discussion of foundational concepts such as classical search, probability, machine learning, logic and planning.
This course is an introductory course on human-computer interaction, covering the principles, techniques, and open areas of development in HCI.
The goal of this course is to take existing IT professionals, whether they come from software development or operations, and help them appreciate the challenges facing companies who are looking to embrace scalable software deployment as well as the architectures and thought processes they can use to address these challenges. Students will start with a presentation of the problem as it stands today, then dive into the DevOps workflow and a survey of the system architectures currently being used to address this problem.
The goal of this course is to give you solid foundations for developing, analyzing, and implementing parallel and locality-efficient algorithms. This course focuses on theoretical underpinnings. To give a practical feeling for how algorithms map to and behave on real systems, we will supplement algorithmic theory with hands-on exercises on modern HPC systems, such as Cilk Plus or OpenMP on shared memory nodes, CUDA for graphics co-processors (GPUs), and MPI and PGAS models for distributed memory systems. This course is a graduate-level introduction to scalable parallel algorithms. “Scale” really refers to two things: efficient as the problem size grows, and efficient as the system size (measured in numbers of cores or compute nodes) grows. To really scale your algorithm in both of these senses, you need to be smart about reducing asymptotic complexity the way you’ve done for sequential algorithms since CS 101; but you also need to think about reducing communication and data movement. This course is about the basic algorithmic techniques you’ll need to do so. The techniques you’ll encounter covers the main algorithm design and analysis ideas for three major classes of machines: for multicore and many core shared memory machines, via the work-span model; for distributed memory machines like clusters and supercomputers, via network models; and for sequential or parallel machines with deep memory hierarchies (e.g., caches). You will see these techniques applied to fundamental problems, like sorting, search on trees and graphs, and linear algebra, among others. The practical aspect of this course is implementing the algorithms and techniques you’ll learn to run on real parallel and distributed systems, so you can check whether what appears to work well in theory also translates into practice. (Programming models you’ll use include Cilk Plus, OpenMP, and MPI, and possibly others.)
In this course, you’ll learn how to use Firebase from the experts at Google. Firebase is an app development platform that provides developers with a variety of tools and a scalable infrastructure so that you can quickly build high quality apps. In this course, you’ll build FriendlyChat, a realtime text and picture chat application. To start, you’ll see how easy it is to read and write data to Firebase. After that, you’ll learn how to let users login with their email or Google account. You’ll then learn how to use Firebase’s Security and Rules language to secure and add permissions to your data. In the second lesson, you’ll learn about Firebase Storage, which lets users upload content from their devices. Then you’ll have a brief overview of Firebase Analytics so you can analyze app usage data to make decision about your app. Following that, you’ll explore Firebase Notifications, which allow you to send notifications to customized segments of users. Finally, you’ll dive into Firebase Remote Config, which gives you the ability to tune and customize your app without having to publish a new version. By the end of this course you will have an Android application that can store and share data between different users in realtime as well as authenticate and authorize those users.
This course provides an introduction to security issues relating to various cyber-physical systems including industrial control systems and those considered critical infrastructure systems.
The objective of this course is to learn the theory and practice behind building automatic translators (compilers) for higher level programming languages and to engineer and build key phases of a compiler in Java or C++ for a small language.
This course presents an example of applying a database application development methodology to a major real-world project.
You should take this course if you have an interest in machine learning and the desire to engage with it from a theoretical perspective. Through a combination of classic papers and more recent work, you will explore automated decision-making from a computer-science perspective. You will examine efficient algorithms, where they exist, for single-agent and multi-agent planning as well as approaches to learning near-optimal decisions from experience. At the end of the course, you will replicate a result from a published paper in reinforcement learning.
In this course, you’ll learn how to use Firebase. Firebase is a cloud backend, and one of the leading choices for Backend as a Service. It enables you to quickly get synchronized data up and running for multi-user apps. This is important because nearly every mobile app these days requires authentication and real-time data updates. We’ll begin by showing you how easy it is to read and write almost any data to Firebase. After that, we’ll teach you how to allow users to login and have data associated with them. We’ll then cover how to write queries and filters for your data. You’ll discover how to take advantage of Firebase's offline capabilities, and master efficient database design for lightning-fast data retrieval. Lastly, you’ll learn how to use Firebase’s Security and Rules language to secure and add permissions to your data. By the end of this course you will have an Android application that can store and share data between different users in real time as well as authenticate and authorize those users.
Prototyping allows you to spend ten minutes -- instead of ten hours -- finding an amazing design for your product. This course will guide you through the iterative process of prototyping an app and conducting user research. You will start by making a low fidelity paper prototype, conducting research with users, and using that research to inform your next iteration. Together with InVision we’ll guide you through creating interactive prototypes. This means you don’t have to code an app before putting it in front of users! Along the way, you’ll learn how and where prototyping fits into your app design process and how you can use prototyping to become a better entrepreneur. This course is part of our Tech Entrepreneur Nanodegree Program, click [here to learn more](https://www.udacity.com/course/tech-entrepreneur-nanodegree--nd007).
Introduction to Operating Systems is a graduate-level introductory course in operating systems. This course teaches the basic operating system abstractions, mechanisms, and their implementations. The core of the course contains concurrent programming (threads and synchronization), inter process communication, and an introduction to distributed operating systems. The course is split into four sections: (1) Introduction, (2) Process and Thread Management, (3) Resource Management and Communication, and (4) Distributed Systems.
The summary for this course comes from the [course web site at Georgia Tech](http://www.cc.gatech.edu/fac/traynor/cs6262/s14/index.html). Note that watching this course on Udacity does not count for Georgia Tech credit unless you are enrolled in the [Georgia Tech OMSCS](http://omscs.gatech.edu/) program. This course provides an introduction to computer and network security. Students successfully completing this class will be able to evaluate works in academic and commercial security, and will have rudimentary skills in security research. The course begins with a tutorial of the basic elements of cryptography, cryptanalysis, and systems security, and continues by covering a number of seminal papers and monographs in a wide range of security areas. Topics covered include network security, authentication, security protocol design and analysis, security modeling, trusted computing, key management, program safety, intrusion detection, DDOS detection and mitigation, architecture/operating systems security, security policy, group systems, biometrics, web security, and other emerging topics. Most of the course readings will come from seminal papers in the field. Links to these papers will be provided on the course pages. In addition, links to critical reference materials will also be provided.
In this course, we will explore how to wrangle data from diverse sources and shape it to enable data-driven applications. Some data scientists spend the bulk of their time doing this! Students will learn how to gather and extract data from widely used data formats. They will learn how to assess the quality of data and explore best practices for data cleaning. We will also introduce students to MongoDB, covering the essentials of storing data and the MongoDB query language together with exploratory analysis using the MongoDB aggregation framework. This is a great course for those interested in entry-level data science positions as well as current business/data analysts looking to add big data to their repertoire, and managers working with data professionals or looking to leverage big data. This course is also a part of our Data Analyst Nanodegree.
This course will teach you how to start from scratch in answering questions about the real world using data. Machine learning happens to be a small part of this process. The model building process involves setting up ways of collecting data, understanding and paying attention to what is important in the data to answer the questions you are asking, finding a statistical, mathematical or a simulation model to gain understanding and make predictions. All of these things are equally important and model building is a crucial skill to acquire in every field of science. The process stays true to the scientific method, making what you learn through your models useful for gaining an understanding of whatever you are investigating as well as make predictions that hold true to test. We will take you on a journey through building various models. This process involves asking questions, gathering and manipulating data, building models, and ultimately testing and evaluating them.
Trusted paper writing service WriteMyPaper.Today will write the papers of any difficulty.