Online courses directory (224)

Sort by: Name, Rating, Price
Start time: Any, Upcoming, Recent started, New, Always Open
Price: Any, Free, Paid
Starts : 2015-03-16
No votes
Coursera Free Closed [?] Computer Sciences English Biology & Life Sciences Computer Science Computer Science Information Mathematics Software Engineering

This is the second course in a two-part series on bioinformatics algorithms, covering the following topics: evolutionary tree reconstruction, applications of combinatorial pattern matching for read mapping, gene regulatory analysis, protein classification, computational proteomics, and computational aspects of human genetics.

Starts : 2016-01-25
No votes
Coursera Free Closed [?] Computer Sciences English Biology & Life Sciences Computer Science Computer Science Information Mathematics Software Engineering

Are you interested in learning how to program (in Python) within a scientific setting? This course will cover algorithms for solving various biological problems along with a handful of programming challenges helping you implement these algorithms in Python. It offers a gentler-paced alternative to the first course in our Bioinformatics Specialization (Finding Hidden Messages in DNA).

Starts : 2007-02-01
11 votes
MIT OpenCourseWare (OCW) Free Computer Sciences Graduate Health Sciences and Technology MIT OpenCourseWare

This course presents the fundamentals of digital signal processing with particular emphasis on problems in biomedical research and clinical medicine. It covers principles and algorithms for processing both deterministic and random signals. Topics include data acquisition, imaging, filtering, coding, feature extraction, and modeling. The focus of the course is a series of labs that provide practical experience in processing physiological data, with examples from cardiology, speech processing, and medical imaging. The labs are done in MATLAB® during weekly lab sessions that take place in an electronic classroom. Lectures cover signal processing topics relevant to the lab exercises, as well as background on the biological signals processed in the labs.

No votes
Udemy $20 Closed [?] Technology

All algorithms and secrets reveled

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

In this course, you'll learn how to turn a static web front-end into something that users can interact with. You'll learn the fundamentals of JavaScript and how to apply JavaScript to enhance the interactivity of webpages. By the end of this course, you'll have a web app prototype that allows basic interaction.

Upon completion of this course, you will be able to:

  • Read code and describe what it does
  • Utilize understanding of program execution to formulate algorithms to solve specific tasks
  • Write JavaScript code to manipulate DOM elements on a webpage

Once you complete this course, continue onto Building Functional Prototypes using Node.js to learn how to write JavaScript code to build the back-end of your app!

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

This course is about modeling and how computer models can support managerial decision making. A model is a simplified representation of a real situation and modeling is the process of developing, analyzing and interpreting a model in order to help make better decisions. Models can be invaluable tools in managing and understanding the complexity and risk inherent in many business problems. As a result, models have become an increasingly important part of business at all levels from daily operations to strategic decision making.

This course will help learners become intelligent users and consumers of these models. To this end, we will cover the basic elements of modeling – how to formulate a model and how to use and interpret the information a model produces. The course emphasizes “learning by doing” so that students will be expected to formulate, solve, and interpret a number of different optimization and simulation models using Excel spreadsheets. An important theme in the course is to understand the appropriate use of models in business and the potential pitfalls from using models incorrectly or inappropriately.

The course has two distinct parts:

  • The first half of the course we will cover supervised learning techniques for regression and classification. In this framework, we possess an output or response that we wish to predict based on a set of inputs. We will discuss several fundamental methods for performing this task and algorithms for their optimization. Our approach will be more practically motivated, meaning we will fully develop a mathematical understanding of the respective algorithms, but we will only briefly touch on abstract learning theory.
  • In the second half, we shift to unsupervised learning techniques. In these problems the end goal less clear-cut than predicting an output based on a corresponding input. We will cover three fundamental problems of unsupervised learning: data clustering, matrix factorization, and sequential models for order-dependent data. Some applications of these models include object recommendation and topic modeling.

Starts : 2013-10-14
33 votes
Coursera Free Closed [?] Computer Sciences English Computer Science Software Engineering

This course is for experienced C programmers who want to program in C++. The examples and exercises require a basic understanding of algorithms and object-oriented software.

Starts : 2005-02-01
15 votes
MIT OpenCourseWare (OCW) Free Computer Sciences Aeronautics and Astronautics Graduate MIT OpenCourseWare

Cognitive robotics addresses the emerging field of autonomous systems possessing artificial reasoning skills. Successfully-applied algorithms and autonomy models form the basis for study, and provide students an opportunity to design such a system as part of their class project. Theory and application are linked through discussion of real systems such as the Mars Exploration Rover.

Starts : 2014-09-01
15 votes
MIT OpenCourseWare (OCW) Free Computer Sciences Mathematics MIT OpenCourseWare Undergraduate

This course analyzes combinatorial problems and methods for their solution. Topics include: enumeration, generating functions, recurrence relations, construction of bijections, introduction to graph theory, network algorithms, and extremal combinatorics.

Starts : 2017-03-02
No votes
edX Free Closed [?] English Computer Science EdX Math TsinghuaX

Our lives are full of combinations. Combinatorial mathematics is just the science to deal with combinations of discrete items. As an ancient field, the history of combinatorial mathematics can be traced back over 4000 years to the age of the Great Yu in ancient China. Today, combinatorial mathematics is regarded as the basis of computer science since the algorithms in programming heavily rely on the analysis of the discrete elements.

Instead of relying on the traditional mathematical "theorem - proof" format, this course demonstrates various principles in an intuitive manner with ancient stories, the scenes of movies and even a magic show. What you’ll learn:

  • The counting principles based on the basic operations “+”, “-”, “*”, “/”; 
  • Generating functions
  • Recurrent number serials such as Fibonacci number, Catalan number, and more
  • Pigeon hole principles
  • Inclusion and exclusion principles
  • Polya counting based on group theory

This course is based on a highly regarded on-campus Tsinghua class called Combinatorics, and is ideal for students who are interested in mathematics or computer science. Enroll today and learn the mathematical theory needed to solve the real-world problems!




  • 基于四则运算的计数法则;
  • 母函数;
  • 递推序列,如斐波那契数,卡特兰数等;
  • 鸽巢原理;
  • 容斥原理;
  • 基于群论的波利亚定理。




I don’t speak Chinese, can I learn the course?

All the materials are in English. Though the original video was recorded in Chinese, the course team record the corresponding dubbing in English. All the audio and subtitles are processed to fit the English dubbing as much as possible, so that you can enjoy this wonderful course in English.

What are the textbook and the reference books for this course?

There is no textbook requirement for this course. The handouts distributed every week are critical. The following books are references

  • Richard A. Brualdi; Introductory Combinatorics (5th edition), Pearson, 2009
  • J.H.van Lint and R.M. Wilson; A course in Combinatorics, Cambridge University Press, 2001
  • 卢开澄,《组合数学》第四版,清华大学出版社

What is the grading breakdown?

  • 70% quizzes and exercises
  • 30% final exam

How can I get the certificate?

If your final score is no less than 60.

Do I need to know how to program to learn this class?

Not necessary. This course is a math course which is based on fundamental theory. But to help the students to have the intuitive feel of the effects of the theory, we also provide a code lib that you can compare different implementations by running different programs.    

Starts : 2003-09-01
9 votes
MIT OpenCourseWare (OCW) Free Computer Sciences Mathematics MIT OpenCourseWare Undergraduate

Combinatorial Optimization provides a thorough treatment of linear programming and combinatorial optimization. Topics include network flow, matching theory, matroid optimization, and approximation algorithms for NP-hard problems.

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

This course presents a top-down approach to communications system design. The course will cover communication theory, algorithms and implementation architectures for essential blocks in modern physical-layer communication systems (coders and decoders, filters, multi-tone modulation, synchronization sub-systems). The course is hands-on, with a project component serving as a vehicle for study of different communication techniques, architectures and implementations. This year, the project is focused on WLAN transceivers. At the end of the course, students will have gone through the complete WLAN System-On-a-Chip design process, from communication theory, through algorithm and architecture all the way to the synthesized standard-cell RTL chip representation.

Starts : 2016-03-09
No votes
Coursera Free Closed [?] English Biology & Life Sciences Computer Science Computer Science Mathematics Software Engineering Theory

After sequencing genomes, we would like to compare them. We will see that dynamic programming is a powerful algorithmic tool when we compare two genes (i.e., short sequences of DNA) or two proteins. When we "zoom out" to compare entire genomes, we will employ combinatorial algorithms.

Starts : 2008-02-01
12 votes
MIT OpenCourseWare (OCW) Free Computer Sciences MIT Music and Theater Arts OpenCourseWare Undergraduate

This class explores sound and what can be done with it. Sources are recorded from students' surroundings - sampled and electronically generated (both analog and digital). Assignments include composing with the sampled sounds, feedback, and noise, using digital signal processing (DSP), convolution, algorithms, and simple mixing. The class focuses on sonic and compositional aspects rather than technology, math, or acoustics, though these are examined in varying detail. Students complete weekly composition and listening assignments; material for the latter is drawn from sound art, experimental electronica, conventional and non-conventional classical electronic works, popular music, and previous students' compositions.

No votes
Udemy Free Closed [?] Technology

This course provides a comprehensive overview of the concepts of algorithm analysis and development.

No votes
Udacity Free Closed [?] Georgia Tech Masters in CS

This class is offered as CS6505 at Georgia Tech where it is a part of the [Online Masters Degree (OMS)]( Taking this course here will not earn credit towards the OMS degree. In this course, we will ask the big questions, “What is a computer? What are the limits of computation? Are there problems that no computer will ever solve? Are there problems that can’t be solved quickly? What kinds of problems can we solve efficiently and how do we go about developing these algorithms?” Understanding the power and limitations of algorithms helps us develop the tools to make real-world computers smarter, faster and safer.

No votes
OLI. Carnegie Mellon University Free Computer Sciences Carnegie Mellon University Open Learning Initiative

This course presents material in discrete mathematics and computation theory with a strong emphasis on practical algorithms and experiential learning. Discrete mathematics, also called finite mathematics or decision mathematics, is the study of mathematical structures that are fundamentally discrete in the sense of not supporting or requiring the notion of continuity. Objects studied in finite mathematics are largely countable sets such as integers, finite graphs, and formal languages. Concepts and notations from discrete mathematics are useful to study or describe objects or problems in computer algorithms and programming languages. The CDM course is currently under development and we are making the course available while it is under development. Only one of the planned fifteen modules is currently available. The module on Groups that is currently available would appear mid-way through the complete course.

Starts : 2014-09-12
324 votes
Coursera Free Popular Closed [?] Business English Artificial Intelligence Computer Science Economics & Finance

Find out how modern electronic markets work, why stock prices change in the ways they do, and how computation can help our understanding of them.  Build algorithms and visualizations to inform investing practice.

Starts : 2003-09-01
13 votes
MIT OpenCourseWare (OCW) Free Computer Sciences Aeronautics and Astronautics Graduate MIT OpenCourseWare

16.225 is a graduate level course on Computational Mechanics of Materials. The primary focus of this course is on the teaching of state-of-the-art numerical methods for the analysis of the nonlinear continuum response of materials. The range of material behavior considered in this course includes: linear and finite deformation elasticity, inelasticity and dynamics. Numerical formulation and algorithms include: variational formulation and variational constitutive updates, finite element discretization, error estimation, constrained problems, time integration algorithms and convergence analysis. There is a strong emphasis on the (parallel) computer implementation of algorithms in programming assignments. The application to real engineering applications and problems in engineering science is stressed throughout the course.

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

This course is a graduate level introduction to automatic discourse processing. The emphasis will be on methods and models that have applicability to natural language and speech processing.

The class will cover the following topics: discourse structure, models of coherence and cohesion, plan recognition algorithms, and text segmentation. We will study symbolic as well as machine learning methods for discourse analysis. We will also discuss the use of these methods in a variety of applications ranging from dialogue systems to automatic essay writing.

This subject qualifies as an Artificial Intelligence and Applications concentration subject.

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