Entries Tagged as 'computer science'

100 Computer Open Courses

Computer Science and Engineering

These courses offer you a chance to learn about everything from electrical engineering to the basics of computer science.

  1. Data and Processing in Computers: Learn just how computers and software work in this free course. [OpenLearn]
  2. Theory of Computation: This course will help you learn some of the more advanced theories behind how computers operate. [MIT]
  3. Introduction to Computer Science and Programming: Start from the beginning in your computer science education with this course. [MIT]
  4. Structure and Interpretation of Computer Programs: Take this course to learn some basic programming skills and how to work within computer systems. [MIT]
  5. Signals and Systems: Here you can learn about the basics of systems and signals analysis. [MIT]
  6. Topics in Theoretical Computer Science: Internet Research Problems:With so much being based around the web these days, this course will help you learn to develop systems and solve problems using the internet. [MIT]
  7. Great Ideas in Theoretical Computer Science: This course offers a great introduction to the theories of computer science, from the beginnings of computer systems to the present day. [MIT]
  8. Pervasive Human Centric Computing: Try out this course to learn about all kinds of computing devices in addition to the personal computer. [MIT]
  9. Circuits and Electronics: Through this course, students will learn the essentials of electrical engineering. [MIT]
  10. Computation Structures: Learn about engineering digital computer systems from this course. [MIT]
  11. Computer System Engineering: Check out this course to get an education on the engineering of computer software and hardware systems. [MIT]
  12. Microelectronic Devices and Circuits: This course offers learners the chance to expand their knowledge of modeling of microelectronic devices, basic microelectronic circuit analysis and design, physical electronics of semiconductor junction and more.
  13. Videogame Theory and Analysis: Study the social and educational implications of video games in this course. [MIT]
  14. Artificial Intelligence: This course will introduce students to the representation, problem solving, and learning methods of artificial intelligence.[MIT]

Computer Security

There isn’t much point in having an awesome tech setup if it’s at risk of being destroyed by hackers or digital ne’er-do-wells. These courses will help you learn to keep information and systems secure.

  1. Cryptography and Cryptanalysis: This course will introduce students to public-key encryption, digital signatures, pseudo-random number generation, and basic protocols. [MIT]
  2. Advanced Topics in Cryptography: Expand on your knowledge of cryptographic topics with this great free course. [MIT]
  3. Network Security: Learn how to secure your networks at home and at work with this course. [OpenLearn]
  4. An introduction to information security: Try out this course to learn the basics of information security. [OpenLearn]
  5. Selected Topics in Cryptography: Examine special topics in cryptography in this course, like cryptographic protocols and secure voting systems. [MIT]
  6. Network and Computer Security: Through this course you can learn everything from risk assessment to protecting software. [MIT]

Programming

Check out these courses to learn the basics of several different programming languages.

  1. Introduction to Software Engineering in Java: Take this course to learn how to use Java to build computer programs. [MIT]
  2. Building Programming Experience: If you want to expand on your existing programming knowledge, consider going through the resources offered in this course. [MIT]
  3. Java Preparation: If you know little to nothing about Java, take this course to get a good foundation. [MIT]
  4. Essential Coding Theory: Learn about the past and present of the theory of error-correcting codes. [MIT]
  5. Programming Languages: While this course uses the Scheme + programming language, you’ll learn the fundamentals that apply to many other languages as well. [MIT]
  6. Nonlinear Programming: Address some of the less straightforward problems with programming in this course. [MIT]
  7. Dynamic Programming and Stochastic Control: Learn how to make decisions under uncertain conditions when programming through this course. [MIT]
  8. A Gentle Introduction to Programming Using Python: This course will make learning Python painless and useful. [MIT]
  9. Program Analysis: Here you’ll learn how to turn a critical eye towards several major programming issues in this course. [MIT]
  10. Computer Language Engineering: Through this course you’ll learn how to implement advanced programming languages. [MIT]
  11. Introduction to C++: Go through the materials offered by this course to learn how to use C ++. [MIT]

The Web

From building a website to understanding how the web works, these courses offer a great variety of learning opportunities.

  1. Ethics and the Law on the Electronic Frontier: Examine the legal issues that face working on the web and protecting copyrights in the digital era. [MIT]
  2. Social Visualization: This course will take you through learning how to create a visual representation of the visitors to any given websites. [MIT]
  3. People-centered Design: From amusement park rides to elevators, this course will help you learn more about creating products that work for users. [OpenLearn]
  4. Designing Sociable Media: Learn how the design of a website influences how people use it to interact and get a chance to build your own social media in this course. [MIT]
  5. Flash: If you’ve never learned how to use Flash, this course offers a great introduction. [USU]
  6. Learn and Apply HTML: Most of the web is still based around an HTML framework, so learning how to use the programming language through this course can be a big help. [USU]
  7. Fundamentals of Computational Media Design: Take this course to learn about the history of 20th century art and design from the perspective of the technologist. [MIT]
  8. Interactive Multimedia Production: Through this course you’ll use Flash to build online programs that users can interact with. [USU]
  9. Writing on Contemporary Issues: Culture Shock! Writing, Editing, and Publishing in Cyberspace: This English course teaches students some of the challenges and advantages to publishing work online. [MIT]

Software

Learn more about the world of software engineering and design from these courses.

  1. Computer Graphics: Learn how to build computer graphics in this course that teaches students about the computer graphics hardware, algorithms, and software needed. [MIT]
  2. User Interface Design and Implementation: A great program isn’t particularly useful if it isn’t user friendly, and this course will focus on teaching how to build great, easy-to-navigate interfaces. [MIT]
  3. The Software Business: If you’ve got a great idea for a software product, you can use this course to learn about the business side of things and how you can get your product on the market. [MIT]
  4. Laboratory in Software Engineering: Through this course students will be able to learn how to build software from the ground up. [MIT]
  5. Structure and Interpretation of Computer Programs: Take this course to learn how to apply computer programming methods to solve computational problems. [MIT]
  6. Foundations of Software Engineering: This introductory course is a great place to get started learning more about software engineering. [MIT]
  7. Common Sense Reasoning for Interactive Applications: Take advantage of the knowledge users already process when designing user interfaces in this course. [MIT]
  8. Program Analysis: Learn how to look critically at the way programs are working with a little help from this course. [MIT]
  9. Designing the user interface: text, colour, images, moving images and sound: Learn about the important role all of these aspects play in engaging users. [OpenLearn]

Information Technology

Whether you want to be an IT professional or just get a better understanding of the field, these courses can help.

  1. Database Systems: Here you can learn about the foundations of database systems. [MIT]
  2. Information Technology I: Take this introductory course to learn about some of the essentials in information technology. [MIT]
  3. Global Issues in Information Technology: Learn how culture influences how technologies are used in this course. [TWB]
  4. Database, Internet, and Systems Integration Technologies: This course is billed as an intensive review of information technology topics, including software development, databases and web development. [MIT]
  5. Data Structures and Programming Methodology: This course will teach you about the math used in information technology and the multiple ways information and data can be organized. [UC Berkeley]
  6. Computer Networks: Through this course you’ll learn more about global networks and the principles on which they are organized. [MIT]
  7. Networks: Theory and Application: Here you can learn about a variety of networking topics from social networks to applications in information networks such as the Internet. [U of Michigan]
  8. Information Technology and the Labor Market: Learn how the prevalence of IT is reshaping the American labor market. [MIT]
  9. Information Technology Essentials: Make sure you’ve got down the basics of what it takes to understand information technology with some guidance from this course. [MIT]
  10. Practical Information Technology Management: Take this course to learn how to make sound business decisions when it comes to IT. [MIT]

Communication Technology

These courses address everything from cell phones to communication systems.

  1. High Speed Communication Circuits and Systems: This course will address the important issues in circuit design in communication devices. [MIT]
  2. Data Communication Networks: Learn why networks are structured the way they are and how they might change in the future in this course. [MIT]
  3. Communicating in Cyberspace: Here students will learn to think critically about developing communications systems for use on the internet. [MIT]
  4. Digital Communications: Take a closer look at optical fiber links in this course. [MIT]
  5. Principles of Wireless Communications: This course will cover the design, analysis, and fundamental limits of wireless transmission systems.[MIT]
  6. Intro to Tech Communication: While having technical knowledge is great, this course addresses how to improve communication so you can get your ideas out there. [MIT]
  7. Communication Systems Engineering: Learn what goes into designing and building communications systems for aerospace, satellites, and deep space devices. [MIT]
  8. Transmission of Information: This course will help you learn more about the quantitative theory of information. [MIT]
  9. Communication Systems I: Split into two parts, this first course will teach students about basic analog systems. [USU]
  10. Principles of Digital Communications: This course will help students gain a better understanding of how modern communication devices work. [MIT]

Technology in Education

Use these courses to get an idea of how technology is changing education.

  1. Technologies for Creative Learning: Take a look at this course to consider how technology can help people learn new things in exciting ways. [MIT]
  2. Computer Games and Simulations for Investigation and Education: This course will teach you how people learn from interactive computer environments and encourage students to develop their own learning systems. [MIT]
  3. Educational Technologies in Learning Theories: Through this course you can learn about several different learning theories and the role technology can play in each of them. [TWB]
  4. Producing Distance Education Resources: Learn how to build better resources for distance learning through this course. [USU]
  5. Networks for Learning: Here you can take a course that focuses on the problem of supervised learning within the framework of Statistical Learning Theory. [MIT]
  6. How to Learn (Almost) Anything: Check out this course to learn how digital technologies can be used to teach just about anything. [MIT]
  7. Digital Libraries: Learn more about the future of the library through this course. [U of Michigan]
  8. Technological Tools for School Reform: From cheap laptops to schools better using technology, this course offers ideas for change through a technological lens. [MIT]
  9. Information and Communication Technology in Education: In this course you’ll learn why it’s so important to teach students how to use computers. [TWB]
  10. Blogs, Wikis, New Media for Learning: Take a look at this course to discover what role these new technologies might play in the classroom. [USU]
  11. Autism Theory and Technology: In this course you’ll learn not only about autism, but also about the role technology can play in making it easier for these kids to learn and interact with others. [MIT]

Tech Math

Make sure you understand the principles behind the technology you’re using with these great courses.

  1. Introduction to Algorithms: Take a look at this course material to get a handle on the basics of algorithms. [MIT]
  2. Introduction to Mathematical Programming: This course will take you through the numbers behind all the programming. [MIT]
  3. Distributed Algorithms: Learn about the latest research in this field through this informative and cutting-edge course. [MIT]
  4. Automata, Computability, and Complexity: Take this course to learn more about topics like finite automata and regular languages, context-free languages, Turing machines, partial recursive functions and more. [MIT]
  5. Mathematics for Computer Science: Math is important to computer science, so learn how to do everything from the basics to more complex problems in this course. [MIT]
  6. Probabilistic Systems Analysis and Applied Probability: We live in an uncertain world, and this course offers a chance to understand the math behind probability. [MIT]
  7. Advanced Calculus for Engineers: If you’re more focused on the design side of things, this course can give you the math background you need. [MIT]
  8. Topics in Theoretical Computer Science: An Algorithmist’s Toolkit: Take this course to learn about some of the geometric tools used in defining algorithms. [MIT]
  9. Quantum Computation: In this course you’ll get a chance to learn about the physics of information processing, quantum logic, and quantum algorithms. [MIT]
  10. Principles in Applied Mathematics: Here you’ll learn about the role math plays in coding, engineering and more. [MIT]

Technology and Society

Take these courses to learn about the cultural and social implications of technology.

  1. Technology in American History: Going back to colonial times, this course will address the role in which technology has played in shaping American history. [MIT]
  2. The History of Computing: Learn about computers from their infancy to the present day in this course. [MIT]
  3. Technology and Nature in American History: Take this course to learn how the term “nature” has been shaped by industrial practices. [MIT]
  4. Technology and Gender in American History: Technology is often considered a man’s world, but this course addresses the myriad of roles women have played and the changing relationship between the sexes and new technology. [MIT]
  5. Technology in a Dangerous World: Check out this course to better understand the relationship between terrorism and technology. [MIT]
  6. Technology and Culture: Here you’ll learn about the effects technology has had on culture around the world and whether or not it has changed things for the better. [MIT]
  7. The Anthropology of Computing: Look at computers and their role in human society from an anthropological standpoint in this course. [MIT]
  8. Introduction to the History of Technology: While you might be more interested in modern technology, understanding the roots of the gadgets you use could be useful, and this course will educate you on just that. [MIT]
  9. Social and Political Implications of Technology: Take a look at how technology influences how society is organized and how people behave in this course. [MIT]
  10. Cultural History of Technology: This course explains that the idea of technology is relatively new and explores the effect it has had on how people define themselves and their world. [MIT]From: onlinecourses.org

Computing Research that Changed the World: Reflections and Perspectives

From CCC

Slides by Session
Introductory Session: Changing the World

[ 992 KB | PDF] [Download Video (181 MB) | Watch at Youtube (12:35)]
Ed Lazowska (University of Washington)

Session 1: The Internet and the World Wide Web

Why We’re Able to Google
[1.1 MB | PDF] [Download Video (181 MB) | Watch at Youtube (19:41)]
Alfred Spector (Google)

The Magic of the “Cloud”: Supercomputers for Everybody, Everywhere
[2.9 MB | PDF] [Download Video (277 MB) | Watch at Youtube (17:36)]
Eric Brewer (University of California, Berkeley)

Human Computation
[1 MB | PDF] [Download Video (168 MB) | Watch at Youtube (11:50)]
Luis von Ahn (Carnegie Mellon University)

Session 2: Evolving Foundations

Security of Online Information
[208 KB | PDF] [Download Video (263 MB) | Watch at Youtube (19:26)]
Barbara Liskov (Massachusetts Institute of Technology)

Learning to Improve Our Lives
[Download Video (256 MB) | Watch at Youtube (17:34)]
[4.7 MB | PDF] [5.2 MB | helicopter.wmv (0:28)] [2.4 MB | quadruped.wmv (0:26)]
Daphne Koller (Stanford University)

Global Information Networks
[768 KB | PDF] [Download Video (340 MB) | Watch at Youtube (20:11)]
Jon Kleinberg (Cornell University)

Session 3: The Transformation of the Sciences via Computation

Supercomputers and Supernetworks are Transforming Research
[1.5 MB | PDF] [Download Video (258 MB) | Watch at Youtube (14:38)]
Larry Smarr (University of California, San Diego)

Computing and Visualizing the Future of Medicine
[Download Video (261 MB) | Watch at Youtube (16:03)]
[3.3 MB | PDF] [49.6 MB | Quicktime Movie (9:26)]
Chris Johnson (University of Utah)

Zooming In On Life
[Download Video (267 MB) | Watch at Youtube (18:09)]
[3.5 MB | PDF] [21.9 MB | Quicktime Movie (2:51)]
Gene Myers (Howard Hughes Medical Institute)

Session 4: Computing Everywhere!

Sensing Everywhere!
[2.5 MB | PDF] [Download Video (287 MB) | Watch at Youtube (18:23)]
Deborah Estrin (University of California, Los Angeles)

Pixels Everywhere!
[2 MB | PDF] [Download Video (391 MB) | Watch at Youtube (22:06)]
Pat Hanrahan (Stanford University)

Robots Everywhere!
[2.1 MB | PDF] [Download Video (280 MB) | Watch at Youtube (17:39)]
Rodney Brooks (Massachusetts Institute of Technology and Heartland Robotics)

Closing Session

[Download Video (211 MB) | Watch at Youtube (15:05)]
Ed Lazowska (University of Washington)

Demonstrations (available during the closing session)

Autonomous Flying Robots: A Bird’s Eye View

Brian J. Julian (Massachusetts Institute of Technology)
[Download Video (115 MB) | Watch at Youtube (5:20)]

Information Technologies to Support the Challenges of Autism and Related Developmental Disorders

Gregory D. Abowd (Georgia Institute of Technology/Emory University Health Systems Institute)
Gillian Hayes (University of California, Irvine)
Julie Kientz (University of Washington)
[Download Video (88 MB) | Watch at Youtube (3:56)]

Personal Environmental Impact Report (PEIR)

Jeff Burke (University of California, Los Angeles REMAP and CENS)
Deborah Estrin (University of California, Los Angeles CENS)
[Download Video (137 MB) | Watch at Youtube (5:46)]

Scientific Computing and Visualization for Medical Image Analysis

Ross Whitaker (University of Utah and the Scientific Imaging and Computing Institute)
[Download Video (127 MB) | Watch at Youtube (5:38)]

Play

Stanford Engineering Everywhere – Free Courses

What is Stanford Engineering Everywhere?

Stanford Engineering Everywhere is an online portal offering ten courses from Stanford’s School of Engineering— including the three-course introductory sequence in Computer Science— free of charge.

SEE offers course content available to Stanford students including instructional videos, reading lists and materials and class assignments. And SEE allows you to communicate with fellow SEE students online.

SEE encourages fellow educators to use Stanford course materials in their own classrooms.

Note: SEE courses cannot be taken for credit and do not include access to Stanford-restricted computers, libraries, or services. Content may not include all the material used in the campus offering and cannot be used for commercial purposes.

View FAQ’s – About See

How Do I Use Stanford Engineering Everywhere?

SEE users may pick and choose the materials that best meet their needs and interests. Want a refresher course on a particular programming concept? View a video lecture that covers the basics. Are you a programming novice? Spend several weeks viewing lectures, reading course materials and tackling class assignments. Test your knowledge by taking quizzes and exams.

For Students:
You can have all or some of Stanford’s world-class educational experience at your convenience. And best of all, it’s free. SEE courses include the same video lectures, assignments, exams and solution sets (where appropriate) used by Stanford students.

You can also select only those materials that meet your educational needs. You may download only course notes or the complete set of lecture videos. SEE offers courses in three of its most popular disciplines: Artificial Intelligence, Introduction to Computer Science, and Linear Systems and Optimization.

For Educators:
Educators around the world can use material from popular Stanford courses in their own classrooms. Whether it is a handout or a full set of course materials, SEE materials are available to educators free of charge under the Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License (http://creativecommons.org/licenses/by-nc-sa/3.0/legalcode). SEE allows educators worldwide to use and tailor course materials to meet the needs of their own students.

Introduction to Computer Science

Programming Methodology

Programming Abstractions

Programming Paradigms

More Courses

Tim Berners-Lee: And this is just the beginning! Looking forward for the next 20 years.

Tim Bernes-Lee talks about the future of the web.
Campus Party 2009 São Paulo Brasil

arXig.org e-print archive from Cornell University

arXiv is an e-print service in the fields of physics, mathematics, non-linear science, computer science, quantitative biology and statistics. The contents of arXiv conform to Cornell University academic standards. arXiv is owned, operated and funded by Cornell University, a private not-for-profit educational institution. arXiv is also partially funded by the National Science Foundation.

Physics

Mathematics

Nonlinear Sciences

Computer Science

Quantitative Biology

Statistics


About arXiv

Stanford Engineering Everywhere

Stanford Engineering Everywhere is an online portal offering ten courses from Stanford’s School of Engineering— including the three-course introductory sequence in Computer Science— free of charge.

SEE offers course content available to Stanford students including instructional videos, reading lists and materials and class assignments. And SEE allows you to communicate with fellow SEE students online.

SEE encourages fellow educators to use Stanford course materials in their own classrooms.

Note: SEE courses cannot be taken for credit and do not include access to Stanford-restricted computers, libraries, or services. Content may not include all the material used in the campus offering and cannot be used for commercial purposes.

Link to Courses

FAQ