Computer Science Video Lectures
Don't forget to check my other posts on Computer Science and Theoretical Computer Science video lectures.
Here are this month's video lectures, most of them from New Jersey Institute of Technology and some from Google, and other places.
A Taste of Haskell (Functional Programming Language)
Description:
Haskell is the world's leading purely functional programming language that offers a radical and elegant attack on the whole business of writing programs. In the last two or three years there has been an explosion of interest in Haskell, and it is now being used for a bewildering variety of applications.
In this tutorial, the lecturer will try to show you why programming in Haskell is such fun, and how it makes you think about programming in a new way.
He's going to use xmonad as his running example; it's an X11 window manager written entirely in 500 lines of Haskell. Based on xmonad he will show you how to
- write functional programs
- test them using QuickCheck
- write imperative programs
- call foreign functions
- use Haskell for scripting applications
Object-Oriented Programming in C++
Lecture description:
This course covers the fundamentals of Object Oriented programming. It introduces object oriented concepts, such as data abstraction, encapsulation, inheritance, dynamic binding, and polymorphism, and uses C++ as the tool for illustrating and implementing these concepts. The object oriented paradigm is systematically employed in the design of all programs. The effects of this methodology on the software maintenance, extensibility and reuse will be studied.
Course topics:
Object-Oriented Concepts. C++ Data Types. C++ Functions. Classes. Class Member Functions. Inheritance. Polymorphism. Templates. I/O (Input/Output) Streams. Exception Handling. Container Classes. Object-Oriented Design. Case Studies.
Java Programming
Applications Development and Java
Brief description of both lecture courses:
Java Programming Language. Java goals. Platform independence. JRE. Java implementations. Automatic memory management. Java applets and servlets. JSP (Java Server Pages). Swing applications. Object oriented programming.
Operating Systems
Lectures contain:
Introduction. Processes. Threads. Deadlocks. Synchronization operations. Interprocess communications. CPU scheduling. Memory management. Paging. Virtual memory. File systems. FS implementations. Networking.
Data Mining
Video course description:
Covers the concepts and principles of association rule mining, decision trees, clustering, Web information retrieval and integration, Web mining, time series data mining and graph mining. Hands-on experiences include the design and implementation of (1) an association rule mining tool for transactional databases, (2) a text mining system, and (3) a web mining system, using ORACLE/SQL and high level programming languages such as C++ or JAVA
Video course contents:
Association Rule Mining. Classification. Clustering. Text Mining. Web Information Retrieval (Keyword Based Search Engines). Web Information Retrieval (Query Based Systems). Mediators, Wrappers and Data Warehousing. Web Mining and Crawling. Time Series Data Mining. Graph and Complex Structure Mining. Advanced Data Mining. New Applications.
Cluster Computing and MapReduce (Google Lectures)
- Lecture I - Introduction to Distributed Systems (Slides, Tutorial)
Distributed systems overview, review of synchronization and networking. - Lecture II - MapReduce (Slides, Tutorial)
Overview of the MapReduce programming model. - Lecture III - Distributed File Systems (Slides, Tutorial)
Overview of distributed file systems with attention to the Google File System. - Lecture IV - Clustering Algorithms (Slides, Tutorial)
Types of clustering algorithms, MapReduce implementations of K-Means and Canopy Clustering - Lecture V - Graph Algorithms (Slides, Tutorial)
Graph representations, distributed Pagerank, distributed Dijkstra. - All Lectures
Internetworking and Higher Layer Protocol
Course contains:
Computer Networks and the Internet. The Application Layer. The Transport Layer. Multimedia Networking. Security in Computer Networks. Wireless and Mobile Networks.
Data Communications & Networking
Course contains:
Types of Networks (Point-to-point Connections, Circuit-switched Networks, Message-switched Networks, Packet-switched Networks). Types of Equipment (End Systems, Intermediate Systems). Types of Packet-Switched Networks (Wide Area Networks (WANs), Internet Service Providers (ISPs), Local Area Networks (LANs)). Types of Communication (Client to Server, Broadcast, Unicast and Multicast, Simplex, Duplex and Half-Duplex Information Flow). Open System Interconnection. Protocol Layers. Communications Between Layers.
Network Interface Design
Class topics:
Communication techniques, systems and components; Computer network and internetworking fundamentals; Computer network interfaces, data communication devices and system; Layer 1, 2, 3, et al, protocols, devices and systems; Modems, hubs, bridges, routers, gateways, mutilplexers, switchers, etc.
Data Management System Design
Course outline:
The objective of the course is to give an advanced presentation of the concepts of designing, organizing, querying and managing relational databases. The students learn the latest of the SQL standard and get hands on experience on creating, populating, querying, maintaining and managing a relational database using a modern database management system.
Course topics:
Conceptual Modeling: the Entity-Relationship (ER) model and the enhanced ER model. • The Relational Model: concepts, integrity constraints, update operations, relational algebra. From Conceptual Models to Logical Models: mapping the ER model to the relational model. The Standard Database Language SQL: data definition, integrity constraints, schema changes, basic and complex queries, aggregate functions and grouping, data change statements, views, complex constraints, embedded SQL, cursors, dynamic SQL, JDBC. Active Databases: active database rules, triggers. Database Physical Organization: file organizations, external hashing, indexing, B-trees. Query Evaluation: operator evaluation, algorithms for relational operators, query optimization. Formal Database Design Theory: functional and other dependencies, dependency inference, normal forms, schema decomposition, normalization. Database Management System Implementation Issues: transaction processing, concurrency control.
Information Systems Evaluation
Course goals:
To give you enough background about information systems theory and research methods so that you can critically read and understand the research articles that appear in leading IS journals such as MISQ, JMIS, Information Systems Research, ACM publications, and the human-computer interaction journals.
Information Systems Principles
Course description:
This course introduces the field of Information Systems. We examine the major areas in the field, analyzing the major issues, trends and problems. We survey the role of information systems in organizations and how they relate to organizational objectives and organizational structure. We discuss basic concepts such as the systems point of view, the organization of a system, and the nature of information and information flows. We examine various types of information system applications for supporting different departments and operations inside organizations, decision support, knowledge management and electronic commerce. We also will focus on ethical issues concerning information and systems.
Course objectives:
- developing a thorough understanding of information systems and IS concepts
- viewing an individual information system as a combination of the technology, people and data that support business (or other) work processes
- applying IS frameworks and other ways of thinking about IS effectively, to help understand systems and situations, and their effects on organizations and people
- developing a foundation for making ethical choices and policies about IS and ICTs (Information and Communications Technologies)
- understanding how IS and ICTs can be used strategically by organizations and people
- determining how IS and ICTs add value to organizations
- learning how to review articles and cases effectively
Management of Computer and Information Systems
Brief course description:
Management of the development, planning, and utilization of information systems within organizations. Focuses on the current literature in the management of information systems. Topics include the approval and decision process for the development of systems, use of steering committees and various approaches to user involvement. Utilizes a number of Harvard University case studies.
Computer Mediated Communication Systems
Brief course description:
Seminar for students contemplating research in the following areas: designs and the impact of, computer-based systems for human communication, including electronic mail, computer conferencing, Computer-Supported Cooperative Work (CSCW), Group Decision Support Systems (GDSS), the Internet and the World Wide Web. Topics include alternative design structures, impacts of primarily text-based asynchronous group communication, and recent empirical studies.
Computers and Society
Course contains:
History of Computers and Theoretical Perspectives of Computing Research. Research Methodology Used by Social Researchers of Computing. Introduction to Ethical Analysis. Doing Ethical Analysis. Social Issues Caused by the Rise of Computer Technology. Equity, Gender, Access and the Digital Divide. Computers and Medicine/ Computers and Emergency Response. Computers, Government, and the Military. Computers, Work and the Economy. Privacy & Civil Liberties. Computer Crime and Computer Security. Intellectual Property. Professional & Legal Responsibilities, Accountability, Liability, and Risk Management.
Human-Computer Interfaces
Course description:
Human factors in development of software. Use of database systems. Design of user interfaces for interactive systems. Science base (theories, models, usability studies, and controlled experimentation). Software engineering with user interface development environments. Command languages. Forms. Menus. Direct Manipulation. GUIs (graphical user interfaces). IO (Input/Output) devices. World Wide Web design. Computer Supported Cooperative Work. Information Search and Visualization. Display Design.
There are many more non computer science related video courses on New Jersey Institute of Technology website, such as: World Literature, Project Management, International Business, Calculus, Proposal Writing, and others.
Here are some more related and interesting video lectures:
Tangible Functional Programming (by Conal Elliott)Lecture abstract:
We present a user-friendly approach to unifying program creation and execution, based on a notion of "tangible values" (TVs), which are visual and interactive manifestations of pure values, including functions. Programming happens by gestural composition of TVs. Our goal is to give end-users the ability to create parameterized, composable content without imposing the usual abstract and linguistic working style of programmers. We hope that such a system will put the essence of programming into the hands of many more people, and in particular people with artistic/visual creative style.
In realizing this vision, we develop algebras for visual presentation and for "deep" function application, where function and argument may both be nested within a structure of tuples, functions, etc. Composition gestures are translated into chains of combinators that act simultaneously on statically typed values and their visualizations.
Comparing Java Web Frameworks (a lecture by Matt Raible)
Lecture contains:
Introduction. Web Frameworks. JSF. Spring MVC. Stripes. Struts. Tapestry. Wicket. Smackdown. Ajax Support. Bookmarking and URLs. Validation. Testability. Post and Redirect. Internationalization. Tools. Job Trends.
Better Web Application Framework (a lecture by Sean Kelly)
Brief description:
A webcast comparing web application frameworks (Java J2EE, Ruby on Rails, Zope/Plone, TurboGears, Django) to see what works best.
That's it this month! Business and Management lectures coming soon! :)
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) - 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.)
13 Comments:
brilliant post; i was looking for something like this. haven't fully gone thru it yet, but if they weren't mentioned: MIT's OCW and ADUNI.org have a ton of free videos as well
By Mitch, at Sat Dec 01, 08:52:00 AM 2007
Thanks for putting this up, it's much appreciated
By Sam, at Sat Dec 01, 09:15:00 AM 2007
Yes, very helpful!
Thank you very much = ]
By Anonymous, at Sat Dec 01, 02:33:00 PM 2007
I'll add my thanks and ask if you might track down all the elusive GIMP videos out there.
Again, thanks for taking the time to track down the videos you already have linked on your blog. It's quite kind of you.
By Anonymous, at Sat Dec 01, 02:41:00 PM 2007
Great lead on NJIT courses. I intend to blog and link back to you. In addition, folks may be interested in this engineering learning wiki I maintain ... with lots of high quality links to engineering courses and seminars. You can access the wiki at http://econtent.wikispaces.com/
By Anonymous, at Sat Dec 01, 06:26:00 PM 2007
Hey, thanks! I, as others have said, I was looking for just this very thing! I love reading, but learning with video resources along side of text really helps me grasp information better.
In todays world, there is no reason people cannot learn anything that they wish to - there are just too many free resources available.
Thanks again!
By Matt, at Sat Dec 01, 10:52:00 PM 2007
Hi
Thank you so much for this wonderful stuff.
I was wondering if you could plzzz find video lectures for DISTRIBUTED SYSTEMS.
thnx
By Rajyavardhan Mishra, at Sat Dec 15, 02:01:00 AM 2007
Look at this site too:
http://showmedo.com
It contains lot of programming video. (Most of them about Python.)
By Anonymous, at Fri Jul 18, 05:42:00 PM 2008
Your effort is highly praiseworthy and indeed helpful to even higher extent. I have no words to thank you but to say May you live long very happily.
By Anonymous, at Mon Nov 03, 08:58:00 PM 2008
Hey!You have done a very good job.It must be apreciated.Really,it works for me.I am heartily thankful to you for making this type of blog.Well done.
By FranceNews, at Sat Nov 29, 12:59:00 PM 2008
great post…. you have done great job….it very cool blog. linking is very useful thing you have really helped lots of people who visit this blog and provided them this usefull information. thanks a lot for this..gud luck..regards,
By Epson Continuous Ink Systems, at Fri Jun 12, 02:12:00 PM 2009
I think its the world's leading purely functional programming language that offers a radical and elegant attack on the whole business of writing programs.
By cheap computers, at Sun Aug 23, 10:19:00 AM 2009
Dear
I was looking for the data mining video lectures at this web site and I went to the url
http://cpe.njit.edu/dlvideos/CIS/CS734/index.html
but I could not view these lectures.
What should I do.
Thanks
Regards
Omar
By Anonymous, at Wed Dec 16, 10:57:00 AM 2009
Post a Comment
<< Home