Online courses directory (500)

Sort by: Name, Rating, Price
Start time: Any, Upcoming, Recent started, New, Always Open
Price: Any, Free, Paid
Starts : 2011-01-01
14 votes
MIT OpenCourseWare (OCW) Free Computer Sciences Electrical Engineering and Computer Science MIT OpenCourseWare Undergraduate

This course will provide a gentle, yet intense, introduction to programming using Python for highly motivated students with little or no prior experience in programming. The course will focus on planning and organizing programs, as well as the grammar of the Python programming language.

The course is designed to help prepare students for 6.01 Introduction to EECS I. 6.01 assumes some knowledge of Python upon entering; the course material for 6.189 has been specially designed to make sure that concepts important to 6.01 are covered.

This course is offered during the Independent Activities Period (IAP), which is a special 4-week term at MIT that runs from the first week of January until the end of the month.

Starts : 2017-02-20
No votes
edX Free Closed [?] English Computer Science EdX MITx

This computer science course is the second of a two-course sequence on how to write good software using modern software engineering techniques.

This course will dig deeper into what makes for "good" code -- safe from bugs, easy to understand, and ready for change. We will explore two paradigms for modern programming: (1) grammars, parsing, and recursive datatypes; and (2) concurrent programming with threads.

This is a challenging and rigorous course that will help you take the next step on your way to becoming a skilled software engineer.

Photo by raincrystal on Flickr. (CC-BY-SA) 2.0

Starts : 2009-02-01
15 votes
MIT OpenCourseWare (OCW) Free Computer Sciences Electrical Engineering and Computer Science Graduate MIT OpenCourseWare

This course covers concepts and techniques for the design and implementation of large software systems that can be adapted to uses not anticipated by the designer. Applications include compilers, computer-algebra systems, deductive systems, and some artificial intelligence applications. Topics include combinators, generic operations, pattern matching, pattern-directed invocation, rule systems, backtracking, dependencies, indeterminacy, memoization, constraint propagation, and incremental refinement. Substantial weekly programming assignments are an integral part of the subject.

There will be extensive programming assignments, using MIT/GNU Scheme. Students should have significant programming experience in Scheme, Common Lisp, Haskell, CAML or some other "functional" language.

Starts : 2017-07-11
367 votes
edX Free Closed [?] Computer Sciences English Computer Science EdX UC BerkeleyX

Part 2 of the UC Berkeley Agile Development Using Ruby on Rails XSeries Program will teach you to use JavaScript to enhance applications and create more sophisticated apps by adding relationships between models within the Ruby on Rails framework. You will also learn about what happens after the apps are deployed to real users, including how to monitor performance, identify and fix common performance problems, and avoid compromising customer data. Finally, learners will see how to apply Agile techniques to enhance and refactor legacy code and practice app deployment to real users to monitor performance, identify and fix common performance problems, and avoid compromising customer data. 

Other topics covered in this software engineering course include:

  • How to form, organize and manage small programming teams
  • Introduction to design patterns: what they are and how to recognize opportunities to apply them
  • Using Rails for more advanced features like third-party authentication and elegantly expressing design patterns that arise frequently in SaaS

There will be four homework assignments: two programming assignments, an open source assignment and one assignment about operations/deployment. There will also be several short quizzes. The videos and homework assignments used in this offering of the course were revised in October 2016.

Starts : 2017-05-16
No votes
edX Free Closed [?] Computer Sciences English Computer Science EdX UC BerkeleyX

This intermediate computer programming course uncovers how to code long-lasting software using highly-productive Agile techniques to develop Software as a Service (SaaS) using Ruby on Rails. You will understand the new challenges and opportunities of SaaS versus shrink-wrapped software and learn to apply fundamental Rails programming techniques to the design, development, testing, and public cloud deployment of an Software as a Service (SaaS) application

Using best-of-breed tools that support modern development techniques including Behavior-Driven design, user stories, Test-Driven Development, velocity, and pair programming, learners will discover how modern programming language features in Ruby on Rails can improve productivity and code maintainability. 

Weekly coding projects and quizzes will be part of the learning experience in this SaaS course. Those who successfully complete the assignments and earn a passing grade can get a verified certificate from BerkeleyX. The videos and homework assignments have been updated to use Ruby 2, Rails 4 and RSpec 3. The new class also includes embedded live chat with Teaching Assistants and other students and remote pair programming with other students.

Starts : 2017-07-31
No votes
edX Free Closed [?] English Computer Science EdX Engineering PennX

How do you optimally encode a text file? How do you find shortest paths in a map? How do you design a communication network? How do you route data in a network? What are the limits of efficient computation?

This course, part of the Computer Science Essentials for Software Development Professional Certificate program, is an introduction to design and analysis of algorithms, and answers along the way these and many other interesting computational questions.

You will learn about algorithms that operate on common data structures, for instance sorting and searching; advanced design and analysis techniques such as dynamic programming and greedy algorithms; advanced graph algorithms such as minimum spanning trees and shortest paths; NP-completeness theory; and approximation algorithms.

After completing this course you will be able to design efficient and correct algorithms using sophisticated data structures for complex computational tasks.

Starts : 2014-08-25
No votes
Coursera Free Closed [?] Computer Sciences English Advanced Algorithms Algorithms Computer Science Software Engineering Theory

Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This class is designed to train students in the mathematical concepts and process of "Algorithmic Thinking", allowing them to build simpler, more efficient solutions to computational problems.

Starts : 2016-01-16
No votes
Coursera Free Closed [?] English Computer Science Computer Science Software Engineering Theory

Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This two-part class is designed to train students in the mathematical concepts and process of "Algorithmic Thinking", allowing them to build simpler, more efficient solutions to computational problems.

Starts : 2016-02-20
No votes
Coursera Free Closed [?] English Computer Science Computer Science Software Engineering Theory

Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This two-part class is designed to train students in the mathematical concepts and process of "Algorithmic Thinking", allowing them to build simpler, more efficient solutions to computational problems.

Starts : 2017-02-21
No votes
edX Free Closed [?] Computer Sciences English Computer Science EdX IITBombayX

Algorithms power the biggest web companies and the most promising startups. Interviews at tech companies start with questions that probe for good algorithm thinking.

In this computer science course, you will learn how to think about algorithms and create them using sorting techniques such as quick sort and merge sort, and searching algorithms, median finding, and order statistics.

The course progresses with Numerical, String, and Geometric algorithms like Polynomial Multiplication, Matrix Operations, GCD, Pattern Matching, Subsequences, Sweep, and Convex Hull. It concludes with graph algorithms like shortest path and spanning tree.

Topics covered:

  • Sorting and Searching
  • Numerical Algorithms
  • String Algorithms
  • Geometric Algorithms
  • Graph Algorithms

This course is part of the Fundamentals of Computer Science XSeries Program

Starts : 2017-08-16
No votes
edX Free Closed [?] English Computer Science EdX Microsoft

Want to build better programs? Learn how, in this professional-level course.

Bring your programming experience, and join us for a deep dive into fundamental concepts that you can use right away. Go underneath the hood of functional algorithms and data structures, and see how they work and how to compare them. Plus, get the details on when and how to use them.

In this real-world-tested curriculum, take a look at famous algorithms and equations, and see how yours stack up. See practical demos, compare “life scenarios” to their coding counterparts, and create an app for your final project.

Add to your developer toolkit with this in-depth exploration of algorithms and data structures.

Starts : 2015-03-16
105 votes
Coursera Free Closed [?] Computer Sciences English Computer Science Theory

In this course you will learn several fundamental principles of advanced algorithm design: greedy algorithms and applications; dynamic programming and applications; NP-completeness and what it means for the algorithm designer; the design and analysis of heuristics; and more.

Starts : 2014-09-15
328 votes
Coursera Free Popular Computer Sciences English Computer Science Software Engineering

This course is designed to be a fun introduction to the basics of programming in Python. Our main focus will be on building simple interactive games such as Pong, Blackjack and Asteroids.

Starts : 2016-01-09
No votes
Coursera Free Closed [?] English Computer Science Software Engineering

This two-part course is designed to be a fun introduction to the basics of programming in Python. Our main focus will be on building simple interactive games such as Pong, Blackjack and Asteroids.

Starts : 2016-02-20
No votes
Coursera Free Closed [?] English Computer Science Software Engineering

This two-part course is designed to be a fun introduction to the basics of programming in Python. Our main focus will be on building simple interactive games such as Pong, Blackjack and Asteroids.

Starts : 2017-06-26
No votes
edX Free Closed [?] English Business & Management ColumbiaX EdX

Data is the lifeblood of an organization. Competency in programming is an essential skill for successfully extracting information and knowledge from data.

The goal of this course is to introduce learners to the basics of programming in Python and to give a working knowledge of how to use programs to deal with data.

In this course, we will first cover the basics of programming and then focus on using Python on the entire data management process from data acquisition to analysis of data big data and small data.

This is an intensive hands-on course that will equip and reward learners with proficiency in data management skills.

Starts : 2017-07-01
No votes
edX Free Closed [?] English Data Analysis & Statistics EdX Microsoft

This course is part of the Microsoft Professional Program Certificate in Big Data, and the Microsoft Professional Program Certificate in Data Science

The open-source programming language R has for a long time been popular (particularly in academia) for data processing and statistical analysis. Among R's strengths are that it's a succinct programming language and has an extensive repository of third party libraries for performing all kinds of analyses. Together, these two features make it possible for a data scientist to very quickly go from raw data to summaries, charts, and even full-blown reports. However, one deficiency with R is that traditionally it uses a lot of memory, both because it needs to load a copy of the data in its entirety as a data.frame object, and also because processing the data often involves making further copies (sometimes referred to as copy-on-modify). This is one of the reasons R has been more reluctantly received by industry compared to academia.

The main component of Microsoft R Server (MRS) is the RevoScaleR package, which is an R library that offers a set of functionalities for processing large datasets without having to load them all at once in the memory. RevoScaleR offers a rich set of distributed statistical and machine learning algorithms, which get added to over time. Finally, RevoScaleR also offers a mechanism by which we can take code that we developed on our laptop and deploy it on a remote server such as SQL Server or Spark (where the infrastructure is very different under the hood), with minimal effort.

In this course, we will show you how to use MRS to run an analysis on a large dataset and provide some examples of how to deploy it on a Spark cluster or a SQL Server database. Upon completion, you will know how to use R for big-data problems.

Since RevoScaleR is an R package, we assume that the course participants are familiar with R. A solid understanding of R data structures (vectors, matrices, lists, data frames, environments) is required. For example, students should be able to confidently tell the difference between a list and a data frame, or what each object is generally a good representation for and how to subset it. Students should be familiar with basic programming concepts such as control flows, loops, functions and scope. Students should have a good understanding of how to write and debug R functions. Finally, students are expected to have a good understanding of data manipulation and data processing in R (e.g. functions such as merge, transform, subset, cbind, rbind, lapply, apply). Familiarity with 3rd party packages such as dplyr is also helpful.

Starts : 2017-03-06
No votes
edX Free Closed [?] English Computer Science EdX GalileoX

This course is designed for students who are new to programming, and want to learn how to develop Android apps. You’ll learn how to create an Android project with Android Studio and run a debuggable version of the app. You'll also learn some Android architecture and the key principles underlying its design. You will gain an understanding of the processes that are involved in an Android developed application and you will become familiar with Android development tools and user interface. By the end of the course, you’ll build two simple apps that you can share with your friends.

Our Android course is taught by a group of Google developer experts who create innovative mobile apps.

This course is part of the GalileoX Android Developer MicroMasters Program and is specifically designed to teach the critical skills needed to be successful in this exciting field and to prepare you to take the Google Associate Android Developer Certification exam. To qualify for the MicroMasters Credential you will need to earn a Verified Certificate in each of the four courses as well as a Final Project. 

No votes
Udacity Free Closed [?] Android

In this course, you will learn about the importance of data persistence when building an Android app. We'll introduce you to the fundamentals of SQL, the programming language needed to interact with an SQLite relational database. SQLite is a commonly used method to store large sets of data locally on an Android device. You'll also learn how to work with Content Providers, which help your data storage to be bug free and to be shared, if you choose, with other apps. If you’re curious about the road even farther ahead, these are the free courses that make up the Android Basics Nanodegree, in order: * Android Basics: User Interface * Android Basics: User Input * Android Basics: Multiscreen Apps * Android Basics: Networking * Android Basics: Data Storage (This Course)

No votes
Udacity Free Closed [?] Android

This course is a part of the Android Basics Nanodegree by Google. Android apps are everywhere and learning to build them can be a fantastic career move. Continue on your Android app development education and learn to build multi-screen apps! This course is designed for students who have completed the Android for Beginners course. You don’t need any programming experience besides that course! Learning anything new can be tough. We will walk you through the process of making Android apps, but to get the most out of this course, bring your enthusiasm for learning, and budget time on your calendar to learn with us. It will be an adventure! By the end of the course, you’ll build a language-learning app that you can share with your friends. If you’re curious about the road even farther ahead, these are the free courses that make up the Android Basics Nanodegree, in order: * Android Basics: User Interface * Android Basics: User Input * Android Basics: Multiscreen Apps (This Course) * Android Basics: Networking * Android Basics: Data Storage

Trusted paper writing service WriteMyPaper.Today will write the papers of any difficulty.