Courses can be taken to achieve a variety of purposes: They can serve as remedial or foundational classes, they might be taken to gain valuable skills, or they could be chosen simply to pursue an interest.
There are several fields that make up the broader field of computer science. One of these fields is the computational complexity theory, which can be very abstract. Other fields, such as computer graphics, deal more with concrete and hands-on visuals.
The USA remains the world’s most popular destination for international students. Universities in the US dominate the world rankings and the country also offers a wide variety of exciting study locations. State university systems are partially subsidized by state governments, and may have many campuses spread around the state, with hundreds of thousands of students.
Online Course in Computer Science in USA
Do you realize that the only functionality of a web application with which the user interacts is via the web page? Implement it poorly and, for the user, the server side becomes inappropriate! [+]
Welcome to the course of Introduction to Computer Science for the regular students of the University of São Paulo and to all those interested in learning not only to program in Python but also the basic concepts of Computer Science! [+]
When you finish this course you will have achieved a great number of skills such as entering information, ordering, manipulating, performing calculations of various kinds (mathematical, trigonometric, statistical, financial, engineering, probabilistic), drawing conclusions, working with dates and hours, Print reports and many more. [+]
This course will introduce the core data structures of the Python programming language. We will move past the basics of procedural programming and explore how we can use the Python built-in data structures such as lists, dictionaries, and tuples to perform increasingly complex data analysis. [+]
Do you have data and wonder what it can tell you? Do you need a deeper understanding of the core ways in which machine learning can improve your business? Do you want to be able to converse with specialists about anything from regression and classification to deep learning and recommender systems? [+]
Do you have data and wonder what it can tell you? Do you need a deeper understanding of the core ways in which machine learning can improve your business? Do you want to be able to converse with specialists about anything from regression and classification to deep learning and recommender systems? In this course, you will get hands-on experience with machine learning from a series of practical case-studies. At the end of the first course, you will have studied how to predict house prices based on house-level features, analyze sentiment from user reviews, retrieve documents of interest, recommend products, and search for images. Through hands-on practice with these use cases, you will be able to apply machine learning methods in a wide range of domains. This first course treats the machine learning method as a black box. Using this abstraction, you will focus on understanding tasks of interest, matching these tasks to machine learning tools, and assessing the quality of the output. In subsequent courses, you will delve into the components of this black box by examining models and algorithms. Together, these pieces form the machine learning pipeline, which you will use in developing intelligent applications. Learning Outcomes: By the end of this course, you will be able to: - Identify potential applications of machine learning in practice. - Describe the core differences in analyses enabled by regression, classification, and clustering. - Select the appropriate machine learning task for a potential application. - Apply regression, classification, clustering, retrieval, recommender systems,... [-]
In this project-centered course*, you’ll design, build, and distribute your own unique application for the Android mobile platform. We’ll provide you with a set of customizable building blocks that you can assemble to create many different types of apps, and that will help you become familiar with many important specificities of Android development. [+]
Behind every mouse click and touch-screen tap, there is a computer program that makes things happen. This course introduces the fundamental building blocks of programming and teaches you how to write fun and useful programs using the Python language. [+]
In this course you will learn how to apply the functional programming style in the design of larger applications. You'll get to know important new functional programming concepts, from lazy evaluation to structuring your libraries using monads. [+]
This course teaches computer programming to those with little to no previous experience. It uses the programming system and language called MATLAB to do so because it is easy to learn, versatile and very useful for engineers and other professionals. [+]
In this course you will get an introduction to the main tools and ideas in the data scientist's toolbox. The course gives an overview of the data, questions, and tools that data analysts and data scientists work with. [+]
This week covers the basics to get you started up with R. The Background Materials lesson contains information about course mechanics and some videos on installing R. [+]
This course will introduce the learner to the basics of the python programming environment, including how to download and install python, expected fundamental python programming techniques, and how to find help with python programming questions. [+]
Learn about artificial neural networks and how they're being used for machine learning, as applied to speech and object recognition, image segmentation, modeling language and human motion, etc. We'll emphasize both the basic algorithms and the practical tricks needed to get them to work well. [+]
This course aims to teach everyone the basics of programming computers using Python. We cover the basics of how one constructs a program from a series of simple instructions in Python. [+]
This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. [+]
This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers elementary data structures, sorting, and searching algorithms. Part II focuses on graph- and string-processing algorithms. WEEK 1 Course Introduction Welcome to Algorithms, Part I. Union−Find We illustrate our basic approach to developing and analyzing algorithms by considering the dynamic connectivity problem. We introduce the union−find data type and consider several implementations (quick find, quick union, weighted quick union, and weighted quick union with path compression). Finally, we apply the union−find data type to the percolation problem from physical chemistry. Analysis of Algorithms The basis of our approach for analyzing the performance of algorithms is the scientific method. We begin by performing computational experiments to measure the running times of our programs. We use these measurements to develop hypotheses about performance. Next, we create mathematical models to explain their behavior. Finally, we consider analyzing the memory usage of our Java programs. WEEK 2 Stacks and Queues We consider two fundamental data types for storing collections of objects: the stack and the queue. We implement each using either a singly-linked list or a resizing array. We introduce two advanced Java features—generics and iterators—that simplify client code. Finally, we consider various applications of stacks and queues ranging from parsing arithmetic expressions to simulating queueing systems. Elementary Sorts We introduce the sorting problem and Java's Comparable interface. We study two elementary sorting... [-]