Full Course

Introduction To Machine Learning (David Sontag)

Collection: 
Individual Authors
Author: 
David Sontag
Year: 
2013
Conditions of Use: 
Attribution-NonCommercial-ShareAlike 2.0 Generic
Media Format: 
Material Type: 
Description: 
Machine learning is an exciting and fast-moving field of computer science with many recent consumer applications (e.g., Microsoft Kinect, Google Translate, Iphone's Siri, digital camera face detection, Netflix recommendations, Google news) and applications within the sciences and medicine (e.g., predicting protein-protein interactions, species modeling, detecting tumors, personalized medicine). In this undergraduate-level class, students will learn about the theoretical foundations of machine learning and how to apply machine learning to solve new problems.

Understanding Computers and the Internet

Collection: 
Harvard Open Learning Initiative
Author: 
Dan Armendariz, David J. Malan,
Year: 
2011
Conditions of Use: 
Free lecture videos
Media Format: 
Description: 
This course is all about understanding: understanding what's going on inside your computer when you flip on the switch, why tech support has you constantly rebooting your computer, how everything you do on the Internet can be watched by others, and how your computer can become infected with a worm just by being turned on. Designed for students who use computers and the Internet every day but don't fully understand how it all works, this course fills in the gaps. Through lectures on hardware, software, the Internet, multimedia, security, privacy, website development, programming, and more, this course "takes the hood off" of computers and the Internet so that students understand how it all works and why.

Bits: The Computer Science of Digital Information

Collection: 
Author: 
Harry Lewis
Year: 
0
Conditions of Use: 
Free lecture videos
Media Format: 
Description: 
This course focuses on information as quantity, resource, and property. We study the application of quantitative methods to understanding how information technologies inform issues of public policy, regulation, and law. How are music, images, and telephone conversations represented digitally, and how are they moved reliably from place to place through wires, glass fibers, and the air? Who owns information, who owns software, what forms of regulation and law restrict the communication and use of information, and does it matter? How can personal privacy be protected at the same time that society benefits from communicated or shared information?

Advanced Robotics (Pieter Abbeel)

Collection: 
Individual Authors
Author: 
Pieter Abbeel
Year: 
2011
Conditions of Use: 
Attribution 3.0 Unported
Level: 
Media Format: 
Material Type: 
Description: 
This is a graduate course on robotics for computers scientists and those with an engineering or physics background. Course topics include: Estimation: Bayes filters, KF, EKF, UKF, particle filter, occupancy grid mapping, EKF slam, GraphSLAM, SEIF, FastSLAM; Optimal Control: Globally Optimal Control through Discretization, Locally Optimal Control through Sequential Quadratic Programming, MPC, LQR, LQG, iterative versions;Motion Planning: RRT , A* RGB-D and Point Clouds: features, Ransac, Hough, instance retrieval/detection; Manipulation and Grasping: grasp quality metrics, grasp strategies, caging; Reinforcement Learning: policy gradient

Functional programming in Clojure

Collection: 
MOOC.FI
Author: 
Juhana Laurinharju
Year: 
2014
Conditions of Use: 
Attribution-NonCommercial-ShareAlike 2.0 Generic
Media Format: 
Description: 
The course is an introduction to functional programming with a dynamically typed language Clojure. We start with an introduction to Clojure; its syntax and development environment. Clojure has a good selection of data structures and we cover most of them. We also go through the basics of recursion and higher-order functions.

Object-Oriented programming with Java, Part II

Collection: 
MOOC.FI
Author: 
Arto Vihavainen, Matti Luukkainen
Year: 
2014
Conditions of Use: 
Attribution-NonCommercial-ShareAlike 2.0 Generic
Media Format: 
Description: 
This course is a direct continuation of the course Object-Oriented Programming with Java, part I (including week numbering). In Part II, we will dwell deeper into the world of object-oriented programming. The course includes comprehensive course materials and plenty of programming exercises, each tested using our automatic testing service Test My Code.

Object-Oriented programming with Java, Part I

Collection: 
MOOC.FI
Author: 
Arto Vihavainen, Matti Luukkainen
Year: 
2014
Conditions of Use: 
Attribution-NonCommercial-ShareAlike 2.0 Generic
Media Format: 
Description: 
During this course you will learn all the basics of computer programming, algorithms and object-oriented programming using the Java programming language. The course includes comprehensive course materials and plenty of programming exercises, each tested using our automatic testing service Test My Code.

Compilers and Interpreters (Dave Mason)

Collection: 
Individual Authors
Author: 
Dave Mason
Year: 
2012
Conditions of Use: 
Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported
Media Format: 
Description: 
The course will develop the principles behind each stage of compilation, from scanning and parsing to code generation, optimization, and interpretation. Once the principles are in place, several significant assignments will reinforce the ideas.

Compilers (Amanj Sherwany)

Collection: 
Individual Authors
Author: 
Amanj Sherwany
Year: 
2011
Conditions of Use: 
Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported
Media Format: 
Description: 
A compiler translates a computer program from a high level language, such as C, Python or Java, to machine code, the internal representation in the computer. Compilation takes several steps. The first step is lexical analysis, to separate the program into words. Syntactic analysis finds the structures. Code generation is often done in two steps, via an intermediate code to machine code. Often the code is improved through code optimization. The methods and tools from compiler design are useful for other forms of translation, for example from XML to a data structure.
ACM Classification Tree: 

Pages

Subscribe to Full Course