Course topics:

Introduction and Goals; Data Types, Operators, and Variables. Branching, Conditionals, and Iteration. Common Code Patterns: Iterative Programs. Abstraction through Functions; Introduction to Recursion. Floating Point Numbers, Successive Refinement, Finding Roots. Bisection Methods, Newton/Raphson, Introduction to Lists. Lists and Mutability, Dictionaries, Introduction to Efficiency. Complexity: Log, Linear, Quadratic, Exponential Algorithms. Binary Search, Bubble and Selection Sorts. Divide and Conquer Methods, Merge Sort, Exceptions. Testing and Debugging. Debugging, Knapsack Problem, Introduction to Dynamic Programming. Dynamic Programming: Overlapping Subproblems, Optimal Substructure. Introduction to Object-oriented Programming. Abstract Data Types, Classes and Methods. Encapsulation, Inheritance, Shadowing. Computational Models: Random Walk Simulation. Presenting Simulation Results, Pylab, Plotting. Biased Random Walks, Distributions. Monte Carlo Simulations, Estimating pi. Validating Simulation Results, Curve Fitting, Linear Regression. Normal, Uniform, and Exponential Distributions. Stock Market Simulation. Course Overview; What Do Computer Scientists Do?





Google's Python Class



Google's Python Videos

Course description:

This is a free class for people with a little bit of programming experience who want to learn Python. The class includes written materials, lecture videos, and lots of code exercises to practice Python coding. These materials are used within Google to introduce Python to people who have just a little programming experience. The first exercises work on basic Python concepts like strings and lists, building up to the later exercises which are full programs dealing with text files, processes, and http connections. The class is geared for people who have a little bit of programming experience in some language, enough to know what a "variable" or "if statement" is. Beyond that, you do not need to be an expert programmer to use this material.



Course topics:

Introduction, strings. Lists and sorting. Dicts and files. Regular expressions. Utilities, urllib. Conclusions.





Free and Open Source Software Development



FOSS Development Video Lectues

Course topics:

Introduction to FOSS. Getting started in a FOSS project. Source code management. FOSS History. Inside FOSS Licensing. FOSS and the law. FOSS Governance. FOSS and Business. What motivates a FOSS developer? Case study: Samba. FOSS Distributions and Platforms. FOSS Culture. Starting a new project. FOSS Tales. Release early, Release often.





Computational Finance



Computational Finance Video Lectures

Course topics:

Skiena's computational finance lectures. Course overview. Financial Markets and Products. Forward Contracts. Futures and Options. Properties of Stock Options. Portfolios with of Stock Options. Bounds on Option Prices. Interest Rates. Random Walk Models. Price Distributions. Risk-Neutral Valuation. Financial Time Series Data. Correlation and Autocorrelation. Time Series Modeling. ARIMA/GARCH Models. Spectral Analysis. Portfolio Theory. The Capital Assets Pricing Model. Technical Analysis. Introduction to Online Algorithms. Competitive analysis for finance. Pairs trading. Market Microstructure. Money management and the Kelly criteria.





Effective ML



Effective ML Video Lecture

ML tips from the lecture:

Favor readers over writers. Create uniform interfaces. Make illegal states unrepresentable. Code for exhaustiveness. Open few modules. Make common errors obvious. Avoid boilerplate. Avoid complex type-hackery. Don't be puritanical about purity.





Special talk by Bjarne Stroustrup at CERN: The Design of C++0x



The Design of C++0x Talk by Bjarne

Talk description:

A draft for a revised ISO C++ standard, C++0x, has been produced. The speaker will present the background of C++, its aims, the standards process (with opinions), some of the guiding design principles (with tiny code examples), and two case studies. The case studies are initialization (a general and uniform syntax and semantics for initializers in all contexts) and concurrent support facilities (memory model, threads, locks, futures).

Introduction and Goals; Data Types, Operators, and Variables. Branching, Conditionals, and Iteration. Common Code Patterns: Iterative Programs. Abstraction through Functions; Introduction to Recursion. Floating Point Numbers, Successive Refinement, Finding Roots. Bisection Methods, Newton/Raphson, Introduction to Lists. Lists and Mutability, Dictionaries, Introduction to Efficiency. Complexity: Log, Linear, Quadratic, Exponential Algorithms. Binary Search, Bubble and Selection Sorts. Divide and Conquer Methods, Merge Sort, Exceptions. Testing and Debugging. Debugging, Knapsack Problem, Introduction to Dynamic Programming. Dynamic Programming: Overlapping Subproblems, Optimal Substructure. Introduction to Object-oriented Programming. Abstract Data Types, Classes and Methods. Encapsulation, Inheritance, Shadowing. Computational Models: Random Walk Simulation. Presenting Simulation Results, Pylab, Plotting. Biased Random Walks, Distributions. Monte Carlo Simulations, Estimating pi. Validating Simulation Results, Curve Fitting, Linear Regression. Normal, Uniform, and Exponential Distributions. Stock Market Simulation. Course Overview; What Do Computer Scientists Do?This is a free class for people with a little bit of programming experience who want to learn Python. The class includes written materials, lecture videos, and lots of code exercises to practice Python coding. These materials are used within Google to introduce Python to people who have just a little programming experience. The first exercises work on basic Python concepts like strings and lists, building up to the later exercises which are full programs dealing with text files, processes, and http connections. The class is geared for people who have a little bit of programming experience in some language, enough to know what a "variable" or "if statement" is. Beyond that, you do not need to be an expert programmer to use this material.Introduction, strings. Lists and sorting. Dicts and files. Regular expressions. Utilities, urllib. Conclusions.Introduction to FOSS. Getting started in a FOSS project. Source code management. FOSS History. Inside FOSS Licensing. FOSS and the law. FOSS Governance. FOSS and Business. What motivates a FOSS developer? Case study: Samba. FOSS Distributions and Platforms. FOSS Culture. Starting a new project. FOSS Tales. Release early, Release often.Skiena's computational finance lectures. Course overview. Financial Markets and Products. Forward Contracts. Futures and Options. Properties of Stock Options. Portfolios with of Stock Options. Bounds on Option Prices. Interest Rates. Random Walk Models. Price Distributions. Risk-Neutral Valuation. Financial Time Series Data. Correlation and Autocorrelation. Time Series Modeling. ARIMA/GARCH Models. Spectral Analysis. Portfolio Theory. The Capital Assets Pricing Model. Technical Analysis. Introduction to Online Algorithms. Competitive analysis for finance. Pairs trading. Market Microstructure. Money management and the Kelly criteria.Favor readers over writers. Create uniform interfaces. Make illegal states unrepresentable. Code for exhaustiveness. Open few modules. Make common errors obvious. Avoid boilerplate. Avoid complex type-hackery. Don't be puritanical about purity.A draft for a revised ISO C++ standard, C++0x, has been produced. The speaker will present the background of C++, its aims, the standards process (with opinions), some of the guiding design principles (with tiny code examples), and two case studies. The case studies are initialization (a general and uniform syntax and semantics for initializers in all contexts) and concurrent support facilities (memory model, threads, locks, futures).

Related Posts

Hey everyone! This month I have all kinds of computer science video lectures and courses. Really great collection.The lectures include: Introduction to compsci and programming, Google's python programming, Computational finance, Free and open source software development, Effective ML, Design of C++0x, Kolmogorov complexity with Prolog.This subject is aimed at students with little or no programming experience. It aims to provide students with an understanding of the role computation can play in solving problems. It also aims to help students, regardless of their major, to feel justifiably confident of their ability to write small programs that allow them to accomplish useful goals. The class will use the Python programming language.I give a brief sales pitch on why you need to learn prolog, then I walk you through the steps to download and install it. Then I give a brief tour of the command line, followed by some homework to help you get familier with it. Kolmogorov in your face.Have fun with these lectures and see you next time!