Free Science and Video Lectures Online!
Free education online is possible.

Great news! New Science Site launched: Free Science Videos and Lectures

Another great news! My Programming Site launched: Good coders code, great reuse

More great news! I started my own company: Browserling - Cross-browser testing.

Monday, March 31, 2008

More Computing Video Lecture Courses

There has been a surge of computer science video lectures and full video courses. I can barely keep up with all the stuff coming in!

No doubts, computer science is my favorite subject, so I am gladly posting this post on computation video courses. Though, I don't want to forget other video lectures!

I am pretty sure I'll make the next post on video lectures in some other discipline.

See the right sidebar for all the available video lectures!


C Programming (N305, Indiana and Purdue Universities)

Course topics:
Introduction to Computers: Hardware and Languages. Programming: First C Program. Mixing Data Types. Basic IO: printf() and scanf(). Variable Declarations, Data Types, Expressions: Variables and Operators. Assignments. Algorithms. Standard C Statements. Functions: Declarations. Information Representation: Positive Integers, Negative Integer Representation, Floating Point Representation, Characters and Images, Machine Instructions. Arrays: Strings and Multidimensional Arrays. Literals and Variables.



Essential Concepts of Computer Science (N301, Indiana and Purdue Universities)


Course topics:
History of Computing. Analog and Digital Representation. Binary Notation. Extending Binary. Two's Complement Notation. Floating Point Notation. Basic Logic Gates. Building a Half Adder. Building a Full Adder. Building a Subtracter. Building an ALU. Von Neumann Architectue. The Fetch-Execute Cycle. Basic Machine Language. Repetition in Machine Language. Beginning Algorithms. Branching Mechanisms. Looping. Complexity in Algorithms. Measuring Complexity. Encapsulation. Software Engineering. Software Engineering Models.



Principles of Computing (N100, Indiana and Purdue Universities)


Course topics:
Basic problem-solving with STAIR (Stating the problem, Tools, Algorithms, Implementation, Refinement). The universal information manipulator. Lights, Legos, and Numbers. Converting from binary to and from base 10. Basic logic gates. Storing data in ABNIAC. ASCII representation in ABNIAC. Addition and looping in ABNIAC.



Introduction to Web Design (N241, Indiana and Purdue Universities)


Course topics:
Basic HTML. Validation. CSS. Fonts and Colors in CSS. Binary, Decimal, Octal, Hex. Internet Addressing. Linux. Overview of Unix. Basic Unix Commands. Permissions. Colors and Images. Science of Colors. GIF. Learning Emacs. XHTML Images, Links, and Lists. Layout with CSS. Buttons in CSS. CSS Layout with Float. Tables. Cross-Browser CSS. Adding Audio. Multimedia With Flash. Multimedia with Wax. Basic Image Swapping. Rollover Buttons. Extending HTML.



Client Side Web Programming (N341, Indiana and Purdue Universities)


Course topics:
Program Development. Documenting Your Code. Introducing Programming. Object Oriented Concepts. Working with Variables. Dialogue Windows. String Objects. Number and Math Objects. If-Then-Else Structures. Switch Statements. Complex Conditions. Conditional Loops. Introducing Arrays. Multidimensional Arrays. JavaScript Modularity. Browser Objects. Introducing DOM. Regular Expressions. JavaScript and Forms. Form Validation. Window Object. Document Object. Cascading Style Sheets. Styles with JavaScript. Cookies.



Server-Side Web Development (N342, Indiana and Purdue Universities)


Course topics:
Intro to Server-Side Programming. Programming on the Web Server. Installing Apache on Windows. Installing PHP in Windows. Configuring PHP. Installing an IDE. Creating your 1st PHP Program. Preparing your Code. Using Variables. Complex String Variables. Responding to HTML Forms. Responding to Complex Forms. Creating Random Numbers. If Statement. Functions. Function Parameters. Variable Scope. Persistence. For and While Loops. Basic Arrays. Responding to Checkboxes. Associative Arrays. Multidimensional Arrays. Multi-Array. String Manipulation. Saving and Loading Files. Files. Directories. Mail. Using Regular Expressions. Introducing MySQL. Tables. Queries. Connecting to a Database within PHP. Examining Entities and Relationships. Joins. Innerjoins. Many to Many Joins.



Visual Basic .NET (N331, Indiana and Purdue Universities)


Course topics:
Inside Visual Studio. Buttons. Labels. Text Boxes. Check Boxes. List Boxes. Combo Boxes. Five Programming Steps. Variables. Branching. If. Then. Else. Looping. Do. While. For. Next. Arrays. Menus.



ASP.NET (N431, Indiana and Purdue Universities)


Course topics:
.NET Intro. Web Controls. Form Validation. Required Field Validator. Specialized Validators. Text Files vs Databases. Database Introduction. SQL Introduction. Insert. Update. Data Binding. Data List. Data Grid. Data Set Sorting. Tracking User Sessions. Session States. Caching. Error Handling. Forms-Based Authentication. Security. Local Encryption. Sending Mail.



Advanced Programming (N335, Indiana and Purdue Universities)


Course topics:
What is .NET. Programming Intro. Object Orientation. .Net Namespaces. Data Type. Strings. Dates. Creating a Class. Polymorphism. Inheritance. Creating Folders. Multithreading. SQL Overview. Data Wizards. Data Sets.



Programming Concepts and Data (N201, Indiana and Purdue Universities)


Course topics:
Problem Solving. Background, History, and Fundamentals of Computing. Working With HTML. History of Programming Languages. Machine Language. Miracle. Conditions. Using Loops. Javascript. Functions. Working with Arrays. Introduction to Databases.



Data Analysis Using Spread Sheets (N207, Indiana and Purdue Universities)


Course topics:
Introduction to STAIR. Computer Hardware. Binary, Hexidecimal, and ASCII. Computer Software. Computer Security. Webpages, Websites, and E-Commerce. Databases. Introduction to Spreadsheets. Charts. Univariate Data Analysis. Multivariate Data Analysis. Regression.



XML with Java (E-259, Harvard University)


Course description:
This course introduces XML as a key enabling technology in Java-based applications. Students learn the fundamentals of XML and its derivatives, including DTD, SVG, XML Schema, XPath, XQuery, XSL-FO, and XSLT. Students also gain experience with programmatic interfaces to XML like SAX and DOM, standard APIs like JAXP and TrAX, and industry-standard software like Ant, Tomcat, Xerces, and Xalan. The course acquaints students with J2EE, including JavaServer Pages (JSP) and Java Servlet, and also explores HTTP, SOAP, web services, and WSDL. The course's projects focus on the implementation and deployment of these technologies.

Course topics:
XML 1.1 and SAX 2.0.2. DOM Level 3, XPath 1.0 (and 2.0) and XSLT 1.0 (and 2.0). Namespaces in XML 1.1 (Second Edition), SVG 1.1, and XSL (XSL-FO) 1.1. HTTP 1.1, JavaServer Pages 2.1, and Java Servlet 2.5. XQuery 1.0 and DTD. XML Schema (Second Edition). Web Services, SOAP 1.2, and WSDL 1.1. Ajax.


Algorithms for Nearest Neighbor Search (by Yury Lifshits)



Similarity Search: A Web Perspective (by Yuri Lifshits)


Lecture description:
Similarity search is the problem of preprocessing a database of N objects in such a way that given a query object, one can effectively determine its nearest neighbors in database. "Geometric near-neighbor access tree" data structure, an early work (1995) by Sergey Brin, is one of the most known solutions to this problem.

Similarity search is closely connected to many algorithmic problems in the web. Similarity search is an abstraction of many algorithmic problems we face in data management. In this talk we will focus on:

- Personalized news aggregation: Searching for news articles that are most similar to the user's profile of interests.
- Behavioral targeting: Searching for the most relevant advertisement for displaying to a given user.
- Social network analysis: Suggesting new friends.
- Computing co-occurrence similarities.
- "Best match search": Searching resumes, jobs, boyfriends, girlfriends, cars, apartments.

The lecture describes features that make web applications somewhat different from previously studied models. Thus the lecturer re-examine the formalization and the classical algorithms for similarity search. This leads us to new algorithms (Yuri present two of them) and numerous open problems in the field.



Functional Programming Seminar

Simon Peyton-Jones: "Taming Effects - The Next Big Challenge"

Satnam Singh: "Declarative Programming Techniques for Many-Core Architectures"

John Hughes: "Testing with QuickCheck"

Simon Peyton-Jones: "Composing Contracts - An Adventure in Financial Engineering"


John Launchbury: "High-Assurance Software"

Nested Data Parallelism in Haskell (by Simon Peyton-Jones)


Design Patterns as Higher-Order Datatype Generic Programs

Lecture by Dr Jeremy Gibbons of Oxford Computing Lab.



Games in Haskell (by Matthew Sackman)


XMonad - A Haskell Success Story


After all these mind boggling functional programming video lectures, here is a video for relaxation about Claude Shannon, founder of the field of information theory.


Claude Shannon - Father of the Information Age


Video contents:
Considered the founding father of the electronic communication age, Claude Shannon's work ushered in the Digital Revolution. This fascinating program explores his life and the major influence his work had on today's digital world through interviews with his friends and colleagues.




Have fun with these lectures! Don't forget to check out the right menu bar for more lectures! Until next time! :)

Related Posts
  • Free Computer Science Video Lecture Courses
    (Courses include web application development, lisp/scheme programming, data structures, algorithms, machine structures, programming languages, principles of software engineering, object oriented programming in java, systems, computer system engineering, computer architecture, operating systems, database management systems, performance analysis, cryptography, artificial intelligence)

  • Programming Lectures and Tutorials
    (Lectures include topics such as software engineering, javascript programming, overview of firefox's firebug extension, document object model, python programming, design patterns in python, java programming, delphi programming, vim editor and sqlite database design)

  • Programming, Networking Free Video Lectures and Other Interesting Ones
    (Includes lectures on Python programming language, Common Lisp, Debugging, HTML and Web, BGP networking, Building scalable systems, and as a bonus lecture History of Google)

  • More Mathematics and Theoretical Computer Science Video Lectures
    (Includes algebra, elementary statistics, applied probability, finite mathematics, trigonometry with calculus, mathematical computation, pre-calculus, analytic geometry, first year calculus, business calculus, mathematical writing (by Knuth), computer science problem seminar (by Knuth), dynamic systems and chaos, computer musings (by Knuth) and other Donald E. Knuth lectures)

  • Computer Science Lectures
    (Courses include higher computing (intro to theory of computation), intro to computer science, data structures, compiler optimization, computers and internet, intro to clojure, the akamai story, cryptography, EECS colloquium videos at Case Western Reserve University)

  • More Mathematics and Theoretical Computer Science Video Lectures
    (Includes algebra, elementary statistics, applied probability, finite mathematics, trigonometry with calculus, mathematical computation, pre-calculus, analytic geometry, first year calculus, business calculus, mathematical writing (by Knuth), computer science problem seminar (by Knuth), dynamic systems and chaos, computer musings (by Knuth) and other Donald E. Knuth lectures)

  • Computer Science Courses
    (Includes introduction to computer science and computing systems, computational complexity and quantum computing, the c programming language, multicore programming, statistics and data mining, combinatorics, software testing, evolutionary computation, deep learning, data structures and algorithms and computational origami.)