Free Online Courses are available at Princeton University.
Princeton University is a private, Ivy League research university in Princeton, New Jersey. The university provides undergraduate and graduate instruction in the humanities, social sciences, natural sciences, and engineering. Moreover, it aims to provide exceptional educational opportunities to learners on campus, and around the globe. Above all, the university offers online education through Princeton Online, the home of massive, open, online courses (MOOCs). The online courses at Princeton University include:
The Art of Structural Engineering: Bridges
This is a self-paced program on bridge design and how structural engineering is a creative discipline and art form. It provides insights upon
- How to solve for the efficiency of structures using the appropriate formulas
- Likewise, How to evaluate a structure within the measures of structural art
- Similarly, How economic, social and culture influences structural design
- In addition, How to analyze bridge forms: suspension, beams, pre-stressed, arch, cable-stayed, tied-arch
Computer Science: Algorithms, Theory, and Machines
This course introduces the broader discipline of computer science to people having basic familiarity with Java programming. The course emphasizes the relationships between applications programming, the theory of computation, real computers, and the field’s history and evolution, including the nature of the contributions of Boole, Shannon, Turing, von Neumann, and others.
Algorithms, Part II
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. Likewise, Part II focuses on graph- and string-processing algorithms.
Computer Architecture
In this course, you will learn to design the computer architecture of complex modern microprocessors.
Computer Science: Programming with a Purpose
The program begins with the introduction of basic programming elements, for instance, variables, conditionals, loops, arrays, and I/O. Next, it turns to functions, introducing key concepts such as recursion, modular programming, and code reuse. Then, it presents a modern introduction to object-oriented programming. It uses the Java programming language and teach basic skills for computational problem solving that are applicable in many modern computing environments. Proficiency in Java is a goal, but it focuses on fundamental concepts in programming, not Java per se.
Analytic Combinatorics
It teaches a calculus that enables precise quantitative predictions of large combinatorial structures. Moreover, this course introduces the symbolic method to derive functional relations among ordinary, exponential, and multivariate generating functions, and methods in complex analysis for deriving accurate asymptotics from the GF equations.
Analysis of Algorithms
This course teaches a calculus that enables precise quantitative predictions of large combinatorial structures. In addition, this course covers generating functions and real asymptotics and then introduces the symbolic method in the context of applications in the analysis of algorithms and basic structures such as permutations, trees, strings, words, and mappings.