Online Course in Computer Science in USA

View Online Courses in Computer Science in USA 2017

Computer Science

Courses are individual classes that can be taken at universities, colleges, junior colleges, and trade schools worldwide. For even greater flexibility, many schools also offer online classes. Students can take individual classes or pursue degree programs.

The foundations of computer science actually date back to before the modern computer had actually been created. For instance, algorithms for computing have been around for hundreds of years. One book of Sanskrit algorithms dates back to 800 BC.

The United States of America is a large country in North America, often referred to as the "USA", the "US", the "United States", "America", or simply "the States". American colleges are funded by "tuition" charged to the student, which is often quite expensive, very commonly reaching into the tens of thousands of dollars per year.

Online Course in Computer Science in USA

Read More

Course in Ruby on Rails Web Development (Intermediate)

Coursera
Online Part time 7 months Open Enrollment USA USA Online

This Specialization covers the fundamentals of web development with Ruby on Rails. You’ll learn everything you need to develop your own web application using Ruby on Rails, SQL and NoSQL databases, and HTML/CSS, and Javascript. Courser will also touch on advanced topics such as security, services using HTTP/RESTful access patterns, and user access and user experience from multiple device platforms. [+]

Online Courses in Computer Science in USA. This Specialization covers the fundamentals of web development with Ruby on Rails. You’ll learn everything you need to develop your own web application using Ruby on Rails, SQL and NoSQL databases, and HTML/CSS, and Javascript. Coursera will also touch on advanced topics such as security, services using HTTP/RESTful access patterns, and user access and user experience from multiple device platforms. In the final Capstone Project, you’ll apply your skills to develop a web application that hosts uploaded photos and displays them using a map. Courses Ruby on Rails: An Introduction Did you ever want to build a web application? Perhaps you even started down that path in a language like Java or C#, when you realized that there was so much “climbing the mountain” that you had to do? Maybe you have heard about web services being all the rage, but thought they were too complicated to integrate into your web application. Or maybe you wondered how deploying web applications to the cloud works, but there was too much to set up just to get going. In this course, Coursera will explore how to build web applications with the Ruby on Rails web application framework, which is geared towards rapid prototyping. Yes, that means building quickly! At the conclusion of this course, you will be able to build a meaningful web application and deploy it to the “cloud” using a Heroku PaaS (Platform as a Service). Best of all, it will almost feel... [-]

Course in Cybersecurity (Intermediate)

Coursera
Online Part time Open Enrollment USA USA Online

The Cybersecurity Specialization covers the fundamental concepts underlying the construction of secure systems, from the hardware to the software to the human-computer interface, with the use of cryptography to secure interactions. [+]

The Cybersecurity Specialization covers the fundamental concepts underlying the construction of secure systems, from the hardware to the software to the human-computer interface, with the use of cryptography to secure interactions. These concepts are illustrated with examples drawn from modern practice, and augmented with hands-on exercises involving relevant tools and techniques. Successful participants will develop a way of thinking that is security-oriented, better understanding how to think about adversaries and how to build systems that defend against them. Courses Usable Security This course focuses on how to design and build secure systems with a human-centric focus. Coursera will look at basic principles of human-computer interaction, and apply these insights to the design of secure systems with the goal of developing security measures that respect human performance and their goals within a system. Software Security This course will explore the foundations of software security. Coursera will consider important software vulnerabilities and attacks that exploit them -- such as buffer overflows, SQL injection, and session hijacking -- and Coursera will consider defenses that prevent or mitigate these attacks, including advanced testing and program analysis techniques. Importantly, Coursera takes a "build security in" mentality, considering techniques at each phase of the development cycle that can be used to strengthen the security of software systems. Cryptography This course will introduce you to the foundations of modern cryptography, with an eye toward practical applications. Hardware Security In this course, we will study security and trust from the hardware perspective. Upon completing the course, students will... [-]

Course in Software Product Management

Coursera
Online Part time 6 months Open Enrollment USA USA Online

In this Software Product Management Specialization, you will master Agile software management practices to lead a team of developers and interact with clients. In the final Capstone Project, you will practice and apply management techniques to realistic scenarios that you will face as a Software Product Manager. [+]

Online Courses in Computer Science in USA. In this Software Product Management Specialization, you will master Agile software management practices to lead a team of developers and interact with clients. In the final Capstone Project, you will practice and apply management techniques to realistic scenarios that you will face as a Software Product Manager. You will have the opportunity to share your experiences and learn from the insights of others as part of a Software Product Management. Courses Introduction to Software Product Management This course highlights the importance and role of software product management. It also provides an overview of the specialization, as well as its goals, structure, and expectations. The course explains the value of process, requirements, planning, and monitoring in producing better software. Upon successful completion of this course, you will be able to: - Relate software product management to better software products - Recognize the role of a software product manager - Reflect on how Agile principles will improve your own projects Software Processes and Agile Practices This course delves into a variety of processes to structure software development. It also covers the foundations of core Agile practices, such as Extreme Programming and Scrum. Upon successful completion of this course, you will be able to: - Distinguish between different process models for organizing software production. - Gauge the applicability of process models for a software development project. - Apply the fundamentals of Agile software development and management practices. Client Needs and Software Requirements This course covers practical... [-]

Course in Data Structures and Algorithms (Intermediate)

Coursera
Online Part time 6 - 8 months Open Enrollment USA USA Online

The Specialization covers algorithmic techniques for solving problems arising in computer science applications. It is a mix of theory and practice: you will not only design algorithms and estimate their complexity, but you will get a deeper understanding of algorithms by implementing them in the programming language of your choice (C, C++, C#, Haskell, Java, JavaScript, Python2, Python3, Ruby, and Scala). [+]

The Specialization covers algorithmic techniques for solving problems arising in computer science applications. It is a mix of theory and practice: you will not only design algorithms and estimate their complexity, but you will get a deeper understanding of algorithms by implementing them in the programming language of your choice (C, C++, C#, Haskell, Java, JavaScript, Python2, Python3, Ruby, and Scala). This Specialization is unique, because it offers two real-world projects. Advanced Shortest Paths project is offered in the end of the Algorithms on Graphs course. In this project, you'll deal with road network analysis and social network analysis. You'll learn how to compute the fastest route between New York and Mountain View thousands of times faster than classic algorithms and close to those used in Google Maps. Through Genome Assembly culminating project at the end of the Specialization, you'll learn how to assemble genomes from millions of short pieces and how algorithms fuel recent developments in personalized medicine. Courses Algorithmic Toolbox The course covers basic algorithmic techniques and ideas for computational problems arising frequently in practical applications: sorting and searching, divide and conquer, greedy algorithms, dynamic programming. We will learn a lot of theory: how to sort data and how it helps for searching; how to break a large problem into pieces and solve them recursively; when it makes sense to proceed greedily; how dynamic programming is used in genomic studies. You will practice solving computational problems, designing new algorithms, and implementing solutions efficiently (so that they run in... [-]

Course in Java Programming and Software Engineering Fundamentals (Beginner)

Coursera
Online Part time 6 - 7 months Open Enrollment USA USA Online

Designed for beginners, this Specialization will teach you core programming concepts and equip you to write programs to solve complex problems. In addition, you will gain the foundational skills a software engineer needs to solve real-world problems, from designing algorithms to testing and debugging your programs. [+]

Online Courses in Computer Science in USA. Take your first step towards a career in software development with this introduction to Java—one of the most in-demand programming languages and the foundation of the Android operating system. Designed for beginners, this Specialization will teach you core programming concepts and equip you to write programs to solve complex problems. In addition, you will gain the foundational skills a software engineer needs to solve real-world problems, from designing algorithms to testing and debugging your programs. Courses Programming Foundations with JavaScript, HTML and CSS Learn foundational programming concepts (e.g., functions, for loops, conditional statements) and how to solve problems like a programmer. In addition, learn basic web development as you build web pages using HTML, CSS, JavaScript. By the end of the course, will create a web page where others can upload their images and apply image filters that you create. After completing this course, you will be able to: 1. Think critically about how to solve a problem using programming; 2. Write JavaScript programs using functions, for loops, and conditional statements; 3. Use HTML to construct a web page with paragraphs, divs, images, links, and lists; 4. Add styles to a web page with CSS IDs and classes; and 5. Make a web page interactive with JavaScript commands like alert, onClick, onChange, adding input features like an image canvas, button, and slider. Java Programming: Solving Problems with Software Learn to code in Java and improve your programming and problem-solving skills. You will learn... [-]

Course in Functional Programming in Scala (Intermediate)

Coursera
Online Part time 4 - 5 months Open Enrollment USA USA Online

This Specialization provides a hands-on introduction to functional programming using the widespread programming language, Scala. It begins from the basic building blocks of the functional paradigm, first showing how to use these blocks to solve small problems, before building up to combining these concepts to architect larger functional programs. [+]

Discover how to write elegant code that works the first time it is run. This Specialization provides a hands-on introduction to functional programming using the widespread programming language, Scala. It begins from the basic building blocks of the functional paradigm, first showing how to use these blocks to solve small problems, before building up to combining these concepts to architect larger functional programs. You'll see how the functional paradigm facilitates parallel and distributed programming, and through a series of hands on examples and programming assignments, you'll learn how to analyze data sets small to large; from parallel programming on multicore architectures, to distributed programming on a cluster using Apache Spark. A final capstone project will allow you to apply the skills you learned by building a large data-intensive application using real-world data. Courses Functional Programming Principles in Scala Functional programming is becoming increasingly widespread in industry. This trend is driven by the adoption of Scala as the main programming language for many applications. Scala fuses functional and object-oriented programming in a practical package. It interoperates seamlessly with both Java and Javascript. Scala is the implementation language of many important frameworks, including Apache Spark, Kafka, and Akka. It provides the core infrastructure for sites such as Twitter, Tumblr and also Coursera. In this course you will discover the elements of the functional programming style and learn how to apply them usefully in your daily programming tasks. You will also develop a solid foundation for reasoning about functional programs, by touching upon... [-]

Course in Data Science (Beginner)

Coursera
Online Part time 3 - 6 months Open Enrollment USA USA Online

This Specialization covers the concepts and tools you'll need throughout the entire data science pipeline, from asking the right kinds of questions to making inferences and publishing results. In the final Capstone Project, you’ll apply the skills learned by building a data product using real-world data. At completion, students will have a portfolio demonstrating their mastery of the material. [+]

Online Courses in Computer Science in USA. Ask the right questions, manipulate data sets, and create visualizations to communicate results. This Specialization covers the concepts and tools you'll need throughout the entire data science pipeline, from asking the right kinds of questions to making inferences and publishing results. In the final Capstone Project, you’ll apply the skills learned by building a data product using real-world data. At completion, students will have a portfolio demonstrating their mastery of the material. Courses The Data Scientist’s Toolbox 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. There are two components to this course. The first is a conceptual introduction to the ideas behind turning data into actionable knowledge. The second is a practical introduction to the tools that will be used in the program like version control, markdown, git, GitHub, R, and RStudio. R Programming In this course you will learn how to program in R and how to use R for effective data analysis. You will learn how to install and configure software necessary for a statistical programming environment and describe generic programming language concepts as they are implemented in a high-level statistical language. The course covers practical issues in statistical computing which includes programming in R, reading data into R, accessing R packages, writing R functions, debugging, profiling R code, and organizing... [-]

Course in Responsive Website Development and Design (Beginner)

Coursera
Online Part time 6 - 8 months Open Enrollment USA USA Online

This Specialization covers the basics of modern full stack web development, from UX design, to front-end coding, to custom databases. You’ll build foundational skills in a full range of technologies, including HTML/CSS, Javascript, and MongoDB, and you’ll learn to implement a reactive, multi-user web application using the meteor.js framework. [+]

This Specialization covers the basics of modern full stack web development, from UX design, to front-end coding, to custom databases. You’ll build foundational skills in a full range of technologies, including HTML/CSS, Javascript, and MongoDB, and you’ll learn to implement a reactive, multi-user web application using the meteor.js framework. Coursera will also touch on more advanced topics, such as APIs, data visualization, and animation. Upon completing the Specialization and Capstone Project, you’ll have designed and launched your own fully-functioning, responsive web application. Courses Responsive Website Basics: Code with HTML, CSS, and JavaScript In this course you will learn three key website programming and design languages: HTML, CSS and JavaScript. You will create a web page using basic elements to control layout and style. Additionally, your web page will support interactivity. At the end of the course, you will be able to: 1. Define the purpose of HTML, CSS and JavaScript 2. Make a simple web page using HTML 3. Use CSS to control text styles and layout 4. Use CSS libraries such as Bootstrap to create responsive layouts 5. Use JavaScript variables and functions 6. Manipulate web page content using JavaScript 7. Respond to user input using JavaScript In this course, you will complete: 2 assignments writing HTML, CSS and JavaScript, each taking ~1 hour to complete 4 quizzes, each taking ~20 minutes to complete 1 programming exercise~30 minutes to complete multiple practice quizzes, each taking ~5 minutes to complete Participation in or completion of this online course will not... [-]

Course in Data Science at Scale (Intermediate)

Coursera
Online Part time 5 months Open Enrollment USA USA Online

Learn scalable data management, evaluate big data technologies, and design effective visualizations. This Specialization covers intermediate topics in data science. You will gain hands-on experience with scalable SQL and NoSQL data management solutions, data mining algorithms, and practical statistical and machine learning concepts. [+]

Online Courses in Computer Science in USA. Learn scalable data management, evaluate big data technologies, and design effective visualizations. This Specialization covers intermediate topics in data science. You will gain hands-on experience with scalable SQL and NoSQL data management solutions, data mining algorithms, and practical statistical and machine learning concepts. You will also learn to visualize data and communicate results, and you’ll explore legal and ethical issues that arise in working with big data. In the final Capstone Project, developed in partnership with the digital internship platform Coursolve, you’ll apply your new skills to a real-world data science project. Courses Data Manipulation at Scale: Systems and Algorithms Data analysis has replaced data acquisition as the bottleneck to evidence-based decision making --- we are drowning in it. Extracting knowledge from large, heterogeneous, and noisy datasets requires not only powerful computing resources, but the programming abstractions to use them effectively. The abstractions that emerged in the last decade blend ideas from parallel databases, distributed systems, and programming languages to create a new class of scalable data analytics platforms that form the foundation for data science at realistic scales. In this course, you will learn the landscape of relevant systems, the principles on which they rely, their tradeoffs, and how to evaluate their utility against your requirements. You will learn how practical systems were derived from the frontier of research in computer science and what systems are coming on the horizon. Cloud computing, SQL and NoSQL databases, MapReduce and the ecosystem it spawned,... [-]

Course in Applied Data Science with Python (Intermediate)

Coursera
Online Part time Open Enrollment USA USA Online

The 5 courses in this University of Michigan specialization introduce learners to data science through the python programming language. This skills-based specialization is intended for learners who have basic a python or programming background, and want to apply statistical, machine learning, information visualization, text analysis, and social network analysis techniques through popular python toolkits such as pandas, matplotlib, scikit-learn, nltk, and networkx to gain insight into their data. [+]

The 5 courses in this University of Michigan specialization introduce learners to data science through the python programming language. This skills-based specialization is intended for learners who have basic a python or programming background, and want to apply statistical, machine learning, information visualization, text analysis, and social network analysis techniques through popular python toolkits such as pandas, matplotlib, scikit-learn, nltk, and networkx to gain insight into their data. Introduction to Data Science in Python (course 1), Applied Plotting, Charting & Data Representation in Python (course 2), and Applied Machine Learning in Python (course 3) should be taken in order and prior to any other course in the specialization. After completing those, courses 4 and 5 can be taken in any order. All 5 are required to earn a certificate. Courses Introduction to Data Science in Python 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. The course will also introduce data manipulation and cleaning techniques using the popular python pandas data science library and introduce the abstraction of the DataFrame as the central data structure for data analysis. The course will end with a statistics primer, showing how various statistical measures can be applied to pandas DataFrames. By the end of the course, students will be able to take tabular data, clean it, manipulate it, and run basic inferential statistical analyses. This course is... [-]

Course in An Introduction to Programming the Internet of Things (IOT) (Beginner)

Coursera
Online Part time 6 months Open Enrollment USA USA Online

This Specialization covers embedded systems, the Raspberry Pi Platform, and the Arduino environment for building devices that can control the physical world. In the final Capstone Project, you’ll apply the skills you learned by designing, building, and testing a microcontroller-based embedded system, producing a unique final project suitable for showcasing to future employers. [+]

Online Courses in Computer Science in USA. Design, create, and deploy a fun IoT device using Arduino and Raspberry Pi platforms. This Specialization covers embedded systems, the Raspberry Pi Platform, and the Arduino environment for building devices that can control the physical world. In the final Capstone Project, you’ll apply the skills you learned by designing, building, and testing a microcontroller-based embedded system, producing a unique final project suitable for showcasing to future employers. Courses Introduction to the Internet of Things and Embedded Systems The explosive growth of the “Internet of Things” is changing our world and the rapid drop in price for typical IoT components is allowing people to innovate new designs and products at home. In this first class in the specialization you will learn the importance of IoT in society, the current components of typical IoT devices and trends for the future. IoT design considerations, constraints and interfacing between the physical world and your device will also be covered. You will also learn how to make design trade-offs between hardware and software. Coursera will also cover key components of networking to ensure that students understand how to connect their device to the Internet. The Arduino Platform and C Programming The Arduino is an open-source computer hardware/software platform for building digital devices and interactive objects that can sense and control the physical world around them. In this class you will learn how the Arduino platform works in terms of the physical board and libraries and the IDE (integrated... [-]

Course in Game Design and Development (Intermediate)

Coursera
Online Part time 6 months Open Enrollment USA USA Online

This Specialization covers the theoretical and practical foundations of video game production using the Unity 3D game engine. The Specialization is taught by faculty at Michigan State University with over fifty years of combined experience building games and teaching game production. [+]

Break into the video game industry with theoretical, technical, and business knowledge from one of the world’s best programs. This Specialization covers the theoretical and practical foundations of video game production using the Unity 3D game engine. The Specialization is taught by faculty at Michigan State University with over fifty years of combined experience building games and teaching game production. Michigan State University is one of the top-rated game design and development programs in North America. You’ll learn to develop a game concept; prototype, test, and iterate on your ideas; and navigate licensing, marketing, and other business considerations. The specialization builds a solid foundation for industry roles as a gameplay designer, level designer, technical designer, technical artist, programmer, or producer. In the final Capstone Project, you’ll build an original market-ready game while interacting with a supportive community of designers and developers. The capstone partner for the specialization is the online game portal Kongregate, which provides an avenue for distribution of the capstone project, as well as a pathway for monetization for aspiring game developers. Courses Introduction to Game Development If you love games and want to learn how to make them, then this course will start you down that path. Making games is a creative and technical art form. In this course you will familiarize yourself with the tools and practices of game development. You will get started developing your own videogames using the industry standard game development tools, including the Unity3D game engine and C#. At the end of... [-]

Course in Web Design for Everybody (Basics of Web Development and Coding) (Beginner)

Coursera
Online Part time 7 months Open Enrollment USA USA Online

This Specialization covers how to write syntactically correct HTML5 and CSS3, and how to create interactive web experiences with JavaScript. Mastering this range of technologies will allow you to develop high quality web sites that, work seamlessly on mobile, tablet, and large screen browsers accessible. [+]

Online Courses in Computer Science in USA. This Specialization covers how to write syntactically correct HTML5 and CSS3, and how to create interactive web experiences with JavaScript. Mastering this range of technologies will allow you to develop high quality web sites that, work seamlessly on mobile, tablet, and large screen browsers accessible. During the capstone you will develop a professional-quality web portfolio demonstrating your growth as a web developer and your knowledge of accessible web design. This will include your ability to design and implement a responsive site that utilizes tools to create a site that is accessible to a wide audience, including those with visual, audial, physical, and cognitive impairments. Courses Introduction to HTML5 Thanks to a growing number of software programs, it seems as if anyone can make a webpage. But what if you actually want to understand how the page was created? There are great textbooks and online resources for learning web design, but most of those resources require some background knowledge. This course is designed to help the novice who wants to gain confidence and knowledge. Coursera will explore the theory (what actually happens when you click on a link on a webpage?), the practical (what do I need to know to make my own page?), and the overlooked (I have a page, what do I do now?). Throughout the course there will be a strong emphasis on adhering to syntactic standards for validation and semantic standards to promote wide accessibility for users with disabilities. The... [-]

Course in Data Warehousing for Business Intelligence (Advanced)

Coursera
Online Part time 5 months Open Enrollment USA USA Online

This Specialization covers data architecture skills that are increasingly critical across a broad range of technology fields. You’ll learn the basics of structured data modeling, gain practical SQL coding experience, and develop an in-depth understanding of data warehouse design and data manipulation. [+]

Evaluate business needs, design a data warehouse, and integrate and visualize data using dashboards and visual analytics. This Specialization covers data architecture skills that are increasingly critical across a broad range of technology fields. You’ll learn the basics of structured data modeling, gain practical SQL coding experience, and develop an in-depth understanding of data warehouse design and data manipulation. You’ll have the opportunity to work with large data sets in a data warehouse environment to create dashboards and Visual Analytics. You will use of MicroStrategy, a leading BI tool, OLAP (online analytical processing) and Visual Insights capabilities to create dashboards and Visual Analytics. In the final Capstone Project, you’ll apply your skills to build a small, basic data warehouse, populate it with data, and create dashboards and other visualizations to analyze and communicate the data to a broad audience. Courses Database Management Essentials Database Management Essentials provides the foundation you need for a career in database development, data warehousing, or business intelligence, as well as for the entire Data Warehousing for Business Intelligence specialization. In this course, you will create relational databases, write SQL statements to extract information to satisfy business reporting requests, create entity relationship diagrams (ERDs) to design databases, and analyze table designs for excessive redundancy. As you develop these skills, you will use either Oracle or MySQL to execute SQL statements and a database diagramming tool such as the ER Assistant to create ERDs. Coursera have designed this course to ensure a common foundation for specialization learners.... [-]

Course in Robotics (Beginner)

Coursera
Online Part time 6 months Open Enrollment USA USA Online

The Introduction to Robotics Specialization introduces you to the concepts of robot flight and movement, how robots perceive their environment, and how they adjust their movements to avoid obstacles, navigate difficult terrains and accomplish complex tasks such as construction and disaster recovery. [+]

Online Courses in Computer Science in USA. The Introduction to Robotics Specialization introduces you to the concepts of robot flight and movement, how robots perceive their environment, and how they adjust their movements to avoid obstacles, navigate difficult terrains and accomplish complex tasks such as construction and disaster recovery. You will be exposed to real world examples of how robots have been applied in disaster situations, how they have made advances in human health care and what their future capabilities will be. The courses build towards a capstone in which you will learn how to program a robot to perform a variety of movements such as flying and grasping objects. Courses Robotics: Aerial Robotics How can we create agile micro aerial vehicles that are able to operate autonomously in cluttered indoor and outdoor environments? You will gain an introduction to the mechanics of flight and the design of quadrotor flying robots and will be able to develop dynamic models, derive controllers, and synthesize planners for operating in three dimensional environments. You will be exposed to the challenges of using noisy sensors for localization and maneuvering in complex, three-dimensional environments. Finally, you will gain insights through seeing real world examples of the possible applications and challenges for the rapidly-growing drone industry. Mathematical prerequisites: Students taking this course are expected to have some familiarity linear algebra, single variable calculus, and differential equations Programming prerequisites: Some experience programming with MATLAB or Octave is recommended (Coursera will use MATLAB in this course.) MATLAB will... [-]